Basic http auth + unicode = error

Description
It is not possible to send a basic http authentication using a username or password that contains Unicode data.
What happens
UnicodeEncodeError is thrown. Traceback:
  File "(my code)", line 163, in _get
    auth=(self.user, self.password))
  File "/usr/local/lib/python3.5/site-packages/requests/api.py", line 67, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/requests/api.py", line 53, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/requests/sessions.py", line 454, in request
    prep = self.prepare_request(req)
  File "/usr/local/lib/python3.5/site-packages/requests/sessions.py", line 388, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/usr/local/lib/python3.5/site-packages/requests/models.py", line 297, in prepare
    self.prepare_auth(auth, url)
  File "/usr/local/lib/python3.5/site-packages/requests/models.py", line 490, in prepare_auth
    r = auth(self)
  File "/usr/local/lib/python3.5/site-packages/requests/auth.py", line 51, in __call__
    r.headers['Authorization'] = _basic_auth_str(self.username, self.password)
  File "/usr/local/lib/python3.5/site-packages/requests/auth.py", line 31, in _basic_auth_str
    b64encode(('%s:%s' % (username, password)).encode('latin1')).strip()
UnicodeEncodeError: 'latin-1' codec can't encode character '\u0171' in position 7: ordinal not in range(256)

Expected behavior
The authentication is encoded as utf-8 (at least if charset=utf-8 is provided in the header).
How to reproduce
Consider the following request:
        user = 'űser'
        password = 'páéáésswőrd'
        response = requests.get(
            url='http://example.com'
            headers={'Content-Type': 'application/xml; charset=utf-8'},
            auth=(user, password))

I think that the culprit is this line (https://github.com/kennethreitz/requests/blob/master/requests/auth.py#L32), which assumes latin-1 encoding regardless of the charset header:
def _basic_auth_str(username, password):
    """Returns a Basic Auth string."""

    authstr = 'Basic ' + to_native_string(
        b64encode(('%s:%s' % (username, password)).encode('latin1')).strip()
    )

    return authstr

Workaround
This seems to work:
    from requests.auth import to_native_string

    # ... snip ...

        auth = 'Basic ' + to_native_string(b64encode('{}:{}'.format(self.user, self.password).encode('utf-8')).strip())
        response = requests.get(
            url=self.base_url + uri,
            headers={
                'Content-Type': 'application/xml; charset=utf-8',
                'Authorization': auth
            })

Version info
$ pip show requests

---
Metadata-Version: 2.0
Name: requests
Version: 2.9.1
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email<EMAIL_ADDRESS>Installer: pip
License: Apache 2.0
Location: /usr/local/lib/python3.5/site-packages
Requires:
Classifiers:
  Development Status :: 5 - Production/Stable
  Intended Audience :: Developers
  Natural Language :: English
  License :: OSI Approved :: Apache Software License
  Programming Language :: Python
  Programming Language :: Python :: 2.7
  Programming Language :: Python :: 3
  Programming Language :: Python :: 3.3
  Programming Language :: Python :: 3.4
  Programming Language :: Python :: 3.5

Yeah, that looks like a bug.
I think in this case the best fix is to allow the user to provide bytestrings for the username and password, and if they do that to simply use the bytestring directly rather than to try to encode.
Are you interested in providing a test and patch for this?

@Lukasa Gladly, but I'm a bit overburdened at the moment. I'll have spare time in 2-3 weeks, if it's still open, I'll take a peek.

Ok cool, I'll mark this as contributor friendly and if no-one else picks it up by the time you have time you should take a swing at it.

Hello, @lukasa!
Your idea about byte strings looks very good and fully matches the white spaces in spec.
But.
There are two ways to release your idea:

Save user/pass in bytes. Looks not good, because in fact we always need to check type of variable, before use it.
Convert user/pass to strings in init(). Looks not good, because we lose the original values.

And last, I think 95% peoples will be write code like this:
u = 'Дмитрий' # my name in Russian
p = 'password'
r = request.get(url, auth=(u.encode('utf-8'), p))

To my mind, it looks not 'for humans'.
Without this patch we can write this for same result:
r = request.get(url, auth=(u.encode('utf-8').decode('latin1'), p))

But we can change only one line of code:
- b64encode(('%s:%s' % (username, password)).encode('latin1')).strip()
+ b64encode(('%s:%s' % (username, password)).encode('utf-8')).strip()

After that the same code will look as:
r = request.get(url, auth=(u, p))

It looks for Humans :)
What do you think about all this?
Sorry for my grammar.

@klimenko It does look better that way, but it's unfortunately just moving the problem. Now anyone whose server is expecting a non-UTF-8 encoded username is going to get tripped up, and so we'll have to re-open this issue when someone says "my server wanted Latin1 and now doesn't get it".
It's better to use bytestrings because that way we avoid making a guess that is wrong. If the users still want the helpful automatic choice, they can pass a unicode string, but if they want to do something more specific we have an escape hatch for them.

Hi guys, I would like to take a crack at this.

@rmhasan thanks for the interest in contributing! It may be important to note that PR #3673 is already open to address this. You may want to keep an eye on the outcome of that before spending time working on a solution.

@nateprewitt I will keep an eye on it, thanks.

Resolved by #3673.

Thanks, I got past it!


⚠ Mobitopup has degraded performance

In 32693be, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 5280 ms

Resolved: Mobitopup performance has improved in f22e1e4.


CESQL v1 fixes

This PR updates the CESQL implementation here to match the changes made in the spec v1 that was approved today. Since there are a lot of changes, I've tried to organize them by commit

There is one more change I would like to include (either as a follow up or in this PR), but I wasn't sure what the API should be for it:
Currently this SDK only supports the "fail fast" error handling mode, where the CESQL engine returns as soon as it encounters an error. However, I would like to allow users to choose which error handling strategy they would like to use (and then maybe default to fail fast to avoid breaking changes as much as possible). Any ideas on what a good API could be for that?

cc @duglin @pierDipi @embano1

rebase is needed

@duglin can you re-check?

@duglin for second approval/merge

LGTM, thanks for the work, @Cali0707

rebase needed

Just a few minor comments, none should stop this from being merged though.
so LGTM once the rebase is one and @Cali0707 says it's ready to go after looking at the comments.


Gamecaster.Gamecaster version 4.0.2109.2802

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hello @FedeIlLeone, During installation testing, this application failed to install without user input. Did you forget to add Silent or SilentWithProgress switches?
This can also happen when a dependency is missing. You can test with https://github.com/microsoft/winget-pkgs#test-your-manifest.
Please investigate a fix and resubmit the Pull Request.
You may also try using the Windows Package Manager Manifest Creator to determine the proper installer type. If the installer type is MSIX, MSI or a known installer technology like NullSoft, Inno, etc. the wingetcreate tool can detect then the winget client will know what switches to pass. If it's a .exe installer of an unknown type, you will need to search to determine the proper switches for Silent and SilentWithProgress.

Can someone help me with this? I couldn't test the installation.


Create a Gallery iOS test that we can run on Saucelabs Real Device Cloud

See:
https://saucelabs.com/devices
https://wiki.saucelabs.com/display/DOCS/Real+Device+Testing
Related: #7087

Yes! :)

Decided the this won't give us a sufficient signal on top of what we already have. Closing this.


Suffix in mapping are also used as prefix

Describe the bug
Defining a suffix in a mapping is also used as prefix.
To Reproduce
Excerpt from mapping.yml:
        - pattern: 'Name ~ "!start!TF1!~!Series?!~!(Films?)?!end!" OR Name ~ "!start!HD1!end!"'
          attributes:
            name: 'TF1 Séries Films'
            id: 'TF1SeriesFilms.fr'
            chno: '20'
            logo: 'https://upload.wikimedia.org/wikipedia/commons/d/d4/Logo_TF1_S%C3%A9ries_Films_2018.jpg'
          suffix:
            name: '<tag:quality>'
            group: 'FR|TNT'
          assignments:
             title: name

With this added suffix.name, the tvg-name result is as tvg-name=" [HD]TF1 Séries Films [HD]"
Expected behavior
I would have expected the suffix to only be used as a suffix not prefix such as tvg-name="TF1 Séries Films [HD]"
Tried workaround
I've tried to define a supplemental prefix.name with an empty string or even random content, but the output remain the same.
        - pattern: 'Name ~ "!start!TF1!~!Series?!~!(Films?)?!end!" OR Name ~ "!start!HD1!end!"'
          attributes:
            name: 'TF1 Séries Films'
            id: 'TF1SeriesFilms.fr'
            chno: '20'
            logo: 'https://upload.wikimedia.org/wikipedia/commons/d/d4/Logo_TF1_S%C3%A9ries_Films_2018.jpg'
          prefix:
            name: 'foo'
          suffix:
            name: '<tag:quality>'
            #group: 'FR|TNT'
          assignments:
             title: name

At least in such case I would have expected the output be be: tvg-name="foo TF1 Séries Films [HD]" but it's not ;)
Screenshots
N/A
Desktop (please complete the following information):

OS: Linux

Additional context
Add any other context about the problem here.

Hi kumy,
thank you for your testing.
https://github.com/euzu/m3u-filter/blob/320dbb912d96d6d7fbb6ba0c24a698e22288bd47/src/mapping.rs#L165-L166
Do you see Line 166 ?  That is the Problem.
i will fix it

Thank you you for you time, creating and maintaining this project AND releasing it as OSS ;) All kudos to you
Good catch :+1:
Seems fixed. Closing


Changed the elif notation to else if

Changed the elif notation to else if per requirements in #74

Changed the keyword notation from else if to elsif, removed the whitespace, and updated the keyword count.

Changed the elif notation to else if per requirements in #74

@ekinbarut, thanks for your change. It should be from elif to elsif. I mentioned a comment on the necessary task about the latter being very typo prone which is what I think your brain did here :]
Never the less, I think @ThakeeNathees, let's talk more about this a bit but I support the rename.

@ekinbarut I'm really happy to merge this PR, but could you rename all the pocketlang unit tests where we're using the elif keyword. Because merging this currently will fail the build status.
Thanks in advance!
(here is the list of elif we've used, it would be helpful for you to rename. fmt=path : line)
.tests\examples\brainfuck.pk : 52
.tests\examples\brainfuck.pk : 57
.tests\examples\brainfuck.pk : 62
.tests\examples\brainfuck.pk : 67
.tests\examples\brainfuck.pk : 70
.tests\examples\brainfuck.pk : 76
.tests\examples\brainfuck.pk : 83
.tests\examples\brainfuck.pk : 90
.tests\examples\brainfuck.pk : 97
.tests\examples\fizzbuzz.pk : 5
.tests\examples\fizzbuzz.pk : 6
.tests\lang\controlflow.pk : 10
.tests\lang\controlflow.pk : 15
.tests\lang\controlflow.pk : 16
.tests\lang\controlflow.pk : 21
.tests\lang\controlflow.pk : 24
.tests\lang\controlflow.pk : 42
.tests\lang\controlflow.pk : 44
```

Hello @ThakeeNathees, I renamed the keywords in the unit tests and saw that they were also used in prism and the 15-minute guide, so went ahead and changed those as well.

Thanks!
And we're glad to have you here, I'll open "good first issues" more If you're interested in this project and want to learn compiler principles together.


Feature/enterspeed media type

Added functionality to push data sources for media in Umbraco 7 and 8

Ignore https://github.com/MHove89/enterspeed-source-umbraco-cms/commit/ca0c3d6e7570b8cc68270617977f9741a48915f9
Somehow I managed to remove the code in a push/pull, without getting it logged in a commit. No harm done though. The commit was intended to be reverted and therefore removed.

When we pass in null, we disable any fallback functionality in Umbraco, which we essentially do not want to do.
We cannot use fallback language on properties, if passing in a null value.

@elglogins I have adresse the different areas commented :)


Creating Additional Bills After Creating User Account Fails

Creating additional bills bill_comparison_front_end branch throws the following error:
PG::ForeignKeyViolation: ERROR: update or delete on table "users" violates foreign key constraint "fk_rails_f5fcc78f42" on table "bills" DETAIL: Key (id)=(39) is still referenced from table "bills". : DELETE FROM "users" WHERE "users"."id" = $1

It points to the following code:
        logging_in
        # reload guest_user to prevent caching problems before destruction
        guest_user(with_retry = false).reload.try(:destroy)
        session[:guest_user_id] = nil
      end
      current_user

This issue occurs when trying to add a new bill from the root page after a user account has been created and signed in with from registrations/new.

Fixed in https://github.com/codeforboston/cambridge_energy_app/pull/58


make mask value smaller by factor of 2

because the mask is now added rather than used as a boolean fill, a max negative value for the mask may lead to overflow. decrease by factor of 2

Discussion in #gpt-neo indicates that it’s ambiguous if this helps with the problem people were having. Waiting to approve until it’s clearer why some people’s code isn’t working.

Discussion in #gpt-neo indicates that it’s ambiguous if this helps with the problem people were having. Waiting to approve until it’s clearer why some people’s code isn’t working.


Fix ScaLAPACK p*syevd

While working on DLA-Future integration in SIRIUS, I stumbled upon what looks like a spurious recursion. Fixing it also uncovered some missing reinterpret_cast in solve_ (for the eigenvalues and the workspace).

Thanks @RMeli . Afaik the full scalapack eigensolver is not used in the code, only the routines which find n-lowest eigenvalues.
I don't like the reinterpret_cast in the if(std::is_same<T, X>::value), we can now actually use constexpr if. I'll try to fix it in a separate PR.

the full scalapack eigensolver is not used in the code

If it's not used another approach would be to remove it?

I don't like the reinterpret_cast in the if(std::is_same<T, X>::value), we can now actually use constexpr if.

Good point. Now that we use C++17 we could also use the less verbose std::is_same_v instead.


IDENTITY_INSERT error despite configuration

When SaveChanges() is called, IDENTITY_INSERT error arises. Generated SQL contains [Id] column, while it mustn't.
What happens:
Let's say, we have column in table that has unique key constraint set. When adding model instance to context, its Id is assigned temporary id, but insert command does not include this column (correct). After SaveChanges() is called, predictable exception is thrown, signifying that unique column has duplicated value. Temp id value is not reset back, context is then disposed. When model data changes, so that duplication exists no more, new context is generated and has model added to it. Previous temp Id is considered valid value now. New insert now contains [Id] column with temp Id value, causing SQL Server identity insert error.
Model configuration:
I've tried entity.Property(x => x.Id).UseSqlServerIdentityColumn(); and
entity.Property(x => x.Id).ValueGeneratedOnAdd();, but both cause same behaviour.
I'm aware there's workaround for this issue, but this behaviour isn't predictable at all, and i suspect is wrong. First of all, model configuration should tell context to NEVER insert Id when identity is used, no matter value in model's property.
Workaround (in case anybody stumbles upon same problem):
foreach (var entry in context.ChangeTracker.Entries())
{
	var entryId = entry.Property("Id");
	if (entryId.IsTemporary)
		entryId.CurrentValue = 0;
}

Further technical details
EF Core version: 2.1.4
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10
IDE: Visual Studio 2017 15.8.6

Also, it may be worth noting that, after first SaveChanges() fails, saved model entityEntry's OriginalValue property is temp id, instead of 0, as if this Id had already been commited.

@BratWiekszy I have not been able to reproduce this--my code is below. Could you post a runnable project/solution or full code listing like that below that demonstrates the behavior you are seeing?
public class Blog
{
    public int Id { get; set; }
}

public class BloggingContext : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        => optionsBuilder
            .UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=Test;ConnectRetryCount=0");

    public DbSet<Blog> Blogs { get; set; }
}

public class Program
{
    public static void Main()
    {
        using (var context = new BloggingContext())
        {
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            context.Add(new Blog());

            context.SaveChanges();
        }

        using (var context = new BloggingContext())
        {
            var blog = context.Blogs.Find(1);
        }
    }
}

EFerrorRepro.zip
Create db Test on local server beforehand

Duplicate of #10167 and see also #12378


Update to latest helmclient and helm v3.5.3

Towards https://github.com/giantswarm/giantswarm/issues/15176
Checklist

[x] Update changelog in CHANGELOG.md.

Tested on ginger.

Done in #726


bst1: Variables incorrectly resolved in cross junction include files

Same issue as https://github.com/apache/buildstream/issues/1485 except it also happens with bst1.

Given neither I nor anyone else seems to care about this at this point, closing.


Keep namespaces in file info responses

make swagger
curl -X GET "http://localhost:8080/list?depth=0" -H  "accept: application/json"
Response is:
[
  {
    "name": "/",
    "type": "dir",
    "fileInfo": {
      "getlastmodified": "Wed, 21 Jun 2017 11:32:22 GMT",
      "resourcetype": {
        "d:collection": {}
      },
      "quota-used-bytes": "163",
      "quota-available-bytes": "-3",
      "getetag": "\"594a59463c67c\""
    }
  }
]

Considering that the file info response comes from XML, we need to keep the namespaces in case of naming collisions. I suggest using the Clark notation:
    "fileInfo": {
      "{DAV:}getlastmodified": "Wed, 21 Jun 2017 11:32:22 GMT",
      "{DAV:}resourcetype": {
        "{DAV:}collection": {}
      },
      "{DAV:}quota-used-bytes": "163",
      "{DAV:}quota-available-bytes": "-3",
      "{DAV:}getetag": "\"594a59463c67c\"",
      "{http://owncloud.org/ns}fileid"
    }

@noveens I think you had a PR already ?

@PVince81 ,
I don't know much about DAV namespaces, hence I kept this issue open to see if there was anything else required for this.

They are actually XML namespaces, not DAV namespaces. Basically just the name of the attributes.
You could try reading a bit about XML namespaces in general.
I'm a bit surprised that this here works: https://github.com/noveens/js-owncloud-client/blob/master/owncloud/fileInfo.js#L68
I'd expect that when you keep the namespaces, it would change to something like this.fileInfo['{DAV:}getcontentlength]

@PVince81 ,
In my responses, I get something like: {d:}getcontentlength and not {DAV:}getcontentlength.
Views?

This is probably because the XML parser or the method you use from the parser is giving you the namespace alias. You need to resolve the alias back to the original namespace name. Please check the parser functions, there is likely one to get the actual namespace name.
The reason for this is that you can never predict the alias. It is not guaranteed that the DAV alias will always be "d:". The reason it's "d" is only because the Sabre server implementation decided to use this letter as alias. I saw cases where it was just "a:", "b:", "c:" depending on the order.
I expect that a user of your API would use the full namespace name, not alias, when accessing custom properties.

Cool, I'll have a look into it.

@PVince81 ,
I'm having response like this directly from my OC instance like these:
<?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns">
    <d:response>
        <d:href>/core/remote.php/webdav/</d:href>
        <d:propstat>
            <d:prop>
                <d:getlastmodified>Mon, 26 Jun 2017 08:57:43 GMT</d:getlastmodified>
                <d:resourcetype><d:collection/></d:resourcetype>
                <d:quota-used-bytes>3</d:quota-used-bytes>
                <d:quota-available-bytes>-3</d:quota-available-bytes>
                <d:getetag>"5950cc87e601e"</d:getetag>
            </d:prop>
            <d:status>HTTP/1.1 200 OK</d:status>
        </d:propstat>
    </d:response>
</d:multistatus>

@noveens yes and no. The parser you are using should already have a function to get the namespace, you shouldn't do anything manually but rely on the library. The reason is that XML also allows to specify "xmlns" on individual element instead of the root element.


Use strings builder

Hello! I'm suggesting to use the strings.Builder instead of bytes.Buffer. It's a more efficient alternative with very low cast costs.

strings.Builder is available since go1.10. It can be a break change for packages or projects importing this package.
Please consider to implement a helper builder which calls strings.Builder if it's available and uses bytes.Buffer as a fallback.

strings.Builder is available since go1.10. It can be a break change for packages or projects importing this package.
Please consider to implement a helper builder which calls strings.Builder if it's available and uses bytes.Buffer as a fallback.

done ✅

Very cool! Thank you.
I have several comments on filenames of the newly added files.

According to Go best practice, when we need to build code for specific Go version, we should add version as suffix in a name like buffer_go110.go. Therefore, buffer.go and buffer_old.go should be renamed as buffer_go110.go and buffer.go respectively.
Filename should be consistence with type name. The buffer is not a right name as the type defined in this file is bufferString. BTW, I think it would be better to name the type as stringBuilder and the file as stringbuilder.go.

Very cool! Thank you.
I have several comments on filenames of the newly added files.
* According to Go best practice, when we need to build code for specific Go version, we should add version as suffix in a name like `buffer_go110.go`. Therefore, `buffer.go` and `buffer_old.go` should be renamed as `buffer_go110.go` and `buffer.go` respectively.

* Filename should be consistence with type name. The `buffer` is not a right name as the type defined in this file is `bufferString`. BTW, I think it would be better to name the type as `stringBuilder` and the file as `stringbuilder.go`.

done ✅


Query on existing index

How to query from an existing index?
I filled up an index in Pinecode using:
docsearch = Pinecone.from_texts([t.page_content for t in texts], embeddings, index_name=index_name)

Now, I'm creating a separate .py file, where I need to use the existing index to query. As I understand I need to use the following function:
    @classmethod
    def from_existing_index(
        cls,
        index_name: str,
        embedding: Embeddings,
        text_key: str = "text",
        namespace: Optional[str] = None,
    ) -> Pinecone:
        """Load pinecone vectorstore from index name."""
        try:
            import pinecone
        except ImportError:
            raise ValueError(
                "Could not import pinecone python package. "
                "Please install it with `pip install pinecone-client`."
            )

        return cls(
            pinecone.Index(index_name), embedding.embed_query, text_key, namespace
        )

but what are the arguments there? I know only my index_name . What are the rest arguments? Embeddings are embeddings from OpenAI, right?
e.g.:
embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)

What is the text_key? And what name_space ?

Okay, seems like sending index_name and embedding is enough.

text_key is the key in the metadata where the text associated with the embeddings is stored. namespace is optional, depends if you are using it or not

Could we have an example for this please?

Hi there. I am looking for an example for querying an existing index without populating more records. Anybody happen to know how this is done? Thanks in advance!

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

Bravo....Mr. cycloner2020

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

How are you re-associating the documents themselves?

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

Bless you. Where did you find the docs to help you riddle that one out?

Should anyone need help, you can create an "ingest" file where you create your embeddings, etc. and then create a query file. In that query file, re-init Pinecone and then use something like:
embeddings = OpenAIEmbeddings()
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings, namespace="your_namespace_name")

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

Thanks, these wrappers have the worst documentation I've ever seen... half the parameters aren't explained at all. The examples are all over the place.

I ended up with a variation of this to go a level deeper into namespaces, which I use to cache my document in slices of different sizes:
see if we have populated this namespace of the index
index = pinecone.Index(index_name)
extant_namespaces = index.describe_index_stats()['namespaces']
if not name_space in extant_namespaces:
# Build a new namespace ...

text_key is the key in the metadata where the text associated with the embeddings is stored. namespace is optional, depends if you are using it or not

isn't pageContent the property with the text? is this needed if we add just texts to Pinecone instead of a Document?
I can't find any information on the difference between text and Document when saving to Pinecone, it's confusing.

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

Thanks, these wrappers have the worst documentation I've ever seen... half the parameters aren't explained at all. The examples are all over the place.

honestly though, you'd expect a team with some of the most powerful AI tools ever known to the common man might be able to drum something up... with AI for instance. The docs are written in parable form. I deeply respect the work and i'm very impressed by the diversity, reach, and output of the teams working on this project, but these notes need a lot of work. often the tutorials are incomplete, broken from an update, or otherwise not working. My embeddings were made elsewhere but fully functional with openai in that purpose - why wouldn't they be usable here?

Should anyone need help, you can create an "ingest" file where you create your embeddings, etc. and then create a query file. In that query file, re-init Pinecone and then use something like:
embeddings = OpenAIEmbeddings()
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings, namespace="your_namespace_name")

Thanks for this, was driving me nuts. You would think this would be in a 101 tutorial somewhere.

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

Was searching for hours,
Thanks!

lol glad to see that I'm not the only was who was searching all over the docs for this simple piece of code

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

I did this, but the RetrievalQA returns text other than what's indexed, which is driving me nuts:
# imports

from dotenv import load_dotenv
from IPython.display import display
from langchain.chains import RetrievalQA
from langchain.embeddings import OpenAIEmbeddings
from langchain.llms import OpenAI
from langchain.vectorstores import Pinecone
import ipywidgets as widgets
import os
import pinecone

load_dotenv()

pinecone.init(api_key=os.environ["PINECONE_API_KEY"], environment=os.environ["PINECONE_ENV"])

index_name = "langchain-demo"

embeddings = OpenAIEmbeddings()

docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

qa = RetrievalQA.from_chain_type(
    llm=OpenAI(),
    chain_type="stuff",
    retriever=docsearch.as_retriever(),
    return_source_documents=True
)

status_text = widgets.Output()

output_text = widgets.Output(
    style={'description_width': 'initial', 'font_size': '20px'}
)

def demo(query):
    with status_text:
        print("thinking...")

    result = qa(
        {
            "query": query['new']
        }
    )

    with output_text:
        if result["result"]:
            print(result["result"])
        else:
            print("I'm sorry I don't have any idea about this ask. Try a different question?")

    status_text.clear_output(wait=False)

input_text = widgets.Text(
    continuous_update=False,
    layout=widgets.Layout(width='62%'), placeholder='What do you want to know?',
    style={'description_width': 'initial', 'font_size': '24px'}
)

# Display widget
display(
    input_text,
    status_text,
    widgets.Label(value="Summary", style={'font_size': '24px'}),
    output_text
    )

input_text.observe(demo, names='value')

Any help?

text_key is the key in the metadata where the text associated with the embeddings is stored. namespace is optional, depends if you are using it or not

Just to highlight for future readers, it seems that Pinecone indexes all metadata by default, so make sure you enable selective metadata indexing.

For js/node/nextjs guys,
//intialise pineconeClient
const pineconeIndex = client.Index(process.env.PINECONE_INDEX_NAME);
const vectorStore = await PineconeStore.fromExistingIndex(
new OpenAIEmbeddings(),//embeddings
{ pineconeIndex }
);

For JS/Node/Nextjs guys,
//intialise pineconeClient
const pineconeIndex = client.Index(process.env.PINECONE_INDEX_NAME);
const vectorStore = await PineconeStore.fromExistingIndex(
new OpenAIEmbeddings(),//embeddings
{ pineconeIndex }
);

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

you are a life saver

Whenever I do
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings, namespace=namespace)
query = "My query blah blah?"

output = vectorstore.similarity_search(query, k=6)

I get an error saying
ApiAttributeError                         Traceback (most recent call last)
[/var/folders/2k/8pygwk417nx88ph1cch271kr0000gn/T/ipykernel_17491/1263193631.py](https://file+.vscode-resource.vscode-cdn.net/var/folders/2k/8pygwk417nx88ph1cch271kr0000gn/T/ipykernel_17491/1263193631.py) in
     27 query = "What did Balaji say about fiat currency?"
     28
---> 29 output = vectorstore.similarity_search(query, k=6)
     30
     31 # retrieval_chain.run(input_documents=docs, question=query)

[~/opt/anaconda3/envs/generative/lib/python3.9/site-packages/langchain/vectorstores/pinecone.py](https://file+.vscode-resource.vscode-cdn.net/Users/yj/Developer/Dreamteam/embeddings/notebooks/~/opt/anaconda3/envs/generative/lib/python3.9/site-packages/langchain/vectorstores/pinecone.py) in similarity_search(self, query, k, filter, namespace, **kwargs)
    160             List of Documents most similar to the query and score for each
    161         """
--> 162         docs_and_scores = self.similarity_search_with_score(
    163             query, k=k, filter=filter, namespace=namespace, **kwargs
    164         )

[~/opt/anaconda3/envs/generative/lib/python3.9/site-packages/langchain/vectorstores/pinecone.py](https://file+.vscode-resource.vscode-cdn.net/Users/yj/Developer/Dreamteam/embeddings/notebooks/~/opt/anaconda3/envs/generative/lib/python3.9/site-packages/langchain/vectorstores/pinecone.py) in similarity_search_with_score(self, query, k, filter, namespace)
    130         )
    131         for res in results["matches"]:
--> 132             metadata = res["metadata"]
    133             if self._text_key in metadata:
    134                 text = metadata.pop(self._text_key)

[~/opt/anaconda3/envs/generative/lib/python3.9/site-packages/pinecone/core/client/model_utils.py](https://file+.vscode-resource.vscode-cdn.net/Users/yj/Developer/Dreamteam/embeddings/notebooks/~/opt/anaconda3/envs/generative/lib/python3.9/site-packages/pinecone/core/client/model_utils.py) in __getitem__(self, name)
    500             return self.get(name)
...
--> 502         raise ApiAttributeError(
    503             "{0} has no attribute '{1}'".format(
    504                 type(self).__name__, name),

ApiAttributeError: ScoredVector has no attribute 'metadata' at ['['received_data', 'matches', 0]']['metadata']

No idea what that's supposed to mean, but it only occurs when I add the namespace argument...

i have saved the documents in one namespace.Now I dont know how do i extract the vectors of my documents. I need it because my usecase is to find the difference between two documents and summarize it with LLM help. Seeking your support here.

In my situation, I encountered an issue due to the metadata associated with the vectors, specifically the need to include a key labeled "text" (e.g., "text": text). I found the solution to this problem in the comment at this https://github.com/langchain-ai/langchain/issues/3460#issuecomment-1583471622, which proved to be extremely helpful for me.

text_key is the key in the metadata where the text associated with the embeddings is stored. namespace is optional, depends if you are using it or not

@dmakwana What is it used for? if the embedding associated with the text_key is a closest match does it return the text_key's value from the metadata?

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

I did this, but the RetrievalQA returns text other than what's indexed, which is driving me nuts:
# imports

from dotenv import load_dotenv
from IPython.display import display
from langchain.chains import RetrievalQA
from langchain.embeddings import OpenAIEmbeddings
from langchain.llms import OpenAI
from langchain.vectorstores import Pinecone
import ipywidgets as widgets
import os
import pinecone

load_dotenv()

pinecone.init(api_key=os.environ["PINECONE_API_KEY"], environment=os.environ["PINECONE_ENV"])

index_name = "langchain-demo"

embeddings = OpenAIEmbeddings()

docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

qa = RetrievalQA.from_chain_type(
    llm=OpenAI(),
    chain_type="stuff",
    retriever=docsearch.as_retriever(),
    return_source_documents=True
)

status_text = widgets.Output()

output_text = widgets.Output(
    style={'description_width': 'initial', 'font_size': '20px'}
)

def demo(query):
    with status_text:
        print("thinking...")

    result = qa(
        {
            "query": query['new']
        }
    )

    with output_text:
        if result["result"]:
            print(result["result"])
        else:
            print("I'm sorry I don't have any idea about this ask. Try a different question?")

    status_text.clear_output(wait=False)

input_text = widgets.Text(
    continuous_update=False,
    layout=widgets.Layout(width='62%'), placeholder='What do you want to know?',
    style={'description_width': 'initial', 'font_size': '24px'}
)

# Display widget
display(
    input_text,
    status_text,
    widgets.Label(value="Summary", style={'font_size': '24px'}),
    output_text
    )

input_text.observe(demo, names='value')

Any help?

I'm having the same experience. Pinecone seems to be referencing a movie index instead of my own index. I'm not sure what's going on, and I'm tempted to try the paid version of Pinecone to see if that fixes it.

anyone faced this error
Error: type object 'Pinecone' has no attribute 'Index'

docsearch=Pinecone.from_existing_index(index_name, embeddings)
query = "What are Allergies"
docs=docsearch.similarity_search(query, k=3)
print("Result", docs)

NameError                                 Traceback (most recent call last)
Cell In[132], line 1
----> 1 docsearch=Pinecone.from_existing_index(index_name, embeddings)
3 query = "What are Allergies"
5 docs=docsearch.similarity_search(query, k=3)
NameError: name 'Pinecone' is not defined

from pinecone import Pinecone

docsearch=Pinecone.from_existing_index(index_name, embeddings)
query = "What are Allergies"
docs=docsearch.similarity_search(query, k=3)
print("Result", docs)
NameError Traceback (most recent call last) Cell In[132], line 1 ----> 1 docsearch=Pinecone.from_existing_index(index_name, embeddings) 3 query = "What are Allergies" 5 docs=docsearch.similarity_search(query, k=3)
NameError: name 'Pinecone' is not defined

try from pinecone import Pinecone

It seems from_existing_index is not supported anymore? How to load the index?
pc = Pinecone(
api_key = PINECONE_API_KEY
)
data = pc.from_existing_index(index_name, embeddings)
returns
AttributeError: 'Pinecone' object has no attribute 'from_existing_index'

docsearch=Pinecone.from_existing_index(index_name, embeddings)
query = "What are Allergies"
docs=docsearch.similarity_search(query, k=3)
print("Result", docs)
AttributeError                            Traceback (most recent call last)
Cell In[159], line 1
----> 1 docsearch=Pinecone.from_existing_index(index_name, embeddings)
3 query = "What are Allergies"
5 docs=docsearch.similarity_search(query, k=3)
AttributeError: type object 'PineconeGRPC' has no attribute 'from_existing_index'

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

not working

I actually figured it out if anyone needs the code.
docsearch = Pinecone.from_existing_index(index_name=index_name, embedding=embeddings)

Pinecone.from_existing_index(index_name=index_name, embedding=embeddings, namespace=namespace)
AttributeError: type object 'Pinecone' has no attribute 'from_existing_index'


should add mute option

i dunno add a mute option

Will be added shortly, thank you.

the audio feature was just added


qiskit.qasm3.dumps raise TypeError: only length-1 arrays can be converted to Python scalars

Environment

Qiskit version:

qiskit                    1.2.4
qiskit-aer                0.15.0
qiskit-aer-gpu            0.14.2
qiskit-algorithms         0.3.0
qiskit-ibm-provider       0.11.0
qiskit-ibm-runtime        0.30.0
qiskit-qasm3-import       0.5.0

Python version:

Python 3.12.2 | packaged by conda-forge | (main, Feb 16 2024, 20:50:58) [GCC 12.3.0] on linux

Operating system:

Ubuntu 24.04.1 LTS x86_64

What is happening?
A numpy type error raised during the execution of qiskit.qasm3.dumps .

How can we reproduce the issue?
from qiskit import QuantumCircuit
from qiskit.quantum_info import random_unitary
from qiskit.qasm3 import dumps

qc = QuantumCircuit(4)
for i in range(4):
    qc.h(i)
    qc.append(random_unitary(2),[i])

print(qc.draw())

dumps(qc)

or
from qiskit import QuantumCircuit
from qiskit.quantum_info import random_unitary
from qiskit.qasm3 import dumps

qc = QuantumCircuit(4)
for i in range(4):
    qc.h(i)
    qc.append(random_unitary(2).to_instruction(),[i])

print(qc.draw())

dumps(qc)

What should happen?
I should be able to dump this circuit to QASM3 because qiskit.qasm2.dumps can successfully dump this circuit.
Any suggestions?
This issue appears to be mentioned in https://github.com/Qiskit/qiskit/issues/12013#issuecomment-2038064846

Hi, I just reproduced the error and would like to work on this as my first contribution to Qiskit.

I don't think you should handle the matrix elements. In QASM2 the matrix params do not appear on the output; it adds the definition of the gate (i.e. a circuit composed of basic gates which implements it), and I guess QASM3 should do this as well.


Upgradlew to latest nightly

To get https://github.com/gradle/gradle/pull/14933

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.


Integration with psc-ide-server

The upcoming 0.8.5 release has insanely fast rebuilds with psc-ide-server. It keeps externs in memory and only rebuilds the module you changed resulting in an essentially instant dev cycle. pscid is one such tool to take advantage of it. Maybe there's a way to use it for the purposes of watching?

I will definitely look into integration. That would be great to speed up
the dev cycle. Thanks for the heads up!
On Tuesday, 19 April 2016, Nathan Faubion<EMAIL_ADDRESS>wrote:

The upcoming 0.8.5 release has insanely fast rebuilds with psc-ide-server.
It keeps externs in memory and only rebuilds the module you changed
resulting in an essentially instant dev cycle. pscid
https://github.com/kRITZCREEK/pscid is one such tool to take advantage
of it. Maybe there's a way to use it for the purposes of watching?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/ethul/purescript-webpack-plugin/issues/22


Using Blocking APIs inside of Tokio Runtime

There are a large number of non-async APIs that users might want to use within a larger async flow. Having a guide on how to use blocking APIs inside of a Tokio runtime would be very useful.

Tokio's blocking APIs are still not fully fleshed out (https://github.com/tokio-rs/tokio/issues/629). It probably would be worth finishing the impl work before digging into this part of the documentation?

Definitely not worth writing docs that are likely to need to change. However, we know this is a use case that we'll need to cover. Do we figure out the location and scaffolding for it now?

#49 includes some additional thoughts.

Related: https://github.com/tokio-rs/doc-push/issues/58#issuecomment-428034916

If a CPU intensive blocking task is currently running on a thread, will other partially completed non-blocking tasks that were on the same thread be moved to other threads, or will they wait for the current thread to resume?
In other words, if one thread is blocked in a task, will only new tasks be scheduled on other threads, or will partially complete old tasks be migrated to other threads so they can finish ASAP?

@carllerche So it's a valid strategy to block the event loop when I want each task to complete in the minimum possible time on a CPU core, instead of sharing CPU time on a separate blocking thread pool? i.e. If there are N CPU cores, I only want N CPU intensive blocking tasks to run at once. Other tasks should wait.

You should annotate those blocks w/ blocking.


Python Provider Analysis

Closing the PR, Opened a new one https://github.com/konveyor-ecosystem/kantra-cli-tests/pull/33


Find a way to label PRs with the relevant code owners.

Currently we assign maintainers for incoming PRs with CODEOWNERS. However, we're limited to tagging users with write access.
Seeing as a majority of our maintainers are submodule and not repository maintainers, it would be nice to devise a strategy for tagging submodule maintainers (even if it's just an @). Possibly would need to be a bot.

We had a similaire issue in keras-contrib. Maybe we can port some of the code from there: https://github.com/keras-team/keras-contrib/issues/416


<EMAIL_ADDRESS>hash check failed

It changed again from 6 days ago
Installing 'paint.net' (4.2.16) [64bit]
paint.net.4.2.16.install.zip (1.7 MB) [=======================================================================] 100%
Checking hash of paint.net.4.2.16.install.zip ... ERROR Hash check failed!
App:         extras/paint.net
URL:         https://www.dotpdn.com/files/paint.net.4.2.16.install.zip
First bytes: 50 4B 03 04 14 00 00 00
Expected:    fe70191873a1f3b26d01d35dee60a364a0a7da4e69ac70f7495ef8666c32e8e5
Actual:      955e761dca14a1c095bc13c5a5953ba8428ae3d289edb7e6b53b967b1a6bc3ca

Please try again or create a new issue by using the following link and paste your console output:
https://github.com/lukesampson/scoop-extras/issues/new?title=paint.net%404.2.16%3a+hash+check+failed

I opened the same problem twice


SPARK-9758

creating pull request for hive test code

Can one of the admins verify this patch?

Hmm, I think the correct thing would be to move the files to the correct directory. All code should be in a sub-package of org.apache.spark.

@chenghao-intel @rxin do you know what might have happened here? they were moved in https://github.com/apache/spark/commit/f6f2eeb17910b5d446dfd61839e37dd698d0860f but it looks like they're in the wrong directory.

It's best for API tests to live in a separate repository, to make sure we don't accidentally change the visibility of public APIs.

I see the point that some tests from outside the org.apache.spark package would be useful to test via only public methods. MiMa is already kind of covering this problem for the project. The rest of the Spark code does not do this, with the exception of a random class or two in core; this sets of tests does not look like it's supposed to be checking public API stability.
It doesn't look like this code was trying to be in test.org.apache.spark since it didn't declare that as the package. But then I don't know how anything ever compiled it since its package doesn't match the dir. Fixing that is fine enough but I'm also wondering whether the other ~10  instances of this in the code are accidents or on purpose.

@ashokblend just checking, does this really not compile? I'm wondering how it works for anyone, since Jenkins and my Hive builds seem OK.
@rxin do you find my argument compelling? that the idea of tests from external packages is a good one, but a separate idea? that is, I think this was just an oversight in package and file naming rather than intentional? They don't look like their purpose it to test from an external package.

Jenkins, test this please.

They should all compile with Scala. Some IDEs complain when the files are not in proper places.

@ashokblend can you update the pull request title to make this a little bit more descriptive?

Test build #1593 has started for   PR 8051 at commit 0731dd9.

Merged build triggered.

Merged build started.

Test build #1593 has finished for   PR 8051 at commit 0731dd9.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #40847 has started for   PR 8051 at commit 0731dd9.

Test build #40847 has finished for   PR 8051 at commit 0731dd9.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

I still don't understand why the right fix isn't to move the files to the same directory as all the other tests? These really do not look like some API stability / visibility tests to require a different package name.

@ashokblend are you able to follow up on the requests and comments here? otherwise do you mind closing this pull request?

@ashokblend looks like this is resolved through #8307. Would you mind closing this patch?


unprivileged users see broken content blocks in CMS interface

(low priority) issue where pages using content blocks look broken in the CMS interface to users without permissions to edit that page.
Wondering if anyone else has had a similar issue or if it's something we've done?

Hi @katieelks
Unfortunately this looks like a semi-intentional side effect from a readonlyTransformation on the ElementalAreaField, introduced as part of the work for seeing content history for a Page that houses its content in Elements (details in https://github.com/dnadesign/silverstripe-elemental/issues/181).
The long and short is that the getCMSFields on each block are rendered out as readonly via https://github.com/dnadesign/silverstripe-elemental/pull/224/files#diff-70360ce019aa6acd3b9670bd2c56b9cfR67
In order to change this, custom field types can define a performReadonlyTransformation function that can then exert control over how the output looks. These are the FormFields that are defined on an Element - I'm looking more at Events than what appears to be UploadFields for the news sections.

I don't think we should call this a feature. @katieelks can you please provide some example code (via DM if you want to keep it off GitHub) so we can see how the element code is structured?
IMO this shouldn't happen - bug

Don't think this is relevant anymore.


Have to click outside occultism search bar before being able to click into JEI search bar to erase search text

Continuation of https://github.com/klikli-dev/occultism/issues/743

@jinkhya let's see if that fixes it. It doesn't repro on my end, but live game is a different animal :D

That works perfectly :D thank you so much ! <3


fix(core): Android compilation on Windows

What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Docs
[ ] New Binding issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[ ] No

Checklist

[ ] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[ ] I have added a convincing reason for adding this feature, if necessary

Other information

The default-tls Cargo feature is a workaround until we learn how to compile openSSL for Android on Windows.


Create and apply patches for janephp issues

This also includes:

Automation for applying the patches automatically when running composer generate
Updating the jane-php lib
Generating a new client based on updated jane-php
Fixing the required date format from Docker

If you can push this to say v<IP_ADDRESS> on packagist? I can then create a PR on docker-php with the fixes for the new version with updates composer requirements.
Then I think we should be good to go.

Sorry, just realised NetworkSettingsNormalizer.patch needs to be added on the denormalizer and normalizer, I've only added it on the normalizer, I'll submit a PR with the correct patch in a second.

no worries man


Sometimes pod list is empty

Login via cmd
Call pod ls
It returns nothing
Call pod ls second time. It returns actual list of pods

could not reproduce


[Request] Operator Mono Book

Hi any chance of patching Operator Mono Book non SSm version ?

I also need regular book version. Medium version (with or without ligatures) is not looking good in PhpStorm on Windows.

@mgsmus I think that it supports OperatorMono-Book.otf and Italics version non SSm version, I have managed to patch those fonts, but most of the ligatures are missing here is snap of Vscode running on Windows.

Sorry for the delay in the non-ScreenSmart versions. I've been pretty swamped with work and family life.
Anyway, it takes about 30-45 minutes to do each weight. Plus doing the italic version as well.
I will try to get these done on Sunday.

You're awesome! :)

I've added Operator Mono Book. Still need to do italic.
Let me know what you think.

Ok, finished Operator Mono Book Italic

you are awesome, thx dude


Gems aren't cached between builds

I noticed that each time I ran my tests on travis it ran bundle install on every run.
I got the caching working by copying the .travis.yml file from another project. This is the diff
diff --git a/.travis.yml b/.travis.yml
index 099bd5a..cd68f6c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,21 +1,17 @@
+language: ruby
+rvm: 2.2.0
+cache: bundler
+sudo: false
 before_install:
-  - "echo '--colour' > ~/.rspec"
-  - "echo 'gem: --no-document' > ~/.gemrc"
-  - export DISPLAY=:99.0
-  - sh -e /etc/init.d/xvfb start
-install:
-  - bin/setup
+  - "export DISPLAY=:99.0"
+  - "sh -e /etc/init.d/xvfb start"
+before_script:
+  - cp .sample.env .env
+  - bundle exec rake db:test:prepare
 branches:
   only:
     - master
-cache:
-  - bundler
-language:
-  - ruby
 notifications:
   email: false
-rvm:
-  - 2.2.0
 addons:
   postgresql: "9.3"
-sudo: false

Do we want to cache gems? Seems like we want to re-resolve every time in order to make sure we're testing with latest and greatest everything?

I'm in favor of caching them. We can bust the cache when we want (hopefully automatically every N hours or days?), or do bundle updates locally when we'd like extra assurance.
I think tests take already too long and would be happy with gains that don't significantly reduce our confidence.

The cache is automatically busted if you change the Gemfile or the Gemfile.lock

I just pushed twice the commit implementing this, and saw no obvious improvements:

But the bundle install step does take around a minute less on builds:

I'll merge it if @derekprior is not opposed to it.

Thanks @tute


Opam install test dependencies

We've had a bit of a back-and-forth on this issue before... In general running the benchmarks requires more dependencies than the "default basic installation", so it's a better default if we also install the {with-test} libraries from the opam file (and not force the user to maintain a custom *-bench.opam)

This seems reasonable to me.


Overflow error when uploading large tarball to RCDS

From INC000001147326:

When attempting to submit a job to the grid the following messages appear and repeat every 30 seconds.

Traceback (most recent call last):
  File "/opt/jobsub_lite/lib/tarfiles.py", line 343, in wrapper
    response = func(self, *args, **kwargs)
  File "/opt/jobsub_lite/lib/tarfiles.py", line 387, in publish
    return requests.post(url, auth=TokenAuth(self.token), data=tarfile)
  File "/usr/lib/python3.6/site-packages/requests/api.py", line 112, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/lib/python3.6/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.6/site-packages/requests/sessions.py", line 651, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.6/site-packages/requests/adapters.py", line 438, in send
    timeout=timeout
  File "/usr/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 672, in urlopen
    chunked=chunked,
  File "/usr/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 387, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib64/python3.6/http/client.py", line 1254, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1300, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1249, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1075, in _send_output
    self.send(chunk)
  File "/usr/lib64/python3.6/http/client.py", line 996, in send
    self.sock.sendall(data)
  File "/usr/lib64/python3.6/ssl.py", line 934, in sendall
    v = self.send(byte_view[count:])
  File "/usr/lib64/python3.6/ssl.py", line 903, in send
    return self._sslobj.write(data)
  File "/usr/lib64/python3.6/ssl.py", line 601, in write
    return self._sslobj.write(data)

OverflowError: string longer than<PHONE_NUMBER> bytes

Will retry in 30 seconds

Probably need to upload tarballs as chunks, which requests will do if a generator is passed as the body. https://requests.readthedocs.io/en/latest/user/advanced/#chunk-encoded-requests
It gets a bit messy since we need the hash before starting the upload unfortunately.

https://requests.readthedocs.io/en/latest/user/advanced/#streaming-uploads


Built-in toon diffuse mode too bright

Godot version
v3.4.4.stable.fedora [419e713a2]
System information
Fedora Linux 36 (Workstation Edition), GLES 3
Issue description
When you set a material's diffuse mode to toon and have a light source(only tested with directional light), the lit part of the material becomes significantly brighter than normal materials of the same albedo with Burly(ddefault) diffuse mode.
This is more noticeable with the Glow effect enabled(screen mode) and shadow disabled(a separate issue of toon shader being dependent on shadowmap instead of dot product?).
Testing condition:

Directional light energy at 1
default skybox

With shadows
Without glow

With glow

Without shadows
Without glow

With glow

Steps to reproduce

New scene
Add directional light
Add mesh with toon material
Burn your retinas

Minimal reproduction project
No response

@lyuma mentioned to me about dividing by a pi constant. Do you rememeber?

Note that changing this in 3.6 will break compatibility with existing projects, unless it's made opt-in via a project setting (which could be enabled in projects created with 3.6).

@Calinou can a fix for this get into 4.0? It seems to also be happening in alpha 13 and I'd like this fixed before the freeze.

@Calinou can a fix for this get into 4.0? It seems to kind of also be happening in alpha 13 and I'd like this fixed before the freeze.

Bug fixes are not affected by the feature freeze – they can be contributed at any time :slightly_smiling_face:
I'd recommend looking into opening a pull request yourself.

@atirut-w Can you test this in 4.2.beta 6? This may be fixed as evidenced by https://github.com/godotengine/godot/pull/65544#issuecomment-1243935892.

I'll try it out this afternoon-evening, thanks. :+1:

@Calinou it is indeed fixed, in the latest master branch. The "receding shadows" issue is still present, but I think this is easily fixable by changing the order of lighting calculations. It's probably a similar issue to the ones I've encountered when making custom lightings.


Barrels not being updated

BUG I generated /app/shared/modal for a modal component, then cd’d into that modal folder and ran ng g service modal. It created the service properly, but it did not update the barrels properly. The /app/shared/index.ts barrel was reaching into the ./modal/modal.service and ./modal …. and the /app/shared/modal/index.ts did not export the new service.
cc @Brocco @hansl

@hansl I'm guessing this is not relevant because we stopped generating barrels, right?

Correct. I'm closing this. Thanks!


docs(typos): update modal title & Navbar page

Coverage remained the same at 100.0% when pulling 7ca8d542cd48494b8dc918d79bf0f7da687ddcc4 on minor-doc-fixes into c865a4c9014e9f3552b2be96b07b9cf4d4ac124d on master.

Coverage remained the same at 100.0% when pulling e7c75af2ff41dd56099a5c20275666b3e1d81ce1 on minor-doc-fixes into c865a4c9014e9f3552b2be96b07b9cf4d4ac124d on master.

Coverage remained the same at 100.0% when pulling e7c75af2ff41dd56099a5c20275666b3e1d81ce1 on minor-doc-fixes into c865a4c9014e9f3552b2be96b07b9cf4d4ac124d on master.


Adjacent pairs wrapping

Description
Adds an optional wrapping parameter to adjacentPairs algorithm that allows you to include a pair of the last and first element.
Detailed Design
extension Sequence {
  /// …
  ///
  /// The following example uses `adjacentPairs(wrapping: true)` to iterate over
  /// adjacent pairs of integers, including the last and first:
  ///
  ///     for pair in (1...).prefix(5).adjacentPairs(wrapping: true) {
  ///         print(pair)
  ///     }
  ///     // Prints "(1, 2)"
  ///     // Prints "(2, 3)"
  ///     // Prints "(3, 4)"
  ///     // Prints "(4, 5)"
  ///     // Prints "(5, 1)"
  ///
  /// - Parameter wrapping: If `true`, include the pair of the last and first
  /// elements of the sequence as the last elements of the returned collection.
  /// Defaults to `false`.
  @inlinable
  public func adjacentPairs(wrapping: Bool = false) -> AdjacentPairsSequence<Self> {
    AdjacentPairsSequence(base: self, wrapping: wrapping)
  }
}

extension Collection {
  /// …
  ///
  /// - Parameter wrapping: If `true`, include the pair of the last and first
  /// elements of the collection as the last elements of the returned
  /// collection. Defaults to `false`.
  @inlinable
  public func adjacentPairs(wrapping: Bool = false) -> AdjacentPairsCollection<Self> {
    AdjacentPairsCollection(base: self, wrapping: wrapping)
  }
}

Alternatives Considered

A new Sequence and Collection algorithm. This would have resulted in a lot of duplicate code from AdjacentPairs that would be better shared between the implementations.

Documentation Plan
I’ll waiting to hear feedback on whether or not this is desirable and on the direction before diving into the documentation too much.

[ ] Improve inline documentation
[ ] Update Guides/AdjacentPairs.md
[ ] README.md

Test Plan
For each of the existing adjacentPairs unit tests, I’ve added one that tests the wrapping behavior as well.
Source Impact
Existing calls to adjacentPairs() continues to work as-is since the wrapping parameter has a default value of false.
Checklist

[x] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary

wrapping suggests to me an infinite sequence (which I'd imagine has its own uses); is there potentially another way of describing this specific option?

I appreciate that this was motivated by a concrete real world use case, however after thinking about this more, I'm not sure adding a wrapping flag (regardless of its name) pulls its weight.
For example, I think this behavior can be relatively trivially composed out of chain(x, x.prefix(1)).adjacentPairs():
let x = (1...).prefix(5)
for pair in chain(x, x.prefix(1)).adjacentPairs() {
    print(pair)
}
// Prints "(1, 2)"
// Prints "(2, 3)"
// Prints "(3, 4)"
// Prints "(4, 5)"
// Prints "(5, 1)"

I vote that we close this for now and revisit if additional concrete use cases arise.

Agreed, we can close this one for now. Thanks for testing this out, @mdznr — happy to discuss this more on the forums!


feat(@schematics/angular): add lintFix to several other schematics

At the moment some schematics contain this options for instance the guard, component etc.. But some others don't such as module
Closes #12894

@hansl @clydin can you take a look? Schematics is mostly under your wing.

Ci is flake


Replace IModelBindingMessageProvider with new highly-virtual base class

Implementation for #6069
The point of this is to avoid having an interface for IModelBindingMessageProvider, because having it means that any time we add a new validation error message, it's a breaking change (because it adds a member to an interface). Overview:

Replace IModelBindingMessageProvider with a new base class, ModelBindingMessageProvider, in which all the properties are virtual. Note that I've marked this as abstract just because there's no known use case for us or anyone else ever to be instantiating this directly, although none of its members are actually abstract.
Replace MVC's old IModelBindingMessageProvider implementation ModelBindingMessageProvider with a new class, DefaultModelBindingMessageProvider.

Since we can't override the getter-only base class properties with get-set ones, I've also added a load of SetProperty(...) methods.

This is a breaking change in that the names of the types have changed, and anyone who wants to assign properties now has to call SetProperty(...) rather than Property = .... We knew this had to be breaking.
Meta-thoughts
This PR pretty much retains the existing design, albeit with new SetProperty(...) methods instead of setters because of language limitations.
However, I wonder how useful this design is anyway:

Any reason we shouldn't just add setters on to the base class properties? I know that conceptually they aren't needed on the base class, but what bad thing is going to happen if we put them there? It would make the rest of the API easier to deal with. We wouldn't need the SetProperty(...) methods.

How much does it actually help to switch from an interface to a highly-virtual base class? I know it means that adding extra members isn't technically a compile-time breaking change. But in practice the virtual-base-class trick just covers up the possibility of runtime failures. If someone has derived their own subclass of the new ModelBindingMessageProvider and is using it, then one day we add a new virtual member to ModelBindingMessageProvider representing a new error message, the developer's derived class won't contain any custom implementation for that by default. Then at runtime when some part of MVC tries to read the new validation member property, it's going to get null, and boom. So wouldn't it be more honest of us to keep it as an interface, so that runtime problems aren't hidden?

Alternatively, we could move the actual resx stuff into the Abstractions project so that new error message properties have a nonnull value for all derived types. This is what I originally thought we were going to do but the discussion in #6069 concluded that we didn't need to.

the developer's derived class won't contain any custom implementation for that by default. Then at runtime when some part of MVC tries to read the new validation member property, it's going to get null, and boom. So wouldn't it be more honest of us to keep it as an interface, so that runtime problems aren't hidden?

I would imagine that if we're adding new properties we would set them ourselves to a reasonable default  or be defensive where we access them. We could also just make it impossible to replace the default message provider since it's pretty customizable itself.
Usually my area of concern with binary compat is libraries not apps. Apps are relatively easy to fix though you get annoyed if there are lots of things. Libraries can be upgrade blockers. So even if you have a workaround to put in the app, that's much better than just not being able to upgrade because you chose a library that hasn't upgaded. Then you become python 3 :trollface:

Also, builds are failing because tests need to change more.

Will do. Also waiting for your and @rynowak's verdict on the Set... methods.

Also waiting for your and @rynowak's verdict on the Set... methods.

Sorry, should have commented on this earlier. @rynowak is agreeable either way and I lean toward going with the SetXYZAccessor() methods. You've got something that works, supports the original requirements, and avoids breaking changes if we need to add additional accessors later.

Separately, need some changes to at least one breakingchanges.netcore.json file.


Funimation Redesign

Please follow the guide below

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

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.01.18. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.01.18

Before submitting an issue make sure you have:

[X] At least skimmed through README and most notably FAQ and BUGS sections
[X] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[X] Bug report (encountered problems with youtube-dl)
[X] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue
Funimation is going through a site refresh. While most of the Website seems unuseable, I managed to grab some URLs.
If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-u', u'PRIVATE', u'-p', u'PRIVATE', u'https://www.funimation.com/shows/yu-yu-hakusho/koenma-appears/uncut']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.01.18
[debug] Python version 2.7.12 - Linux-4.4.0-59-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 2.8.10-0ubuntu<IP_ADDRESS>, avprobe 2.8.10-0ubuntu<IP_ADDRESS>, ffmpeg 2.8.10-0ubuntu<IP_ADDRESS>, ffprobe 2.8.10-0ubuntu<IP_ADDRESS>, rtmpdump 2.4
[debug] Proxy map: {}
[generic] uncut: Requesting header
[redirect] Following redirect to https://www.funimation.com/shows/yu-yu-hakusho/koenma-appears/uncut/
[generic] uncut: Requesting header
WARNING: Falling back on generic information extractor.
[generic] uncut: Downloading webpage
[generic] uncut: Extracting information
ERROR: Unsupported URL: https://www.funimation.com/shows/yu-yu-hakusho/koenma-appears/uncut/
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1720, in _real_extract
    doc = compat_etree_fromstring(webpage.encode('utf-8'))
  File "/usr/local/bin/youtube-dl/youtube_dl/compat.py", line 2526, in compat_etree_fromstring
    doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory)))
  File "/usr/local/bin/youtube-dl/youtube_dl/compat.py", line 2515, in _XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1653, in feed
    self._raiseerror(v)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1517, in _raiseerror
    raise err
ParseError: not well-formed (invalid token): line 6, column 409
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 694, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 359, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 2555, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: https://www.funimation.com/shows/yu-yu-hakusho/koenma-appears/uncut/

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):
https://www.funimation.com/shows/yu-yu-hakusho/koenma-appears/uncut/?a=1
https://www.funimation.com/shows/tales-of-zestiria-the-x/age-of-chaos/simulcast/?lang=english
Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

Description of your issue, suggested solution and other information
Parsing the URL for the extractor will need to change. Video ID's are now specified in meta property tags in the head of the video page (I think). The video ID's are now stripped from the URL. Addition of a new video subset (uncut/promotional/official). options are also parsed in via (?lang=english).

https://www.funimation.com/shows/yu-yu-hakusho/koenma-appears/uncut/?a=1

That's an easy one, just grab the link to their video player @ line 427:

https://www.funimation.com/player/119804

Line 33 gave us a little something called screenshots as follows:

https://d132fumi6di1wa.cloudfront.net/exp/FunimationStoreFront/1401842/English/1401842_English_8c27a8ba-3e83-e611-80c5-0017a4776c06.m3u8

Simply get rid of /exp first:

https://d132fumi6di1wa.cloudfront.net/FunimationStoreFront/1401842/English/1401842_English_8c27a8ba-3e83-e611-80c5-0017a4776c06.m3u8

Add anywhere between _Layer1 and _Layer9 right before .m3u8

https://d132fumi6di1wa.cloudfront.net/FunimationStoreFront/1401842/English/1401842_English_8c27a8ba-3e83-e611-80c5-0017a4776c06_Layer1.m3u8
.
.
.
https://d132fumi6di1wa.cloudfront.net/FunimationStoreFront/1401842/English/1401842_English_8c27a8ba-3e83-e611-80c5-0017a4776c06_Layer9.m3u8

Finally we could start downloading with ease:
ffmpeg -i https://d132fumi6di1wa.cloudfront.net/FunimationStoreFront/1401842/English/1401842_English_8c27a8ba-3e83-e611-80c5-0017a4776c06_Layer9.m3u8 -c copy yu-yu-hakusho-koenma-appears.mp4
BTW, now we've got geo-restrictions as show @ line 33:
"territories": ["IE", "GB", "US", "CA"]

Would be nice if this plugin could be made to support funimationnow.uk as well.

UK URLs, which are the same as funimation.com:

https://www.funimationnow.uk/shows/ouran-high-school-host-club/starting-today-you-are-a-host/ (publicly available)
https://www.funimationnow.uk/shows/akibas-trip-the-animation/akibas-first-trip/ (requires login)

@dstftw Funimation Extractor is still broken on this. FYI

I would love this to be fixed

I'm looking into fixing this, no promises.
What I found so far, with help from the work done by streamlink. We can get the video id either by scaning the page for this badly formated js:
var TITLE_DATA = {
    id: '<video_id>',
    title: '<title>',
    titleSlug: '<slug>',
    seasonNum: <season>,
    episodeNum: <episode>,
    seriesId: <series_id>,
    videoId: null,
    alpha: "<>",
    type: '<episode>'
}
KANE_customdimensions.contentType = 'Episodes and Movies';
KANE_customdimensions.videoType = 'Episode';
KANE_customdimensions.showName = '<series>';
KANE_customdimensions.videoTitle = '<title>';
KANE_customdimensions.videoNumber = '1.0';
KANE_customdimensions.showID = '<show_id>';
KANE_customdimensions.videoID = "<video_id>";
KANE_customdimensions.season = '<season>';
KANE_customdimensions.showLanguage =  '<language>';
KANE_customdimensions.externalAlphaId =  '<idk>';
KANE_customdimensions.showreviewaverageRating = '';

or use the metatags:
<meta property="og:video:url" content="/player/<video_id>">
<meta property="og:video:secure_url" content="/player/<video_id>">

or finding basically any instance of /player/<video_id>
You can then get the series/video info with:
https://prod-api-funimationnow.dadcdigital.com/api/source/catalog/title/experience/<video_id>/

The data is stored inside a nested node of seasons[] -> episodes[] -> (info about video)
You would need to loop it untill you found the slug == to the video url. That gives you all the video info.
You can then get the m3u8 or mp4 via:
https://prod-api-funimationnow.dadcdigital.com/api/source/catalog/video/<video_id>/signed/

m3u8 produces normal multi bitrate/video size stuff and mp4 seems to be 720p. The above signed url can sometimes return:
{
  "errors": [
    {
      "code": 2,
      "detail": "If you are not a member, sign up at www.funimation.com. Otherwise, log in.",
      "title": "Mature content blocked"
    }
  ]
}

If you are not logged and the video is TV-MA, so a parameter or cookie needs to be passed?
I've only looked at dubbed content so idk about getting the subtitles streams.

@starchivore is there anywhere we can use ffmpeg to download subtitles from funimation???

Can't login anymore.
Probably because of another re-design, for example the actual login URL is now "https://www.funimation.com/log-in" while the one used in extractor is
_LOGIN_URL = 'http://www.funimation.com/login'
and the form fields names are different.

[Funimation] Logging in as ******
ERROR: Unable to log in; 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\rg3\tmpi8nwgst1\build\youtube_dl\YoutubeDL.py", line 760, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpi8nwgst1\build\youtube_dl\extractor\common.py", line 428, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpi8nwgst1\build\youtube_dl\extractor\common.py", line 386, in initialize
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpi8nwgst1\build\youtube_dl\extractor\funimation.py", line 93, in _real_initialize
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpi8nwgst1\build\youtube_dl\extractor\funimation.py", line 90, in _login

There's still something not quite right with the extractor... For some reason it's not honouring the language of the URL I give it.  For example,
https://www.funimationnow.uk/shows/absolute-duo/blaze/simulcast/?lang=english is what I give it, but it ends up pulling down the Japanese audio version instead.  Any ideas?

I've been digging around in the requests stream and it honestly looks like funimation are returning the initial language at random.
The missing bit in the extractor I think is something mentioned in the description provided by @julianrichen ... specifically, the extractor skips the step of querying https://prod-api-funimationnow.dadcdigital.com/api/source/catalog/title/experience/<video_id>/ and jumps straight to requesting the video/<>/signed url.  What I think is going on internally, somewhere, is that the page:

is loaded with a language that isn't always going to be right,
loads the series data using title/experience,
looks at the query string and/or user preference json to work out what language it should be playing
loops the series data to find the correct episode's video id
requests the video/<>/signed url for the video id found in step 4 instead of the one from step 2

I'm making progress fixing things.  I'm noticing that there's some sources for subtitle files, can someone point me at a good example of how I could return those sources?

So, uh, I've ended up rewriting quite a bit of the code, and I've also got a prototype of a series extractor, but I've run in to two issues and could do with a little help.
Problem 1 is that I can see how separate subs are listed in the experience file, but it looks like most dubs might actually have subs burnt in.  It would be handy if someone knows of a video with soft subs to test with.  I know it's possible, AoT episode 1 in English has a CC track listed in the textTracks field (srt, vtt, dfxp formats), but it's the only one in the season that has one.  Would be nice to fix but I guess it's minor.
Problem 2 is that the geofencing makes it pretty annoying to properly test ... it works for me on funimationnow.uk but I can't really run the test suite or, more of an issue, add tests for the playlist code.  Don't suppose I could get some assistance with that?

Hello @kaithar, could you open a new issue for bugs/missing features for Funimation? Ideas pasted on closed issues is likely to be forgotten.

@yan12125 I was hoping some invested people would be subscribed to this, but yeah, looks like that's for the best.

I'm a beginner at python and have no experience with extractors. :(


RTNETLIN answers: Permission denied; exited with code 1

Good afternoon,
I am unable to start the image. Upon issuing the command sudo docker-compose up I receive the error openvpn-client exited with code 1.
I have attached a log file on gist: https://gist.github.com/Demon-tk/c6d840328d1ac0989ee723ab50ac04be
It seems that the primary error occurs after /sbin/ip -6 addr add fde6:7a:7d20:e14::1024/64 dev tun0 is issued, which gives the error RTNETLINK answers: Permission denied.

I think this might be a temporary workaround
sysctls:
  - net.ipv6.conf.all.disable_ipv6=0

Found from this post ##issue-530129248

Hi @Demon-tk, looks like it is the Docker issue and your solution is an acceptable workaround. I see similar proposition on the Docker forum, see link


vscode python can't  jump to some packet  function impleament of sklearn ,etc,  sklearn.model_selection.train_test_split. but pycharm could

Issue Type: Bug
I hope that i could jump some function implement of sklearn freely
VS Code version: Code 1.22.2 (3aeede733d9a3098f7b4bdc1f66b63b0f48c1ef9, 2018-04-12T16:32:53.389Z)
OS version: Darwin x64 15.5.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz (4 x 3200)

Load (avg)
1, 1, 1

Memory (System)
8.00GB (2.07GB free)

Process Argv
/Users/duzhe/Applications/Visual Studio Code.app/Contents/MacOS/Electron

Screen Reader
no

VM
0%

Extensions (7)

Extension
Author (truncated)
Version

code-runner
for
0.9.3

vscode-elm-jump
joe
0.0.1

anaconda-extension-pack
ms-
1.0.0

python
ms-
2018.3.1

vscode-yaml
red
0.0.11

vscode-icons
rob
7.22.0

vscode-jump
sha
0.0.2

it can go to the init.py of this packet Folders, but cannot from declare in init.py to function implement in other file in the same Folders.

but ,,, can't go to the function impleation in _split file, below as folows: (ps : this is my manul open _split file)

@doudou @threeve @AArnott @kaiwood @tonyc

what's you meaning ? you mean exist extension could solve this issue ? what's that ?

Reading your description it seems that the issue originates from an extension and not VS Code itself. Thereby I will close this issue and kindly ask you to report this issue against the extension repository.
Most extensions are on GitHub as well so it should be easy to file it against the extension. If you open an extension on the market place, click on the Support link to find out more.

Thanks again for your feedback!

Thanks for your detailed explain, I have understanding your advices. Tks again ~ ~


Reset Password throwing 401 error

Hi
Thanks for the crisp boilerplate code orchestration.
Regarding the Reset Password feature, the API throws unauthorized error. Could you direct me if I'm missing something?
thanks
~ bw

Hi @brainwatch , you should first call the forgot password API (POST /v1/auth/forgot-password) and specify the email address in the body. If the email address is found, an email will be sent to it which contains the reset password token.
You should then call the reset password API and insert the token you got in the email as a query param.
POST /v1/auth/reset-password?token=insert-token-here

Hi @brainwatch , you should first call the forgot password API (POST /v1/auth/forgot-password) and specify the email address in the request body. If the email address is found, an email will be sent to it which contains the reset password token.
You should then call the reset password API and insert the token you got in the email as a query param.
POST /v1/auth/reset-password?token=insert-token-here


[ISSUE apache#6726] Fix bug DefaultMQProducer#request method invoke t…

[ISSUE #6726]

Codecov Report

Merging #6730 (a8d1eaa) into develop (f33ac2a) will decrease coverage by 0.02%.
The diff coverage is 35.62%.

@@              Coverage Diff              @@
##             develop    #6730      +/-   ##
=============================================
- Coverage      42.89%   42.87%   -0.02%
- Complexity      9007     9016       +9
=============================================
  Files           1113     1116       +3
  Lines          78591    78469     -122
  Branches       10221    10216       -5
=============================================
- Hits           33709    33643      -66
+ Misses         40659    40616      -43
+ Partials        4223     4210      -13

Impacted Files
Coverage Δ

...a/org/apache/rocketmq/broker/BrokerController.java
43.43% <ø> (-0.11%)
:arrow_down:

.../rocketmq/client/impl/ClientRemotingProcessor.java
3.25% <0.00%> (+0.37%)
:arrow_up:

...he/rocketmq/client/producer/DefaultMQProducer.java
60.88% <ø> (ø)

.../java/org/apache/rocketmq/common/BrokerConfig.java
27.99% <ø> (+0.01%)
:arrow_up:

...va/org/apache/rocketmq/common/message/Message.java
52.80% <0.00%> (-1.85%)
:arrow_down:

...g/apache/rocketmq/common/message/MessageReply.java
0.00% <0.00%> (ø)

...rocketmq/remoting/netty/NettyRemotingAbstract.java
51.59% <0.00%> (-0.34%)
:arrow_down:

...apache/rocketmq/remoting/protocol/RequestCode.java
0.00% <ø> (ø)

...ing/protocol/header/ReplyMessageRequestHeader.java
0.00% <0.00%> (ø)

...g/apache/rocketmq/client/impl/MQClientAPIImpl.java
22.88% <12.50%> (-0.31%)
:arrow_down:

... and 15 more

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

Hey @haiyanghan , thanks for your effort at first. I probably see what you're trying to do here according to the issue you created, but the meaning of message sending in MQ just simply means that the Broker would return a corresponding response once the message arrived without waiting it to be consumed. Of course, you could detail your thought if I've misunderstood your intention for doing this.

Yes, when the message arrives at the broker, it returns, which is the logic of the original request method.
But the request method should be based on the request reply mode, waiting for the message to be consumed

Hey @haiyanghan , thanks for your effort at first. I probably see what you're trying to do here according to the issue you created, but the meaning of message sending in MQ just simply means that the Broker would return a corresponding response once the message arrived without waiting it to be consumed. Of course, you could detail your thought if I've misunderstood your intention for doing this.

Hey @haiyanghan , thanks for your effort at first. I probably see what you're trying to do here according to the issue you created, but the meaning of message sending in MQ just simply means that the Broker would return a corresponding response once the message arrived without waiting it to be consumed. Of course, you could detail your thought if I've misunderstood your intention for doing this.

Sorry, my English proficiency is not very good and the problem description is not very clear

@Guiqu1aixi  hi, look here


The channel is closing down or has closed down

Channel "unknown": Remote call on jenkins-worker-rcisma failed. The channel is closing down or has closed down

We'll need more log statements to help you diagnose the issue. Can I have the stack trace? Most likely you had an SSH issue.

Any updates?

I'll be closing this due to lack of activity. If issue persists, please re-open with full stack trace of failure.


Add RTL support to lists

What Angular MDC version are you using?
v0.41.2
On LTR:

On RTL:

Need to change the direction of the padding

Oh it's my fault.
I should also add a dir="rtl"


Add object type for the getidentityv2 relation type identifier

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 38.244%

Files with Coverage Reduction
New Missed Lines
%

pkg/app/server/server.go
3
75.16%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
1176

Relevant Lines:
3075

💛  - Coveralls


add toggl

Toggl's Premium tier is where SSO is included. It is $18 vs their $9 Starter tier. 100% price increase.

Hey @tmsteen ,
Thank you for your contribution! I just integrated your PR into https://github.com/ssotax/ssotax as this repository was not maintained for a long time. Your changes are in https://github.com/ssotax/ssotax/commit/9fa62dbac75b2339b6dba1a669c5fce603c1229c.
You find the new page under https://ssotax.org/.  I also made a few improvements based on community feedback like showing free SSO providers. Feel free to share your feedback!


"Fix Silhouette" in Retargeting does not work well on models other than A-pose or T-pose

Godot version
https://github.com/godotengine/godot/commit/200b9cde88da485659a6376266af8e9bf7be186f
System information
Windows 11, GLES3, RTX 3000
Issue description
https://sketchfab.com/3d-models/valora-twitch-prime-emote-c430ff2028744abfa132774b0771f25d

トカゲ — Today at 01:50
If you load it into blender, you can see that the model is a titan...

トカゲ — Today at 02:02
Since the rest is neither T-pose nor A-pose, the T-poser does not seem to work very well for the fingertips

トカゲ — Today at 02:11
Whether or not the T-poser works depends on the rest that is loaded. So I think this PR is important:
https://github.com/godotengine/godot/pull/40274

トカゲ — Today at 02:19
So, the problem is that there are gltfs which have neither A-pose nor T-pose as a bound pose, > but only a pose for the first frame of the animation for about the issue of missing conversions
maybe

Steps to reproduce

Load godot
Setup glb to for retargeting
The retargeting doesn't match

Minimal reproduction project
valora__twitch_prime_emote.zip

@TokageItLab I typed up the bug report.

@fire I don't know what "missing conversions" you are talking about.
Retargeting works fine. The problem is that certain bones are not fixed properly by the T-poser when neither T-pose nor A-pose is used?

Yes. Some bones are unable to be matched while not in A-pose or T-pose. We should do something but allow the animation to pass is not that great.

I don't see this as a critical bug, well, I will look when I have time whether the algorithm can be improved.

I tested this model and it technically works now that #76499 is merged.,

However, the problem with this model is it contains several bones which do not fall under Godot's SkeletonProfileHumanoid and animates those bones, so any attempt to share this animation with other models might miss some data

This issue is still somewhat relevant I believe, unless I'm missing something.
I've noticed that Fix Silhouette does not work well on animation files that don't have typical bindpose, like for example a running animation. In an attempt to fix bones that are at extreme angles, it can end up not looking anywhere near as proper as the original animation.

I believe a simple fix to this issue for most cases would be the option for Fix Silhouette to utilize the bone transform values from a target model (and show an error if the target is not a matching rig). This would allow it to fix the animation based on that target's bind pose instead of its own.

I remember having several conversations with @lyuma about it. There must be some way to select the animation before importing.


Reduce visual noise in run argument list

https://github.com/dpazavalos/datatypes/blob/a38fe7f41f4feb5b7380dea245fd555811adfbd1/gatherunique/__init__.py#L49

use * in arg list to separate *args and keyword only arguments
rename *args (maybe blacklists?)

Remove class restructure for data docs. Simply import Documentation (use no _ for permissive imports and nomenclature indicative of status as doc-string object)


Fixed inconsistent function name.

Codecov Report

Merging #84 (5f3091e) into main (9a9160c) will increase coverage by 0.01%.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #84      +/-   ##
==========================================
+ Coverage   89.69%   89.70%   +0.01%
==========================================
  Files          92       92
  Lines        9977     9977
==========================================
+ Hits         8949     8950       +1
+ Misses       1028     1027       -1

Files
Coverage Δ

include/async_mqtt/broker/endpoint_variant.hpp
98.31% <ø> (ø)

... and 1 file with indirect coverage changes


Potential bug (v10): not filling journey entries correctly and not placing province pins on scene.

Version info
FoundryVTT version: v10 (build 286)
Azgaar's version: 1.87.13
Module version: 0.3.1
Problem
When importing a map into Foundry, the module generates all the journey entries correctly (all the provinces and burgs are listed in their respective compenia), however the links inside the journal entries are oftentimes missing. It also doesn't seem to place the province pins on the scene.
The missing journey entry links are as such:
Burgs

Provinces

(The dropdown of burgs inside the province is empty).
Tried solutions
I have tried regenerating things in Azgaar's map maker in both orders (regenerate state->provinces->burgs and burgs->provinces->states) thinking it might be due to it assigning which province a burgh belongs to on generation. This had no effect.
If you require me to add additional info, do tell. I will do what I can to provide it.

For me the importer throws an exception while importing provinces and crashes.
I will deliver a screenshot in the near future...

alright, after some testing i can confirm that provinces are not linked properly... in the provinces entries the states and burgs entries are empty or not linked.
Furthermore, the importer is mixing up cultures.
For Example: My Human Culture that is shown as Human in Azgaar, is linked and shown as Dwarish after the Foundry import, my dwarfish culture is shown orkish and so on...

Solving the Culture error in #32

Closed with commit 44f829b