Cannot use the plus sign(+) for whitespace control: expected token 'end of statement block', got '+'

Expected Behavior
Assuming trim_blocks is always False.
When lstrip_blocks is set to True, jinja should output
<!-- 1 -->
<!-- 2 -->
foo<!-- 3 -->
<!-- 4 -->
<!-- 5 -->

And when it's False, jinja should output
    <!-- 1 -->
    <!-- 2 -->
    foo<!-- 3 -->
    <!-- 4 -->
    <!-- 5 -->

Actual Behavior
In either case,

jinja2.exceptions.TemplateSyntaxError: expected token 'end of statement block', got '+'

Template Code
    <!-- 1 -->
    {% if True %}<!-- 2 -->
    foo<!-- 3 -->
    {% endif +%}<!-- 4 -->
    <!-- 5 -->

Full Traceback
Traceback (most recent call last):
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/sunqingyao/PycharmProjects/microblog/app/views.py", line 22, in index
    posts=posts
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/flask/templating.py", line 133, in render_template
    return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/environment.py", line 869, in get_or_select_template
    return self.get_template(template_name_or_list, parent, globals)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/environment.py", line 830, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/environment.py", line 804, in _load_template
    template = self.loader.load(self, name, globals)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/loaders.py", line 125, in load
    code = environment.compile(source, name, filename)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/environment.py", line 591, in compile
    self.handle_exception(exc_info, source_hint=source_hint)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/home/sunqingyao/PycharmProjects/microblog/app/templates/demo.html", line 4, in template
    {% endif +%}<!-- 4 -->
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/environment.py", line 497, in _parse
    return Parser(self, source, name, encode_filename(filename)).parse()
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/parser.py", line 896, in parse
    result = nodes.Template(self.subparse(), lineno=1)
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/parser.py", line 883, in subparse
    self.stream.expect('block_end')
  File "/home/sunqingyao/Envs/flask-mega/lib/python3.6/site-packages/jinja2/lexer.py", line 386, in expect
    self.name, self.filename)
jinja2.exceptions.TemplateSyntaxError: expected token 'end of statement block', got '+'

Your Environment

Python version: 3.6.1+
Jinja version: Jinja2==2.9.6

why are there 3 issues for this?

I'm getting different error message (I've edited the issues' title to make this clearer), so I think it might be better to open different issues for them.

When is this going to be fixed.  Its causing me a ton of grief.....  Thank you for all your hard work guys!

I agree, thanks for investigating. I don't think it was ever stated that + can be used at the end of a tag.


A method to generate blockId's and links to that block

In a forum post Block Links in Dataviewjs I was made aware of the fact that blockId's are not defined before you actually get them written into the file first. They can be defined by doing auto-completion searched within Obsidian itself, by a plugin like "Copy Block Link" which does the insertion, or by manually typing in the needed  ^YourBlockId at the end of a given block.
What I would like for dataviewjs to do is to provide me with a method so that if I've got a reference to a block somehow, I would be able to generate the blockId from within the dataviewjs query, and get a modified link including the blockId reference.
An example query where this could be useful related to getting quotes from a book (or a given page):
```dataviewjs
// let bookList = dv.page("#Books").path;
// let book = bookList[Math.floor(Math.random() * bookList.length)];
// // If doing a broader search, replace 'dv.page("Quotes")' below with 'book', and uncomment these lines
let quotesList = [];
for (q of dv.page("Quotes").file.lists.values) {
  quotesList.push(q)
}

//dv.list(quotesList)
dv.paragraph(quotesList[Math.floor(Math.random() * quotesList.length)].blockLink )
```

Note how that the last line refers to the field blockLink which currently doesn't exist, but it what could be the solution, where the getter function for that field would either if the blockId is already present it would just present the link field, or if not present, it would generate a blockid (insert it to the original file), and return the link with the newly generated blockId.
Alternatives
When the blockids are not present, one would need to get them generated beforehand. And if related to random quotes from books (or notes) all around your vault, it would be cumbersome, to say the least, to do that.
I tried looking whether Obsidian defined this blockId automagically, but found that it was first generated when doing the [[SomeNote^...]] style of searching, which indicates that it's not something hidden somewhere deep within Obsidian. And completing the auto-complete search, it actually inserted the blockid definition into the original note. The Copy Block Link plugin also insert a blockid definition into the block you want to link to.
I've also thought that care should be taken not to generate the blockId at any given time. Like in my example, if one generated the quotesList with block links by default, it could potentially change a lot files whenever you do a block search. By connecting it to a given field/function it would only be defined when actually used.
An even better alternative would be that the blockId was not generated until the link was actually clicked upon in the resulting query view, but I don't think that is rather feasible/doable. Such a solution would although be even nicer, as the view could then be truly a view not changing anything before actually needed. But then again, it would require for the dataviewjs-query to keep track of the blocks internally, and thusly loose its stateless state.

Can you give us a high level overview of the use case and how this fits into your workflow? That said, this is a fairly niche request so I wouldn't be too hopeful.

It would be useful when collating quotes, and then to use it related to backlinking the quotes when selecting a quote using a randomiser (or other means of retrieving the quote by dataviewjs).
It would also be useful for going to specific projects parts, which would be in list items and tagged to denote actuality/status. The use scenario would then by a dataviewjs query going through all projects, and selecting out the exact part through tags, or other markings, and then presenting the list with block links to those exact parts.


Use default instead of active for Color Table Manager interface

In Controls->Color Table, the interface there refers to the active color tables for discrete and continuous cases. However, it doesn't refer to or indicate default anywhere.
My recommendation is to replace use of active with default. However, if active has a meaning that is somehow different from default, we'll need to maintain both concepts in the interface.

A quick grep of source code, the only classes that refer to the 'Active/active' color table  are ColorTable classes themselves (avtColorTable, ColorTableAttributes, QvisColorTableWindow),
But there is a user-facing cli method to 'SetActiveContinousColorTable'/'SetActiveDiscreteColorTable'.
Consumers of ColorTable retrieve the default via 'GetDefault' methods when requested color table name is 'Default'.  And 'Default' is the user-facing way of referring to the active continuous/discrete tables by plots.
IMHO 'active' and 'default' mean the same thing here.
Continuity is a good thing and since 'active' is mostly internal, it should be a relatively painless change ... except for the documented cli method for setting the 'Active' discrete and continuous tables, as that is a user-facing method.


[FEATURE] Add VESPR to list supported wallets

The wallet can be found under "window.cardano.vespr"

Hi @AlexDochioiu, originally the default supportedWallets list was meant to be an example, as all CIP-30 compliant wallets are supported. Please just add it to your list of supported wallets using the button prop if you want to support it on your dApp.
<ConnectWalletButton supportedWallets={['vespr', 'anotherCIP30Wallet']} />


Scrolling doesn't work with height 100 and overflowx hidden

I found a bug with LeaderLine. It took me a while to trace it, but I think I narrowed it down. When setting the following css:
html, body {
   height: 100%;
   overflow-x: hidden;
}

And the page is long enough to cause scrolling, the lines will scroll along, instead of staying in position. A built a codepen here:
https://codepen.io/rienheuver/pen/eYYqLoO
Please let me know if I can supply any other helpful information.

Hi @rienheuver, thank you for the comment.
No, that is not bug.
LeaderLine is positioned based on the document. Since you forbade, that can't scroll. Then, the document that contains the LeaderLine is not scrolled.
You can specify this to forbid scroll only html.
html { /* NOT `html, body` */
  overflow-x: hidden;
}

BTW, why you specify the overflow-x: hidden to the document? Maybe that is strange...
To avoid shown x-scroll-bar, you can specify e.g. body { margin: 0; }.

I had that in place to solve a bug with background colours I had. I was able to solve that differently though, so the lines are working as expected now. Thanks for the fast help!

:smile:


NullReferenceException when using numeric private key property

When upgrading from .NET Core 3.1 (EfCore.BulkExtensions 3.6.5) to .NET 6 (EfCore.BulkExtensions 6.3.2) I stumbled upon a NullReferenceException when using a private key property.
System.NullReferenceException
Object reference not set to an instance of an object.
   at EFCore.BulkExtensions.TableInfo.<>c__DisplayClass171_3`1.<LoadData>b__39(T a) in C:\Users\Foo\EFCore.BulkExtensions\EFCore.BulkExtensions\TableInfo.cs:line 240
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at EFCore.BulkExtensions.TableInfo.LoadData[T](DbContext context, Type type, IList`1 entities, Boolean loadOnlyPKColumn) in C:\Users\Foo\EFCore.BulkExtensions\EFCore.BulkExtensions\TableInfo.cs:line 0
   at EFCore.BulkExtensions.TableInfo.CreateInstance[T](DbContext context, Type type, IList`1 entities, OperationType operationType, BulkConfig bulkConfig) in C:\Users\Foo\EFCore.BulkExtensions\EFCore.BulkExtensions\TableInfo.cs:line 100
   at EFCore.BulkExtensions.DbContextBulkTransaction.Execute[T](DbContext context, Type type, IList`1 entities, OperationType operationType, BulkConfig bulkConfig, Action`1 progress) in C:\Users\Foo\EFCore.BulkExtensions\EFCore.BulkExtensions\DbContextBulkTransaction.cs:line 32
   at EFCore.BulkExtensions.DbContextBulkExtensions.BulkDelete[T](DbContext context, IList`1 entities, BulkConfig bulkConfig, Action`1 progress, Type type) in C:\Users\Foo\EFCore.BulkExtensions\EFCore.BulkExtensions\DbContextBulkExtensions.cs:line 113
   at EFCore.BulkExtensions.Tests.EFCoreBulkTestAtypical.PrivatePropertiesDefaultValue() in C:\Users\Foo\EFCore.BulkExtensions\EFCore.BulkExtensions.Tests\EFCoreBulkTestAtypical.cs:line 692

I was able to reproduce this bug using the following configuration and test:
public class DefaultValueTest
{
    private long Number { get; set; }
    public string Test { get; set; }
}

modelBuilder.Entity<DefaultValueTest>(c =>
{
    c.HasKey("Number");

    c.Property("Number").ValueGeneratedOnAdd();
});

[Fact]
private void PrivatePropertiesDefaultValue()
{
    ContextUtil.DbServer = DbServer.SQLServer;
    using (var context = new TestContext(ContextUtil.GetOptions()))
    {
        context.BulkDelete(context.DefaultValueTests.ToList());
    }

    using (var context = new TestContext(ContextUtil.GetOptions()))
    {
        var entities = new List<DefaultValueTest> {
            new()
            {
                Test = "test"
            }
        };
        context.BulkInsertOrUpdate(entities);
    }

    using (var context = new TestContext(ContextUtil.GetOptions()))
    {
        var defaultValueTest = context.DefaultValueTests.Single();
        Assert.Equal("test", defaultValueTest.Test);
    }
}

In TableInfo.LoadData this private property is not being filtered out in the Where expression. This leads to the exception when resolving the property with reflection in Line 243.
Apparently GetDefaultValueSql() returns 0 for EF Core 6 while it did return null on 3.1.
Looking at the condition of the Where expression I would guess that you found the same issue using Guids already but this issue probably will affect every non-nullable numeric type as well. I would have created a PR to fix this but since it could affect such a vast amount of types I'm unsure how to fix this issue properly.

In line 243 try fix by adding just '?'
change from
.GetProperty(propertyWithDefaultValue.Name)
to
.GetProperty(propertyWithDefaultValue.Name)?
If it works you can make a PR.

My test runs through with that change, I cannot say whether that fully fixes it for all use cases. When making the PR, should I also remove that custom logic that is in place for Guids at the moment? I guess this is just there because of the same issue like I have.

No, leave the rest, that was added for some other special use cases.

Thanks for the quick response. Any chance we could get an update for this soon?

Published v6.3.4
Thx for Contrib.


[BUG] Error: Error: 400 Bad Request: Wrong input: Vector inserting error: expected dim: 1536, got 768

I'm using qdrant in latest version but it can not uppsert with error

I create an another collection with dimension 768. Save and it work fine.


useSWRInfinite and  mutate

Why is it re-validated when using mutate of useSWRInfinite to change the cache?
For example mutate(chunk(val, 10), {
populateCache: true,
revalidate: false,
})

example：https://codesandbox.io/s/swr-infinite-forked-g9h4fy?file=/src/App.js:1800-1810
When I click Revise and then modify the first data, and then click load more, I have set revalidate: false, and find that the data on the first page will still be requested, and then the value I set will be overwritten. Of course, there is no problem if you use useSwr.

@shuding @promer94 Please help me take a look, thank you

This is caused by an inconsistency between the page cache and the infinite cache.
In this example, title in the infinite cache is updated, but title in the page cache is not. This causes a revalidation.

Yes, I also discovered it, but how to solve it? I am bound to mutate. Please improve it in the example. Thank you.

Unfortunately, there is no way to mutate infinite data without revalidations. But I think we should have a way to do it, so I'll consider it. Thank you!

@koba04 Page caching and unlimited caching, I have temporarily implemented it using key values, and I look forward to the encapsulation being completed. Currently I want to know useSWR
Can the returned data data be returned as deep copy data? Because when I implement custom modification of data, directly data.a = 1, then the original data will be changed when mutate is not used. After re-requesting, it will still be a =1

Unfortunately, there is no way to mutate infinite data without revalidations. But I think we should have a way to do it, so I'll consider it. Thank you!

I managed to mutate without revalidation like this.
// useSWRInfinite returns an array of pages so I look for the page index that has the element I want to update
const pageIndex = isArrayTransactionArray(data) ? data.findIndex((subArray) => {
      return subArray.some((t) => t.id === updatedTransaction.id);
    }) : -1;
// then I used mutate directly imported from swr ( import { mutate as swrMutate } from 'swr'; ) to manipulate the cached data
void swrMutate([`transactions${pageIndex}`, pageIndex+1], async (cachedData) => {
  const index = cachedData.findIndex((t: Transaction) => t.id === updatedTransaction.id);
  if (index !== -1) {
    cachedData[index] = updatedTransaction;
  }
return
});

void swrMutate([`transactions${pageIndex}`, pageIndex+1]

Could you please describe the key format you are using?

Oh, it actually works with unstable_serialize pretty neat.
                const { trigger, isMutating } = useSWRMutation(unstable_serialize(getPizzaScrollKey), updatePizza)
               ...
                await trigger({ name, pid: pizza.id }, {
                  revalidate: false,
                  optimisticData: (data) => {
                    return data.map(subArray => subArray.map(p => {
                      if (p === pizza) return {...p, name}
                      return p
                    }))
                  }
                })

Unfortunately, there is no way to mutate infinite data without revalidations. But I think we should have a way to do it, so I'll consider it. Thank you!

I have the same problem, please ask how to deal with it


[AutoRelease] t2-compute-2023-12-28-39237(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4851
Live test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=978
BuildTargetingString
azure-mgmt-compute
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/4851


Removes first letter of directory

Bug where the first letter of a directory is removed (in A:\ and showed directory "college" as "ollege")

Fixed by using Path.GetFileName to get the directory name.


Update machine-translation-services-in-sharepoint.md

Category

[x ] Content fix
[ ] New article
Related issues: fixes #2578

What's in this Pull Request?
Fix code sample link: Access Machine Translation Service

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/general-development/machine-translation-services-in-sharepoint.md
:white_check_mark:Succeeded
View

docs/general-development/the-xliff-interchange-file-format-in-sharepoint.md
:white_check_mark:Succeeded
View

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


User should be able to export his wallet to other wallets

Show the main address private key - possible to copy
Show sidechain rpc url- possible to copy
Definition of Done

[x] add menu item export wallet , leads to export screen
[x] new screen should be looking according to the design
[x] user can copy to clipboard private key of main wallet address ('GD')
[x]  user can copy to clipboard RPC of fuse

Design Links:
https://xd.adobe.com/view/1341765c-a572-4606-445a-f0741588ec72-6570/
https://xd.adobe.com/view/a3d12a78-647d-44b2-7242-deb760104a0b-d5e0/

@sirpy
https://xd.adobe.com/view/1341765c-a572-4606-445a-f0741588ec72-6570/

There's no seed phrase anymore i've explained that... at least not if we
use Torus.
We can keep this layout in case we decide to keep also the self custody
login option
but in the case of Torus there's no seed phrase
Your wallet Private Address should be called "Your Wallet Private Key"
@liavgut

@tomerGD @LiavGut please see my last comment

@sirpy I'm working on it

@sirpy @tomerGD
Here's the updated design:
https://xd.adobe.com/view/1341765c-a572-4606-445a-f0741588ec72-6570/

NOTE:
"Your Wallet Private Key" should be "My Wallet Private Key"

Here's the new settings menu:
https://xd.adobe.com/view/a3d12a78-647d-44b2-7242-deb760104a0b-d5e0/
PLEASE NOTE:
need to add the Export Wallet icon and UPDATE the Logout icon

@LiavGut should the wallet private key be displayed with an ellipsis at the center?

@AnastasiiaOdnoshevna Yes, we did it to align it with the design of the User face record ID (it's longer)
But, we should see only 13 characters on each side of the "...".
In any way, it looks like it has too many characters even without the "..."
@yaroslav-fedyshyn-nordwhale

@yaroslav-fedyshyn-nordwhale according to the comment Liav, we should see only 13 characters on each side of the "..."
this issue is moved to review
Checked on DEV V0.24.1-3
Desktop: Windows 10 // Google Chrome  83.0.4103.106

too many characters are displayed on each side of the "..."
Checked on DEV V0.24.1-3
Desktop: Windows 10 // Google Chrome 83.0.4103.106

@yaroslav-fedyshyn-nordwhale The same thing as in #2013  - hash should be cut to 13 chars left/right three dots due to the security reasons

The "My Wallet Private Key" is displayed according to design
Checked on DEV V0.24.1-5
LG V30+ // Android 8.0 // Google Chrome 83.0.4103.106
Desktop: Windows 10 // Google Chrome 83.0.4103.116


[CSL-1068] Use new Plutus

This one should actually work probably.

Can we close #1206?

@gromakovsky done.


Add _indexMap to CustomSampler

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
#1858
What are the significant changes in functionality due to this change request?
Adds _indexMap to CustomSampler and the ability to handle datasets for CustomSampler

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[x] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[x] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

This handles part of what #1718 was trying to fix, right?

It looks to me like the changes in this PR are almost exactly the changes #1718 has for CustomSampler (only differences are in comments).
Everything looks good, I'll merge this shortly.


Question - Is there a way to get the temperature of GPU and CPU?

Is there a way to get the temperature of GPU and CPU? maybe realtime usage also? there is little to no documentation about this so I'm struggling to know what I can do with this plugin.

No, as of now, it's not possible to find the temperature of the CPU or GPU using this library. Yes, it's possible to fetch the temperature of the CPU from a WMI object, but it requires administrative permission to fetch details from MSAcpi_ThermalZoneTemperature. While we execute a command from Dart, it will return a null or error string in this case (in the default case).
Thanks for the idea to improve this package; I will try to add similar features where possible, and if you could contribute anything, please do it.
tool to create wmi quries by comparing code in this library you can do more to it
https://github.com/Abdulazeezvp/windows_system_info/blob/7004e8d75b6eba1feeadeba1881b2ffa64dadeff/lib/src/general_helper.dart#L9


README.md: Fix minor typo

Thank you for correcting the typo 👍

Thank you for correcting the typo 👍

You are welcome. I was happy to make this minor contribution. Keep on the good work.
Btw I found your project while I researching options to use Arduino sketches on NXP MCX A microcontrollers, more precisely for FRDM-MCXA153 kit. I was thinking to use it for hobby projects with either Arduino sketches or MicroPython/CircuitPython.  Do you know if there are any plans for Arduino core port for NXP MCX ?

I have no information about Arduino-core port for NXP MCX. For MicroPython, it seems it is coming on FRDM-MCXN947 but no information for MCXA153.
Instead of having Arduino-core port, I'm doing some trials to operate MCX with a simple abstraction layer. Those can be seen on r01projects (sample code) and r01lib (libraries). This library is including device classes ported from my Arduino libraries.
However, it may not be a good one for your purpose because it needs MCUXpresso IDE/SDK and its APIs are not Arduino but Mbed like though.


list-scenes "CSV" file isn't really a CSV file

The file produced by list-scenes starts with a line containing the cut list, which means it isn't really a valid CSV file.  While it's handy to have a concise list of cuts in addition to the full scene data, I think it makes more sense for the default output to just be the CSV, and add an option to instead (or in addition) write a separate file with only the scene cut timestamps.
Maybe something like a -f option for list-scenes that takes a value of scenes, cuts, or both?

Hi @tonycpsu;
Are you referencing RFC 4180 here?  I agree it's not really a good idea to have different numbers of columns per row in a CSV file.
Thoughts on just outputting two files by default?  Otherwise a format argument to specify scenes/cuts works as well.  Any comments/suggestions would be most welcome.
Thanks!

It's not just that the number of colums in each row that's wrong that seems off, it's that the first line isn't really the CSV header -- the second line is.  The first line is just carrying extra information that should ideally be in a separate file.  Switching to a more flexible format like YAML or JSON doesn't really make sense, since they're harder to inspect visually, and the keys would be repeated, bloating the size of the file.
I also noticed tonight that the stats file has the same thing going on with the FPS at the top.  I'm not going to be a purist here -- it's easy enough for the tools I'm writing to skip over these lines, and in the case of FPS, it's kind of handy that it's there in the stats file.  But I figured I'd ask about this while I was in there to see if some other way to go here.
My thinking is there should be 3 files here.  The scenes CSV, the stats CSV, and a third file in YAML or JSON (your choice -- I prefer YAML but JSON comes without an extra dependency.)  The third file would contain the cuts and the framerate, and could in the future contain anything else that's needed.
This isn't super high on my list right now, but it's something I could throw together if there's interest.

Thanks for your comments, I think being a purist about this kind of stuff is somewhat important to address ongoing technical debt - quite frankly I didn't give much thought to automated analysis of the output CSV files when I first implemented those features (I was still doing a lot of manual analysis using spreadsheet software).  Having the first row not being actual headers is indeed confusing, and definitely wasn't the best long-term choice.
My only reasoning for including a list of cuts in comma-separated format was that it could be copypasted directly into mkvmerge.  This was before I had implemented the split-video command which I guess kind of depreciated the use for the cutting list as an exported file (most users requiring a cutting list get it directly from the Python API now I think).
The approach you suggested is sound and I agree with it (personally would go for JSON just for the all batteries included approach).  That being said I'm wondering if it even makes sense to output a list of the cuts detected anymore, as most use cases for them would be automated and likely bypass using a file as an intermediate.  Maybe it's better to just keep the scenes and stats CSV files pure (e.g. same # of columns per row, first row is a real header), and only output the cutting list to the terminal.
Thoughts?
(I know this isn't a high priority, but I still consider this technical debt which the project would be better off addressing sooner - say for the v0.6 release - rather than leaving it and possibly forgetting about it).

Yeah, that'd work for me.  If you don't think outputting the cuts or frame rate to a file are important, there's no need to do extra work for them.  Just clean up both CSVs and be done with it.
Will send a PR.

Updated PR with a new one, but still need to add backwards compatibility for existing statsfiles.

Updated PR with a new one, but still need to add backwards compatibility for existing statsfiles.

Closed as per #196, will include in v0.5.5 release.

Closed as per #196, will include in v0.5.5 release.

Resolved in v0.5.5 branch, will be included in next release of PySceneDetect.  Thanks @tonycpsu!

Resolved in v0.5.5 branch, will be included in next release of PySceneDetect.  Thanks @tonycpsu!

I realize I only did this for statsfiles.  For list-scenes, I should probably add a command line flag that allows to trigger the first row being not written (rather than just removing it entirely).

I realize I only did this for statsfiles.  For list-scenes, I should probably add a command line flag that allows to trigger the first row being not written (rather than just removing it entirely).

Hey @tonycpsu;
I've added a new option to the list-scenes command called -s / --skip-cuts which will omit the first row when writing the CSV file to disk.  The default behaviour is still to include the extra cutting list as the first row, but if you specify this flag, it will be omitted.  The cutting list can still be saved from the last line of the terminal output, so I figured it wasn't worth dealing with writing it to another file.
Hopefully this will work out for most people, but feel free to share any additional thoughts/feedback.   Currently committed to v0.5.5 branch, will be included in the next release.

Hey @tonycpsu;
I've added a new option to the list-scenes command called -s / --skip-cuts which will omit the first row when writing the CSV file to disk.  The default behaviour is still to include the extra cutting list as the first row, but if you specify this flag, it will be omitted.  The cutting list can still be saved from the last line of the terminal output, so I figured it wasn't worth dealing with writing it to another file.
Hopefully this will work out for most people, but feel free to share any additional thoughts/feedback.   Currently committed to v0.5.5 branch, will be included in the next release.

Sounds great.  Looking forward to getting back to playing with this project soon.  Thanks for the fix!

Sounds great.  Looking forward to getting back to playing with this project soon.  Thanks for the fix!


Saving a page draft or publishing raises `django.utils.datastructures.MultiValueDictKeyError: 'body-count' error

Issue Summary

When I save any page by clicking "save draft" or "publish"  django.utils.datastructures.MultiValueDictKeyError: 'body-count error is raised. This happened after I upgraded from 6.0 to 6.1. Below is the stack trace
Internal Server Error: /en/admin/pages/148/edit/
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/django/utils/datastructures.py", line 84, in __getitem__
    list_ = super().__getitem__(key)
            ^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'body-count'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/decorators/cache.py", line 80, in _view_wrapper
    response = view_func(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/wagtail/admin/urls/__init__.py", line 178, in wrapper
    return view_func(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/wagtail/admin/auth.py", line 151, in decorated_view
    response = view_func(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/wagtail/admin/views/pages/edit.py", line 393, in dispatch
    return super().dispatch(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 143, in dispatch
    return handler(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/wagtail/admin/views/pages/edit.py", line 475, in post
    if self.form.is_valid() and not self.locked_for_user:
       ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/wagtail/admin/forms/pages.py", line 192, in is_valid
    return super().is_valid()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/modelcluster/forms.py", line 343, in is_valid
    form_is_valid = super().is_valid()
                    ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/forms/forms.py", line 197, in is_valid
    return self.is_bound and not self.errors
                                 ^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/forms/forms.py", line 192, in errors
    self.full_clean()
  File "/usr/local/lib/python3.11/site-packages/django/forms/forms.py", line 327, in full_clean
    self._clean_fields()
  File "/usr/local/lib/python3.11/site-packages/django/forms/forms.py", line 334, in _clean_fields
    value = bf.initial if field.disabled else bf.data
                                              ^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/forms/boundfield.py", line 136, in data
    return self.form._widget_data_value(self.field.widget, self.html_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/forms/forms.py", line 216, in _widget_data_value
    return widget.value_from_datadict(self.data, self.files, html_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/wagtail/blocks/base.py", line 613, in value_from_datadict
    return self.block_def.value_from_datadict(data, files, name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/wagtail/blocks/stream_block.py", line 112, in value_from_datadict
    count = int(data["%s-count" % prefix])
                ~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/utils/datastructures.py", line 86, in __getitem__
    raise MultiValueDictKeyError(key)
django.utils.datastructures.MultiValueDictKeyError: 'body-count'

Any other relevant information. For example, why do you consider this a bug and what did you expect to happen instead?

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: (yes / no)
No

Technical details

Python version: Run python --version.
3.11.1

Django version: Look in your requirements.txt, or run pip show django | grep Version.
5.0.4

Wagtail version: Look at the bottom of the Settings menu in the Wagtail admin, or run pip show wagtail | grep Version:.
6.1

Browser version: You can use https://www.whatsmybrowser.org/ to find this out.
Chrome 123

Working on this

Anyone can contribute to this. View our contributing guidelines, add a comment to the issue once you’re ready to start.

Hey, thanks for the report! This sounds like an error that happens when the client-side code fails to load a StreamField. Have you run python manage.py collectstatic after upgrading? Did you see any errors in the browser console?

Thanks @laymonage  and @gasman . This was it. python manage.py collectstatic resolved it. Sorry for the false alarm.


Call the close() method to terminate websocket connections

Simple change to fix ticket #541.
Is this all there is to it?

Superseded by #641 because I wanted to do things a bit differently. Thanks for the patch!


Add "from" to Mailgun action

All the credits go to @omeryarn, I just create a pull request with a single commit.
This pull request has just one commit as asked https://github.com/fastlane/fastlane/pull/1061 and https://github.com/fastlane/fastlane/pull/1091

@omeryarn @4brunu Thanks for the contribution! This is great!


net/http: document NoBody change in release notes

What version of Go are you using (go version)?
1.8beta1 and devel +2912544
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build416877118=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

What did you do?
Make HTTP request with Go 1.8beta1 and Go tip with a zero length HTTP request body.

Generic example: https://play.golang.org/p/1IllAJN-_j
AWS SDK for Go specific example: https://play.golang.org/p/tTBz9ArwgE

What did you expect to see?
GET http://route53.amazonaws.com/2013-04-01/hostedzone HTTP/1.1
Host: route53.amazonaws.com
User-Agent: aws-sdk-go/1.6.1 (go1.7.4; darwin; amd64)
Accept-Encoding: gzip

What did you see instead?
GET http://route53.amazonaws.com/2013-04-01/hostedzone HTTP/1.1
Host: route53.amazonaws.com
User-Agent: aws-sdk-go/1.6.1 (go1.8beta1; darwin; amd64)
Transfer-Encoding: chunked
Accept-Encoding: gzip

0

In aws/aws-sdk-go#984 it was discovered that Go 1.8beta1 and tip will send HTTP requests with Transfer-Ecoding: chunked if the request's body is zero length. This seems to be confusing some web servers that are waiting on content from the client. Eventually the the socket is closed by the server.
I think this is related to a HTTP server waiting for the last-chunk value. I have a feeling that the request content encoded body should be sent as, but not familiar with transfer-encoding spec to have a definitive suggesting.
0  <- chunk-size
0  <- last-chunk

https://tools.ietf.org/html/rfc2616#page-25
With that said, it would be preferable for the previous functionality preserved where transfer-encoding is only used for non-zero length bodies.

Whoa, good find! I'm surprised that the nothing in the gauntlet of net/http tests caught that.
Thanks!

Oh, sorry, I'm blind. I missed the most important lines of your repro and I got fixated on worrying about something unrelated.
In your repro, you write:
	req, err := http.NewRequest("GET", server.URL, nil)

	body := bytes.NewReader([]byte{})
	req.Body = ioutil.NopCloser(body)

The first line, NewRequest ends up setting req.Body to nil, and req.ContentLength to 0. So far so good.
Then you set Body non-nil. The only part of the http package with magic that uses the type of the Body is NewRequest. At this point on, the http Transport (as used by the Client) just sees that your Request.ContentLength is 0 (which means nothing for client requests) and sees a non-nil Body, so it assumes it might have content.
In Go 1.7 and some earlier releases, but not all, the Transport first did a test-read of 1 byte to determine whether the ContentLength was actually 0, or was only 0 because it was never set by the client.
That auto-byte-sniffing behavior has caused so many problems, we finally removed it in Go 1.8.
It now does exactly what you tell it to.
A new https://beta.golang.org/pkg/net/http/#NoBody variable can be used to signal that your ContentLength of 0 is actually zero, and not just unknown. It's now used by NewRequest internally. So if you did instead:
	body := bytes.NewReader([]byte{})
	req, err := http.NewRequest("GET", server.URL, body)

... then it would work as you expect, since NewRequest would check the size of the body and set NoBody automatically.
I never added this to https://beta.golang.org/doc/go1.8#net_http because I thought it was too much of an internal detail & more of a bug fix. Apparently not. I'll update the docs.

I forgot to mention: there is also #13722 open, to support GET-with-body more officially in Go 1.9. Consider this a baby step in that directory. Do you depend on GET with body in general? If not, the safest option for you to support any Go version is to never set Body to non-nil for GET requests.

I've sent https://go-review.googlesource.com/34210 as a documentation update.
Is that sufficient?
Let me know if I'm missing something.

Thanks for the update! This use case the code is setting the body arbitrarily for all requests as they are built. In all GET et co, request no body bytes are expected to be sent. This is why the examples had zero length bodies.
Arguably the code shouldn't be setting the request's Body at all if the length of the bytes is zero, which is something I should do.
My biggest concern was if users update Go to 1.8 the AWS SDK for Go would start to fail to make requests because an empty body was set on Request.Body, which worked fine in Go 1.7.

Maybe I can make an exception for GET requests.
That might be the good opt-in answer to #13722 anyway: for GET requests, require that ContentLength be non-zero for a body to be sent.
Would that work?

Do you think that should apply to all non PUT/POST? I think the same issue would occur on DELETE and HEAD as well.

Though I think that might get into dangerous braking change territory. Since code may be relying on Transfer-Encoding for GET/HEAD/DELETE to automatically figure out the content needs to be sent by inspecting the Request.Body.

The current docs for net/http's Request.Body does state a non-nil body implies that the request has a body, but the functionality up till 1.8 has been to inspect the body to determine if it is actually empty like you mentioned. Sending the content as chunked transfer-encoding for GET/HEAD/DELETE if ContentLength is not also set.
Is removing this functionality a breaking change? The doc CL is definitely a great clarification for this situation, but I'm concerned about the impact of the change on existing code that was maybe incorrectly, relying on this functionality.

I think the same issue would occur on DELETE and HEAD as well.

A HEAD request can't have a body. A DELETE can, just like POST or PUT or just about anything besides HEAD. Even though a GET can in theory have a body, conventionally it doesn't, which is why I propose making that method require a more explicit opt-in mechanism (setting the Body non-nil)

Sending the content as chunked transfer-encoding for GET/HEAD/DELETE if ContentLength is not also set.

I don't follow that sentence. But yes, when a ContentLength is unknown (-1 or 0 with non-nil body), then we use chunked encoding, or equivalent, depending on the protocol version.

Is removing this functionality a breaking change? The doc CL is definitely a great clarification for this situation, but I'm concerned about the impact of the change on existing code that was maybe incorrectly, relying on this functionality.

Some breakage for undefined or edge case behavior is sometimes acceptable if it fixes more important bugs and clarifies the documentation in the process. This might be such a case.
I hadn't heard of any breakages until your case.
You could update your code to stop setting your GET bodies non-nil, right? Your users would just need to "go get -u"? Maybe that's not ideal, but it seems within the realm of acceptable, in the name of forward progress.
Maybe there's a hacky workaround I could do just for your case, of using a non-nil Request.Body set to a standard-library-defined type(s). Is your empty non-nil body always a ioutil.NopCloser of *bytes.Reader? I could perhaps just detect that and also treat it as zero deep in the Transport code.

Some breakage for undefined or edge case behavior is sometimes acceptable if it fixes more important bugs and clarifies the documentation in the process. This might be such a case.

Yeah, I think this is what i might need to do. My code is using the fact that in 1.7 a request can be sent without a body even though Request.Body is not nil, and ContentLength is 0.
Ideally it would be best not to have a hack in the stdlib :( . My code is using a custom internal reader for the Request Body value.  It is an io.ReadSeeker though. Maybe checking for seeker and calculating the length from that is an option?

My code is using a custom internal reader for the Request Body value, but it does satisfy the io.ReadSeeker interface though. Maybe checking if Request.Body is an io.ReadSeeker and calculating the length from that is an option?

We can't call any method on something that might block or panic. If it's an in-memory type we know of, we can infer its length, but we've tried to keep that magic to NewRequest only, and we've never expanded its magic set of known types in the past.

Thanks, yeah that makes sense. I'll update my code to use http.NoBody if the body shouldn't be sent.

I will still consider whether to do something about GET (and I suppose DELETE) requests with ContentLength 0 for Go 1.8, though.,
Are there other HTTP methods you use and don't expect to ever send a body?

Thanks, I really think the best way forward for me, if the request life-cycle is being tighten to no longer inspect the length of the body, is to update my code to use http.NoBody for 1.8+. It will require users to update their repo when updating to Go 1.8, but not sure how the stdlib could be updated for each method without introducing additional inconsistencies, or edge/special cases for GET et co.
In my use case the only methods the server cannot handle with chunked bodies are GET, HEAD, and DELETE. In of its self this is probably something that should be fixed server side to not fail chunked requests when the body should be ignored.
Playing around with 1.8 request with the example https://play.golang.org/p/1IllAJN-_j using different methods, and request body empty. In all cases it looks like the requests are sent with the header Transfer-Encoding: chunked, regardless of method. Which makes sense given no ContentLength was set on the request. This is the same behavior as 1.7 except in 1.8 it also applies to empty body's as well. Including HEAD now as well.

It should not apply to HEAD. A HEAD request can't have a body, ever. If you can come up with an example of a HEAD request attempting to send a body (or even a Transfer-Encoding: chunked header), please file a separate bug (and reference this one).

Oh, sorry, a HEAD can't have a response body, not request. No clue about request. I was just busy playing in the snow and not thinking straight.

I've submitted a fix (6e36811c37399d60cbce587b7c48e611009c5aec) to Go 1.8 (after beta2) for this, so even users who don't update their aws-sdk-go won't be affected.

Thanks a lot for making this update! I'll test against the aws-sdk-go repo.

Hi @bradfitz Thanks for making this change. Sorry for delay getting back to you I've been out for a few weeks. From testing this looks like it solved most of the issue with aws-sdk-go and service requests. In testing we did discovered in aws/aws-sdk-go#1058 that one of the back end services does not correctly handle PUT with chunked transfer encoding, but I've reached out to them investigating if they can correct that issue. I'll still suggest users update to the latest version of aws-sdk-go, but this change should mitigate most of the impact.

@jasdel, great, thanks for the update!


feat: added Yandex SSO provider

Hello!
Added support for authentication using Yandex ID.
Docs: https://yandex.ru/dev/id/doc/en/

Hi @akimrx, thanks a lot for this PR!
I've got no problems with the code itself, looks good to me, could you just please look at following?

add Yandex to README.md to the contributed (along with your name / Github handle if you'd like to)

make sure the pipeline passes (you may use poe black and poe pylint) commands as specified in contributing or pre-commit

if you have any problems with pylint and stuff, just let me know, I'll do what's neccessary

Hi! Done


Upgrade containerd version and update containerd executor

In PR #2568 the "containerd" executor was removed, because it targeted an older version of containerd which was not being maintained anymore.
This PR aims to reintroduce the containerd executor (v1.0.2). This version is being actively maintained.
In the case this PR does not get merged, maybe the following lines, which seem to be related to the previous containerd implementation, should be removed:
[swarmd/main.go:288] mainCmd.Flags().String("containerd-addr", "", "Address of containerd instance of agent.")
[swarmd/main.go:289] mainCmd.Flags().String("containerd-namespace", "swarmd", "Namespace to use when using containerd agent.")

This is awesome!
My recommendation would be to update to the master branch of containerd. That client will keep us up to date but will work with 1.0+ daemons. There shouldn't too many changes.

ping @ijc @cyli @dperny PTAL
@svenpopping I opened a PR to (temporarily, if this PR gets accepted) remove the unused flags; https://github.com/docker/swarmkit/pull/2704
If that one gets merged; you can revert the change as part of this PR 👍

I don't have bandwidth for a full review, but FWIW I'm happy to see the code resurrected and maintained. @stevvooe's recommendation to use the containerd master client is a good one, although it might be wise to arrange for CI testing of the different minor versions since you do need to take care which interfaces you use if you want to support older ones in practice.
Somewhat unrelated but IMHO the IDE related .gitignore changes belong locally, either in .git/info/exclude or $HOME/.gitignore not committed to every project.

Somewhat unrelated but IMHO the IDE related .gitignore changes belong locally, either in .git/info/exclude or $HOME/.gitignore not committed to every project.

Ah, yes wanted to point to https://github.com/moby/moby/blob/e5cce50c7ea727c1c901b6e1443bd4291d62fce3/.gitignore#L2-L3 - perhaps we should add a similar line in this repository


Display the error on failed processing of csv records

Added

Add an error display in case the process fails if executed locally, such as the docker version here: https://github.com/dickwolff/Export-To-Ghostfolio/blob/51834f42dc2102f53f2a1461c5be1e6ff0ec7ef1/src/watcher.ts#L75

Related to this issue: https://github.com/dickwolff/Export-To-Ghostfolio/issues/35

Can you also bump the GitVersion with a patch moment?

Right, completely missed the Gitversion.yml file.


Replace custom mocking mechanism with nock module

Currently, mock-data is retrieved manually and for tests we are using two services: one for actual App and another for mock github API endpoints.
Using Nock module can be quite useful:

fixtures-fetching can be automated;
no need for additional routing;
no need for dedicated App which host mock third-party API.

Thus, I think that using this module should lead to simplicity of code.

It's a good module and we could use it, but we will have to write E2E tests at some point. While it's possible to use nock with TestCafe, it's still not recommended. It's better to use the built-in RequestMock or use a standalone mock service.


is there a version based on React.js?

I need one

No

@leeseean Use this one: https://github.com/kidjp85/react-id-swiper
It uses react-swiper as dependency and works inside reactJS. I think that is what you want.


fixing docker

What does this implement/fix?
Fixes for docker related files. Updated the nodejs version used (from 10. to 14.)

Sorry for the delay!
This looks good to me. I'll throw this into dev and hopefully someone can scream if it does not work. But it seems sensible!
Thanks for your contribution. Good work!


Useful: Which technologies is xxx built on?

Awesome .NET are wondeful .NET libraries and components for use in developments.
Maybe interesting a listing "useful projects" that uses those Awesome.Net.
If they are open source better.
For example, WorkFu App  use "awesome NET" like Autofac, Lucene, Dapper, SignalR, JQuery, Memcached, Booksleeve, Elmah, ...
http://blog.appharbor.com/2012/1/04/featured-app-workfu
Which technologies is WorkFu built on?
WorkFu is built on MVC 3 and utilises:
Redis, Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
Memcached, Free & open source, high-performance, distributed memory object caching system
Autofac,  IOC
Lucene,  full-featured text search engine
Dapper.net, simple object mapper
SignalR, simple real-time web
jQuery,
Booksleeve,  By offering pipelined, asynchronous, multiplexed and thread-safe access to redis
Elmah,  application-wide error logging facility that is completely pluggable.
MS SQL Server 2008,
S3 for file storage
and Postmarkfor mail delivery
We have background services running on separate Amazon instances along with our Redis and Memcached implementations.

I think such a list will quickly become place for advertisements. It can't be populated by maintainers.


Add related and visited NFTs

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type

[ ] Bugfix
[x] Feature
[ ] Refactoring

What's new?

[x] PR closes #990

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged the recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything seems works
[ ] I found edge cases
[ ] I've written some unit tests 🧪

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

oh nice!
https://deploy-preview-2722--koda-nuxt.netlify.app/rmrk/gallery/11275828-800f8a914281765a7d-KITTY-KITTY_PARADISE_262-0000000000000262

@preschian are you showing in the first row the sorted by cheapest ?

https://deploy-preview-2722--koda-nuxt.netlify.app/rmrk/gallery/10979592-8c5359d2bddaca9f4c-BBSF-COMMAND_CHIEF_MASTER_SERGEANT_FROMAGE-0000000000000080

Updated with sorted by cheapest, and then newest. orderBy: [price_ASC, updatedAt_DESC]. Is the graphql query correct?

seems to work well, will wait for code review

Also both new components are doing the same logic :) it would be far better to make one common component which can tackle both.

DeepScan scans unrelated files in this PR 🤔

oh, it seems not triggering on route change (homepage to item), checking

updated, ready for review again 🙏🏻

code looks definitely cleaner
just move the Min to the constants and make sure that all previous comments are resolved :)

yaps, previous comments should be updated also. some of them outdated

Found container 🫙 is broken on mobile again 😬 and it's moving, but I guess we can postpone it to another following issue.
https://user-images.githubusercontent.com/5887929/161374871-2edd68c8-ee2e-4395-833a-a5359da66682.mp4

pay 300 usd

😍 Perfect, I’ve sent the payout
💵 $300 @ 195.63 USD/KSM ~ 1.534 $KSM
🧗 DY4SQF2iD456tH89aQtz5wv1EV3BbSW8wKKuMcwbmXaj1pM
🔗 0x22f7ec0072454afb40b92070fa0ed6f7c09aecb73511793a1c0e4d9db5151191
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues

Found container 🫙 is broken on mobile again 😬 and it's moving, but I guess we can postpone it to another following issue.
Record_2022-04-02-10-36-02.mp4

oops 😱
thanks a lot @yangwao @vikiival


[nix] create common ExperimentalFlags function

Summary
I noticed that print-dev-env and nix profile commands were using a different set
of nix experimental features.
I think we should unify these so that they're writing to the store in a common fashion.
Implementation Note
It appears that: "--extra-experimental-features", "nix-command flakes", is different from "--option", "experimental-features", "nix-command flakes" for our nix print-dev-env testscripts.
We must have the latter. The former is insufficient and not needed.
This confuses me because the docs suggest that --extra-experimental-features should append these experimental features, whereas --option replaces the experimental features:

--option name value
Set the Nix configuration setting name to value (overriding nix.conf).

and

--extra-experimental-features value
Append to the experimental-features setting.

Concretely:
This works:
		"--extra-experimental-features", "ca-derivations",
		"--option", "experimental-features", "nix-command flakes",

but this does not work:
"--option", "experimental-features", "ca-derivations nix-command flakes",

and nor does this:
		"--extra-experimental-features", "nix-command flakes",
		"--extra-experimental-features", "ca-derivations",

How was it tested?
go test ./...
in examples/testdata/go/go-1.19 with flakes feature flag on for all commands:
> devbox shell
(devbox)> devbox add vim emacs
(devbox)> source activate shell...

(devbox)> devbox rm emacs

Current dependencies on/for this PR:

main

PR #678   👈

This comment was auto-generated by Graphite.


[usecase-cordova][XWALK-3580] Update the location of test.py for CordovaPackage

Impacted tests(approved): new 0, update 1, delete 0
Unit test platform: [Android]
Unit test result summary: pass 1, fail 0, block 0

LGTM


FT: Include role field in replicationInfo objMD

@ironman-machine try

Hello @bennettbuchanan
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "DEFAULT_BRANCH": "master", "SCALITY_S3_BRANCH": "ft/include-Role-in-replicationInfo-object-MD"}
Please follow http://ci.ironmann.io/gh/scality/Integration/13915 for CI status.

@ironman-machine try

Hello @bennettbuchanan
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "DEFAULT_BRANCH": "master", "SCALITY_S3_BRANCH": "ft/include-Role-in-replicationInfo-object-MD"}
Please follow http://ci.ironmann.io/gh/scality/Integration/13991 for CI status.

E2E passed.

@ironman-machine try

Hello @bennettbuchanan
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "DEFAULT_BRANCH": "master", "SCALITY_S3_BRANCH": "ft/include-Role-in-replicationInfo-object-MD"}
Please follow http://ci.ironmann.io/gh/scality/Integration/13994 for CI status.


fbsimctl: Support waitUntilAllTestRunnersHaveFinishedTestingWithTimeout

It would be great to support executing tests on the command line and wait for them to finish. Example:
fbsimctl --simulators $UDID launch_xctest $APP/PlugIns/UnitTests.xctest com.ebaykleinanzeigen.ebc --wait-with-timeout 600

Another thing that would be nice is getting the test output in some sort of machine readable format (JSON?). So we can transform that in whatever we like (e.g. JUnit).

Yes! This is something that makes a lot of sense. It should be pretty easy to get this up and running. The APIs for waiting as you point out. It's just a case of parsing the arguments, writing a reporter, and passing this down into where the tests are launched.
This is a decent and fun task for anybody who wants to hack on fbsimctl 😄

I see that fbsimctl can already produce JSON formatted output. I have the feeling that implementing a generic reporter would make more sense. Then anybody can use that JSON stream as an input and transform it to whatever they like, e.g. JUnit. What do you think?
Regarding wiring waitUntilAllTestRunnersHaveFinishedTestingWithTimeout: I assume I should extend Action.LaunchXCTest in some way so that I can pass in a timeout value, right?

I see that fbsimctl can already produce JSON formatted output. I have the feeling that implementing a generic reporter would make more sense

Yes, there is a reporter that is used to report events in either a human readable or JSON format. I never really envisioned using it for reporting test results however, as the format of the reported output can be substantially different between JUnit, RSpec, whatever. I would have thought going directly to the target output would make it easier to integrate with other tools, rather than adding another translation layer.
I could see that you could use the current reporter as-is, by passing it to a concrete implementation of FBTestManagerTestReporter that takes the fbsimctl reporter could be a good way to get started. You could also put the reporter in XCTestBootstrap and then it can be used by other consumer libraries.

Regarding wiring waitUntilAllTestRunnersHaveFinishedTestingWithTimeout: I assume I should extend Action.LaunchXCTest in some way so that I can pass in a timeout value, right?

Yep, you can just add another associated type to the enumeration. I'd consider making the timeout optional for the time being. There's plenty of examples for how to construct a flag like this in CommandParsers and CommandParsersTests.

I've added support for passing in the timeout parameter via --test-timeout. If that looks good to you I'll open a pull request for that.

Just to avoid confusion and I start working on something wrong: You'd like to have a reporter in XCTestBootstrap that understands how to generate RSpec output for example. And in fbsimctl I can tell via some enum hooked into a CommandParser that I want to use that reporter? E.g. --reporter-format rspec
For the JUnit case we probably also want to specify via some command line argument where to write the XML to.

I have a scheme with set of UITests written using KIF, which can be run successfully using XCTool command line. Need some one help to run tests using fbsimctl , any help would be much appreciated here.
I am trying something command like:  fbsimctl simulator_UDID launch_xctest [path]/myTests.xctest
[pathto]/com.myapp.app.

Another thing I'm wondering regarding reporters: It would be great to support attaching multiple reporters, like it was possible with xctool
Example:
fbsimctl launch_xctest --reporter rspec:'-' --reporter junit:'test-reports/junit.xml'
Do you agree on this?

@plu I'll follow up with your questions as I see them, feel free to @ me if there's a specific answer you need.

And in fbsimctl I can tell via some enum hooked into a CommandParser that I want to use that reporter? E.g. --reporter-format rspec

This sounds like a good approach. Allthough it may be more convenient to write the reporter in Swift, anyone who uses XCTestBootstrap will be able to use your reporter.

For the JUnit case we probably also want to specify via some command line argument where to write the XML to.

This sounds like you may then want a ReporterOutput struct/enum in Swift for specifying the required parameters for each of the reporters, as the type of output in them will vary.

Another thing I'm wondering regarding reporters: It would be great to support attaching multiple reporters, like it was possible with xctool

This is totally possible and should be quite trivial to implement, I wouldn't worry too much about what the CLI will look like for this first off, that can be refined later. You could have a FBTestManagerTestReporterComposite that would take an array of FBTestManagerTestReporter's and report to each of them in sequence so that you can get multi-reporting.

Thank you for your quick response! Everything sounds great to me. I'll have a look at implementing it soon and create a separate pull request for it.

The easiest part is done. I hope I got the code style etc right.

The easiest part is done. I hope I got the code style etc right

Yeah, it looks like what we have everywhere else

We could close this issue. The topic of the issue has been solved and merged into master already. I hijacked the issue for more than one topic and will follow up with other pull requests on these topics. If you agree, let's close it.

Great, closing in favour of other issues/PRs


About Model Saving

Hello, I would like to consult how to use torch.jit.trace to save the model

@qiuqiangkong thanks


building error

I followed the instructions form "https://github.com/awai54st/PYNQ-Classification", but encountered the following error when i tried "make all" after copying the makefile.config from PYNQ to caffe root.
Iv tried method like adding opencv_imgcodecs to the LIBRARIES + line in the Makefile, but still, the problem remained.
What am I do wrong?
CXX src/caffe/solvers/sgd_solver.cpp
CXX src/caffe/solvers/adagrad_solver.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -lopencv_imgcodecs
/usr/bin/ld: cannot find -lopencv_imgcodecs
/usr/bin/ld: cannot find -lboost_python3
/usr/bin/ld: cannot find -lopenblas
collect2: error: ld returned 1 exit status
Makefile:572: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1

Sorry for the late reply. I have uploaded the SD card image onto an online drive. It has Caffe and Theano pre-installed. Please see the updated README.md for details.

And based on the log it looks like you are missing opencv and a boost (either openblas or atlas should do). If you wish to continue to install the dependencies manually, these may be the directions to start with.


x/net/proxy: Failed SOCKS5 connection causes file descriptor leakage

What version of Go are you using (go version)?
go version go1.11 openbsd/amd64
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/stuart/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="openbsd"
GOOS="openbsd"
GOPATH="/home/stuart/go"
GOPROXY=""
GORACE=""
GOROOT="/home/stuart/.go/1.11"
GOTMPDIR=""
GOTOOLDIR="/home/stuart/.go/1.11/pkg/tool/openbsd_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="0"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -fmessage-length=0"
What did you do?
Made a connection attempt via a SOCKS5 proxy to a port on which a host wasn't listening.
package main

import (
        "log"
        "time"

        "golang.org/x/net/proxy"
)

func main() {
        /* Create a dialer to localhost:5555 */
        d, err := proxy.SOCKS5("tcp", "localhost:5555", nil, proxy.Direct)
        if nil != err {
                panic(err)
        }

        /* Try to connect 10 times to a non-existent listener */
        for i := 0; i < 10; i++ {
                c, err := d.Dial("tcp", "<IP_ADDRESS>:1234")
                if nil != c {
                        if err := c.Close(); nil != err {
                                log.Printf("Close: %v", err)
                        }
                }
                if nil != err {
                        log.Printf("Dial: %v", err)
                        continue
                }
        }

        /* Give us time to check the open file descriptors */
        time.Sleep(time.Hour)
}

What did you expect to see?
The underlying connection to the SOCKS5 server closed when the connection via the server closed.
What did you see instead?
File descriptor leakage due to the underlying connection not being closed.
This seems to occur because if the underlying call to Dialer.DialWithConn fails (https://github.com/golang/net/blob/master/internal/socks/socks.go#L226), the net.Conn made by Dialer.Dial caller isn't closed before the error is returned to the caller.

Good catch, thanks for the report.


Add support for KEDA

Fix #1107
This adds support for KEDA autoscalers. It supports both manual configuration and fully automated configuration based on Kamelet metadata. In the fully automated scenario, Kamelets are annotated with special KEDA markers to tell the KEDA trait how to configure properties. I've added documentation in the Kamelet dev and user guide.
Everything is developed under addons. The only bits that are added to the main codebase are the roles/bindings for which a major refactoring was needed.
I've not directly pointed to the KEDA repo to import the API since they use a single module. We can ask to provide APIs in a separate module in the future. Until then, we need to sync the APIs from time to time. We only use 2 objects and I've included only fields relevant for us.
The KEDA trait allows configuring multiple triggers for an integration. In order to do it, I had to extend the CLI to support slices of complex objects. KEDA also requires that the resources being scaled have a spec -> replicas field, that we don't put by default. So, when the KEDA trait is enabled there's a specific hack in place that sets that field explicitly to make KEDA work.
Among manual configs, the user can indicate a secret per trigger that contains authentication options, other than plain metadata.
Auto-configuration works with Kamelet. By annotating Kamelets/properties with special markers, the trait is able to map Kamelet configuration to KEDA configuration, so that a KameletBinding can automatically create all KEDA resources without additional input from the user.
I've also created some KEDA-enabled Kamelets that I'll publish when this PR gets merged.
The trick is to add something like this in the Kamelet definition:
    properties:
      topic:
        title: Topic Names
        description: Comma separated list of Kafka topic names
        type: string
        x-descriptors:
        - urn:keda:metadata:topic
        - urn:keda:required

That tells to the trait that the topic Kamelet property corresponds to the topic KEDA parameter. There are more sophisticated configuration explained in the dev guide.
So when you bind e.g. a Kafka Source Kamelet to a destination, you need to add a trait.camel.apache.org/keda.enabled=true annotation and nothing else and you'll have autoscaling and scaling to zero from Kafka.
I've also added metadata to the AWS-SQS Kamelet and plan to do a demo with both.
The new Kamelet looks like this:
# ---------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ---------------------------------------------------------------------------

apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
  name: aws-sqs-source
  annotations:
    camel.apache.org/kamelet.support.level: "Preview"
    camel.apache.org/catalog.version: "main-SNAPSHOT"
    camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,[encoded data, 4228 characters]"
    camel.apache.org/provider: "Apache Software Foundation"
    camel.apache.org/kamelet.group: "AWS SQS"
    camel.apache.org/keda.type: "aws-sqs-queue"
  labels:
    camel.apache.org/kamelet.type: "source"
spec:
  definition:
    title: "AWS SQS Source"
    description: |-
      Receive data from AWS SQS.
    required:
      - queueNameOrArn
      - accessKey
      - secretKey
      - region
    type: object
    properties:
      queueNameOrArn:
        title: Queue Name
        description: The SQS Queue Name or ARN
        type: string
        x-descriptors:
        - urn:keda:metadata:queueURL
        - urn:keda:required
      deleteAfterRead:
        title: Auto-delete Messages
        description: Delete messages after consuming them
        type: boolean
        x-descriptors:
        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
        default: true
      accessKey:
        title: Access Key
        description: The access key obtained from AWS
        type: string
        format: password
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:password
        - urn:camel:group:credentials
        - urn:keda:authentication:awsAccessKeyID
        - urn:keda:required
      secretKey:
        title: Secret Key
        description: The secret key obtained from AWS
        type: string
        format: password
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:password
        - urn:camel:group:credentials
        - urn:keda:authentication:awsSecretAccessKey
        - urn:keda:required
      region:
        title: AWS Region
        description: The AWS region to connect to
        type: string
        example: eu-west-1
        x-descriptors:
        - urn:keda:metadata:awsRegion
        - urn:keda:required
      autoCreateQueue:
        title: Autocreate Queue
        description: Setting the autocreation of the SQS queue.
        type: boolean
        x-descriptors:
        - 'urn:alm:descriptor:com.tectonic.ui:checkbox'
        default: false
      amazonAWSHost:
        title: AWS Host
        description: The hostname of the Amazon AWS cloud.
        type: string
      protocol:
        title: Protocol
        description: The underlying protocol used to communicate with SQS
        type: string
        example: http or https
        default: https
  dependencies:
    - "camel:aws2-sqs"
    - "camel:kamelet"
  flow:
    from:
      uri: "aws2-sqs:{{queueNameOrArn}}"
      parameters:
        autoCreateQueue: "{{autoCreateQueue}}"
        secretKey: "{{secretKey}}"
        accessKey: "{{accessKey}}"
        region: "{{region}}"
        deleteAfterRead: "{{deleteAfterRead}}"
        amazonAWSHost: "{{?amazonAWSHost}}"
        protocol: "{{?protocol}}"
      steps:
      - to: "kamelet:sink"

While developing I did a bit of refactoring in the serverside apply part, but later I didn't use it (but kept the refactoring).

Release Note
Added support for KEDA autoscalers with automatic configuration when using Kamelets

I forgot to mention that it seems you've also fix #1616 in the process, maybe partially though?

I forgot to mention that it seems you've also fixed #1616 in the process, maybe partially though?

Yes, iirc those cases should be covered. I'll add some other tests to verify.

I think there's something wrong in the new applier. Maybe we can fix it in another PR, wdyt @astefanutti ?

@nicolaferraro sure, we can figure it out later. I was about to suggest you exactly that also for the point about the scale sub-resource detection.


Battle.net Now Has Classic Offerings

To my surprise, Diablo + Hellfire, WarCraft: Orcs & Humans, and WarCraft II: Battle.net Edition are now available for purchase via Battle.net. However, I have noticed that Battle.net is not included under Platforms this list is checked against. I could submit a PR regarding this, but I thought I'd make an issue first to see how you'd prefer to proceed.
EDIT: I've since opened an unrelated PR and can tack-on whatever changes deemed fit from this discussion.

I have no problem adding more platforms, if you guys check against them. I’m buried under work at the moment and don’t have much time to do all the checks myself.
Feel free to submit your PRs! I’m glad that my list is kept up to date and read by a growing amount of gog users. Thank you all for your work, I really appreciate it!


Add useQueries to @tanstack/react-query

Fixes #127

This is missing the ability for the typed response to be a tuple, rather than an unbounded array, means users will need to do an is not undefined check

Also missing documentation

LGTM!

Codecov Report

Merging #128 (4fd7862) into main (d47f70a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #128   +/-   ##
=======================================
  Coverage   84.57%   84.57%
=======================================
  Files           9        9
  Lines         188      188
  Branches       44       44
=======================================
  Hits          159      159
  Misses         19       19
  Partials       10       10

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Users falsely show as "away" (independently of their online status in Mattermost)

I am using matterircd v0.19.4 with Mattermost 5.17.3. In my IRC client (Konversation 1.7.5), almost all nicknames are grayed out, i.e., the client thinks all users are away. Even myself. Only sometimes, for some reason, some user shows up as online (while other users that are online at the same time are still grayed out). The away status should reflect the status on Mattermost.
I also get the impression that #165 is still not fixed either, but I cannot reliably test that due to this issue.

This is kind of a dupe of issue #147 right? I'm experiencing the same issue...
I think #147 was not fixed

Interestingly, it seems I'm not away on Mattermost (I'm seen as available/online there), but I'm showing as away on IRC

This is kind of a dupe of issue #147 right?

No, not quite. #147 was about matterircd users always showing as away to others. This one is about others almost always showing as away to matterircd users.

OK, then perfect! In my experience, the problem is happening with myself: I'm showing as away on matterircd, but seems Online in mattermost. Some friends do show as online in IRC, and they are online in Mattermost...

Related issue: issue #275

This should be fixed in master. (as in I can not reproduce this anymore)


Server improvements

Use PyBluez to get bluetooth address of adapter
configure device class after registering profile because it causes  the device class to be reset to 0x400000

PyBluez can be installed using
sudo pip3 install PyBluez

thank you for your contribution


Wrong calculation of output value in GRU

In file /keras/layers/recurrent.py, at commit  07bb88c, the output of the GRU layer is wrongly calculated. In fact, in line 1921 we can read:
h = z * h_tm1 + (1 - z) * hh
which is incorrect, since the candidate hidden state hh multiplies with z and not with (1-z). I guess the reason it works is because, in the end, the algorithm adjusted the weights Wz and Uz that produces z so take this into account, but I feat that the accuracy might not be achieving its full potential because of this. From the GRU original paper https://arxiv.org/abs/1412.3555, on page 4, we confirm that z actually multiplies with hh, and  not the other way around:

Thanks in advance!

I agree with you :)

@jpcf  The links provided in the issue seem to be not working. Could you please have a look at this updated doc and let me know if it helps?
Thank you!


RESTEASY-1405: Support InputPart form parameters for @MultipartForm.

Allow Resteasy to inject InputPart as well as InputStream, so that we also have access to the part's Content-Type header.
See https://issues.jboss.org/browse/RESTEASY-1405

This pull request replaces #815.

Replaced by https://github.com/resteasy/Resteasy/pull/908


Simple spelling bug in Singleton link

http://jmp.sh/UxFuxbf
links to cockpit/singleton vs cockpit/singletons

also click on the gear on the Singletons page (http://jmp.sh/XXB7U8D) takes you to a 404

Thanks for reporting!


dpkg: 1.22.1 -> 1.22.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/dpkg/versions.
meta.description for dpkg is: The Debian package manager
meta.homepage for dpkg is: https://wiki.debian.org/Teams/Dpkg
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.22.3 with grep in /nix/store/47n9idcqyswi35ipqzh6l28fyamliyr8-dpkg-1.22.3
found 1.22.3 in filename of file in /nix/store/47n9idcqyswi35ipqzh6l28fyamliyr8-dpkg-1.22.3

Rebuild report (if merged into master) (click to expand)

305 total rebuild path(s)

305 package rebuild(s)

First fifty rebuilds by attrpath
alfaview
angryipscanner
apkg
appgate-sdp
apt
armcord
aws-workspaces
ayatana-indicator-datetime
ayatana-indicator-session
bdf2psf
beyond-identity
bisq-desktop
bitscope.chart
bitscope.console
bitscope.display
bitscope.dso
bitscope.logic
bitscope.meter
bitscope.proto
bitscope.server
bitwig-studio
bitwig-studio3
bitwig-studio4
bitwig-studio5
blackfire
bluej
bluemail
brave
breitbandmessung
cargo-deb
ciscoPacketTracer7
ciscoPacketTracer8
clash-verge
clockify
cloudflare-warp
cups-brother-hl1110
cups-brother-hl1210w
cups-brother-hl2260d
cups-brother-hl3140cw
cups-brother-hll2340dw
cups-brother-hll2350dw
cups-brother-hll2375dw
cups-brother-hll3230cdw
cups-brother-mfcl2750dw
dcp375cw-cupswrapper
dcp375cwlpr
dcp9020cdw-cupswrapper
dcp9020cdwlpr
debian-devscripts
debootstrap

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/47n9idcqyswi35ipqzh6l28fyamliyr8-dpkg-1.22.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A dpkg https://github.com/r-ryantm/nixpkgs/archive/63332c63418875cf865d1c8202de0b68bfedcc79.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/63332c63418875cf865d1c8202de0b68bfedcc79#dpkg

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/47n9idcqyswi35ipqzh6l28fyamliyr8-dpkg-1.22.3
ls -la /nix/store/47n9idcqyswi35ipqzh6l28fyamliyr8-dpkg-1.22.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/dpkg/versions.
meta.description for dpkg is: The Debian package manager
meta.homepage for dpkg is: https://wiki.debian.org/Teams/Dpkg
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.22.4 with grep in /nix/store/iyw9ba3l39f2212r20f4dnwdrks0wa33-dpkg-1.22.4
found 1.22.4 in filename of file in /nix/store/iyw9ba3l39f2212r20f4dnwdrks0wa33-dpkg-1.22.4

Rebuild report (if merged into master) (click to expand)

309 total rebuild path(s)

309 package rebuild(s)

First fifty rebuilds by attrpath
alfaview
angryipscanner
apkg
appgate-sdp
apt
armcord
aws-workspaces
ayatana-indicator-datetime
ayatana-indicator-session
bdf2psf
beyond-identity
bisq-desktop
bitscope.chart
bitscope.console
bitscope.display
bitscope.dso
bitscope.logic
bitscope.meter
bitscope.proto
bitscope.server
bitwig-studio
bitwig-studio3
bitwig-studio4
bitwig-studio5
blackfire
bluej
bluemail
brave
breitbandmessung
cargo-deb
ciscoPacketTracer7
ciscoPacketTracer8
clash-verge
clockify
cloudflare-warp
cups-brother-hl1110
cups-brother-hl1210w
cups-brother-hl2260d
cups-brother-hl3140cw
cups-brother-hll2340dw
cups-brother-hll2350dw
cups-brother-hll2375dw
cups-brother-hll3230cdw
cups-brother-mfcl2750dw
dcp375cw-cupswrapper
dcp375cwlpr
dcp9020cdw-cupswrapper
dcp9020cdwlpr
debian-devscripts
debootstrap

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/iyw9ba3l39f2212r20f4dnwdrks0wa33-dpkg-1.22.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A dpkg https://github.com/r-ryantm/nixpkgs/archive/507bfd5f0a66b02c2a1e389959c783a1a5321e77.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/507bfd5f0a66b02c2a1e389959c783a1a5321e77#dpkg

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/iyw9ba3l39f2212r20f4dnwdrks0wa33-dpkg-1.22.4
ls -la /nix/store/iyw9ba3l39f2212r20f4dnwdrks0wa33-dpkg-1.22.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.


Ajax push of new messages

What if a server pushes message update to the client ?

It's using a long polling GET. If the server doesn't have a message for the client it holds it until one comes available then returns it.
When making a GET request the client gives it its prefix and the timestamp of the last GET it made. The server only returns messages that came in after that timestamp (so the client doesn't download messages it already has).


function to return index of item in list

i cant find any function to call by click on any function ,
can anyone help me

onIndexChange is what you need


when set the height of the bottom sheet to be maximum or fill the whole screen it crashes.

This issue related to Compose version, looks like fixed in 1.1.0

I have plans to publish a new version without BottomSheet. The new approach based on MotionLayout
Demo version:
https://user-images.githubusercontent.com/16294951/148814037-60f222f1-44a7-4d60-b88d-ef115ab71468.mp4