fix spacing and casing in README.md

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


SCP1: Text tables are not imported

During serialisation of a BC-Set with a text table, the field "recnumber" of language texts is not condensed in the XML:

This leads to a problem by activation of the pulled BC-Set, namely the language texts are not loaded. I've extended a little bit the logic of the methods ADJUST_OUTBOUND() and ADJUST_INBOUND() of the class ZCL_ABAPGIT_OBJECT_SCP1 and now the text tables seems to be working fine. The problem was that the field "recnumber" of the internal table "cs_scp1-scprvall" was not condensed like it was in other 2 tables "cs_scp1-scprvals" and "cs_scp1-scprreca".
This is my correction:
`Method ZCL_ABAPGIT_OBJECT_SCP1->ADJUST_OUTBOUND()
...
LOOP AT cs_scp1-scprvall ASSIGNING <ls_scprvall>.
CONDENSE <ls_scprvall>-recnumber.
ENDLOOP.
Method ZCL_ABAPGIT_OBJECT_SCP1->ADJUST_INBOUND()
...
LOOP AT cs_scp1-scprvall ASSIGNING <ls_scprvall>.

SHIFT <ls_scprvall>-recnumber RIGHT DELETING TRAILING space.
ENDLOOP.

`
Could you check it please.

guess this can be closed?

Give me some time, I will test the correction and close the issue

@p-dmitrij @larshp I think we can close the issue: I just did a test, without the modifications of commit de7dfea3d3e8ebb06a1e688052f7c4e278ef345f (in fact, by debug, I skipped the 2 LOOP AT cs_scp1-scprvall added), and then with the modifications. I used SM30 BALOBJ for the test. The text table is BALOBJT.
Note that I had a diff on the BC set after the push and after the pull, before the correction, because of issue #2571 which removes the leading spaces during the deserialization.
Before correction
In the source system, before push

In the Git repository (zzzzz.scp1.xml file)

In the target system, after pull and BC set activation

After correction
For the test, I just suffixed the text with "2" and did a "supplement" of the existing BC set to load the new text.
In the source system, before push

In the Git repository (zzzzz.scp1.xml file)

In the target system, after pull and BC set activation

thanks, closing

@sandraros Thank you for the testing!


Value Consolidator

Expected Behavior

Value Consolidator, for Volume and Dollar Bars as described in the book Advances in Financial Machine Learning, and as implemented by mlfinlab:
https://www.quantconnect.com/forum/discussion/5853/mlfinlab-python-package-released-advances-in-financial-machine-learning/
Actual Behavior

Discussion forum replies suggest RenkoConsolidator. However, RenkoBars do not accumulate value of previous bars.
Wanted:
bars = []
data = [1, 2, 3, 4, 5]
total = 0
bar = { 'open': 0, 'close': 0, 'high': 0, 'low': 0}
for d in data:
    total += d
    if total < threshold:
        if bar['open'] == 0:
            bar['open'] = d
        ...
    else:
        bar['close'] == d
        bars.append(bar)
        total = 0
        bar =  { 'open': 0, 'close': 0, 'high': 0, 'low': 0}

Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

Also mentioned in forums here:
https://www.quantconnect.com/forum/discussion/7313/tick-volume-and-dollar-bars


bug: handle xml with namespaces closes #1427

This PR adds test to validate the expected behavior of the XmlToXPathConverter class when the input is an xml that contains an name space and one that does not contain such namespace.
The implementation of the fix consists in enabling the name space aware property of the DocumentBuilderFactory so that the document instance created from the xml is capable of identify the attributes prefixes and use the DOMNamespaceContect to translate the identified name spaces to the required dom elements.

Great work @javiersvg , thanks for the PR!

@marcingrzejszczak I found the same issue is affecting the method used to validate the results. I have 2 possible fixes for it but should I create a new issue or should I just reopen this one?

Let's reopen this :)


Fix unallocated memory read in Markup parser

Small memory read error found whilst fuzzing another application that uses the Swift Markup parser.

Fix LGTM, do you have a test case?

Not for Swift. I'll see if I can come up with something - I think it should be triggered by parsing "///\n" under ASAN though.

Can you suggest a way to get any of the command line tools to parse the doc comments? I can't seem to find a way to do it.

I believe test/SourceKit/MarkupXML/basic.swift wanders its way through this code path.  If not, trace your way out from the Markdown parser to the requisite SourceKit request (here it's markup-xml) and search for related tests.

If you run the tests under ASAN, then the existing test file: test/IDE/comment_brief.swift will trigger this bug.

Then let’s give this a go
@swift-ci please ASAN test

@swift-ci please smoke test and merge


401 when bearer is set but not valid on anonymous route

Hi,
I'm using this bundle with FosUserBundle.
I have this in security.yml :
firewalls:
    app:
            pattern: ^/api
            stateless: true
            anonymous: true
            lexik_jwt: ~

with the following access_control :
- { path: ^/api/user/action1, roles: IS_AUTHENTICATED_FULLY }
- { path: ^/api/user/action2, roles: IS_AUTHENTICATED_ANONYMOUSLY }

The behaviour I was expecting for /api/user/action2 is having access no matter what is inside the request header. However I'm getting a 401 in the case where the Authorization Bearer is set but not valid (it is ok with valid token or no Authorization Bearer at all).
My use case is I need to check in my controller if the user is logged in but if not, I still want to let that anonymous user access the route.
Is this behaviour normal ?

I had the same situation and i conclude one thing.
Sf2 need to give you the role "IS_AUTHENTICATED_ANONYMOUSLY" before the access_control check.
Then sf2 needs to authenticate you first.
This means that if you want to avoid this kind of behavior sf2 should check access_control before then after the authenticate.
I don't think, it be a correct behavior.
On the client perspective, this means that you send the auth header (which means you wants to be authenticated) and in the same time you don't want to be authenticated. This can't be logic.
The only solution i found is to separate the private and public Api.
Hope it helps you !


feat: upgrade to fontawesome v6

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] related with #4788
[x] looks fine, just fixed a little issue regarding icon size

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged 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
[ ] 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

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

what's ENV for pro?

if that still fails, let's go with the token.

ok, works!

pay 50 usd

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


LSPS0: Signal supported LSPS-version

This PR unifies how for LSP-servers can signal what protocols and versions they support

This is an alternative proposal to PR https://github.com/BitcoinAndLightningLayerSpecs/lsp/pull/56.

The server just shows what versions it supports and the client can immediately start using the version it also supports rather then first having to tell the server I'm going to use version X.

This requires strictly more RPC turnarounds:

client -> server "What versions do you support?"
sever -> client "These are: "
client->server "Let us use this version: "

Vs.

client -> server "I support these versions: "
server -> client "Let us use this version: "

This requires strictly more RPC turnarounds:

I don't think that's a fair representation.
This proposal usually requires one round-trip

Client -> Server: What versions do you support?
Server -> Client: I support these versions
Client -> Server: This is usage. (E.g: lsps1.v1.get_info)

There is a single round-trip in lsps0.list_protocols here.
To my understanding any proposal requires at-least one round-trip. Either lsps0.list_protocols or lsps0.select_versions must be called.

@ErikDeSmedt Not for LSPS4.  In LSPS4 in theory you could just call get_scid once, since the permanent SCID is permanent, and just cache it across multiple connections.  So for example the client negotiates version once, then calls get_scid, stores the SCID, then goes offline, then when it comes online again it can issue more invoices without having to call get_scid again.  However, the LSP cannot be sure about what version the client supports (the client can downgrade if e.g. there is a bug, so the LSP cannot safely cache the version) until the client actually makes some call.  In LSPS4, all payments to the permanent SCID are first informed to the client as notifications.  What version should the LSP use?  Again, it cannot safely use the version that the client mentioned in the previous connection, as the client might have gone offline because it was buggy and the human operator downgraded it to an older version.
This is the reason why the version negotiation in LSPS4 is done the way it is --- client says what versions it supports, LSP selects.  This allows the client to never call the LSP unless it actually gets a payment.


[CARBONDATA 1040] Add notes of unsupported update table and delete records in spark 2.1

Description: Add description of unsupported update table and delete records in spark 2.1

Build Success with Spark 1.6.2, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/1976/

Build Success with Spark 1.6.2, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/1979/

Build Success with Spark 1.6.2, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/1980/

LGTM
@chenliang613 kindly review

retest this please

Build Success with Spark 1.6.2, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2069/

retest this please

Build Failed  with Spark 1.6.2, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2072/

Build Success with Spark 1.6.2, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2073/

Build Success with Spark 1.6.2, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2074/


Pretty print indent

currently, if a user of the library wants to serialise to a pretty JSON string with an indent other than 2 spaces, this is the way to go about it:
let value = ...;

let mut buf = Vec::new();
let formatter = serde_json::ser::PrettyFormatter::with_indent(b"    ");
let mut ser = serde_json::Serializer::with_formatter(&mut buf, formatter);
value.serialize(&mut ser)?;
let pretty_json = String::from_utf8(buf)?;

not fun.
this PR adds a couple methods, culminating in serde_json::to_string_pretty_indent. it does the exact same thing as to_string_pretty but it allows you to pass an indent such as b"    " down the chain to PrettyFormatter. this can be used like so:
let value = ...;

let pretty_json = serde_json::to_string_pretty_indent(&json, b"    ")?;

i have not written any tests because i poked around and saw that there were a lot of things going on. some help with that would be greatly appreciated. i already tested the additions in another project of mine to ensure that it does function.

i'm also curious—why must a &[u8] be provided? wouldn't a usize be better?
that way, instead of providing b"    ", you could just provide 4. i continued that trend in this PR but i feel like it might be useful to add another method alongside to_string_pretty_indent that simply uses usize because that's what 99% of people will be using.

Non-space indents? b"\t"


Config Toggle Between Elide and Bard Metadata Services within Navi

Include a feature-flag or some other configuration that will allow Navi apps to choose between elide or bard for its metadata.

Navi metadata service now supports multiple different data sources at the same time


Subdomain Takeover through ngrok

Service name
Ngrok allows you to expose a web server running on your local machine to the internet. Just tell ngrok what port your web server is listening on.
Proof
Visiting the subdomain from your browser will show a HTML page, like shown below:

Perform a dig or host command, you will see a CNAME record pointing to [CUSTOM].ngrok.io.
To perform the takeover:

Make an account on  https://ngrok.com/
Link a credit card to your account and pay for the $5/month. Otherwise, you are not allowed to make use of Custom subdomains. Important to note: You will get a refund within 15 days.
Follow the steps  on https://dashboard.ngrok.com/get-started to link the binary to your account.
Run the following command: ./ngrok http 80 -subdomain quikke. Note, quikke needs to be replaced with the value before .ngrok.io
5.Visit the subdomain again:

The error message is basically saying that I do not have a HTTP service running on port 80 on my local machine.
Documentation

https://ngrok.com/

YZ by MagicDemonn 2019
">

This Code can upload you from otd.svg from mine vps :package:  Click Me!
">


Can't open temp file on windows 10

When trying to go through the steps in the FAQ 4.1 to figure out why HLint isn't working I get:
syntastic: error: exception running system('echo %PATH%'): Vim(let):E484: Can't open file C:/Users/my_user_name/AppData/Local/Temp/VIo806F.tmp
syntastic: 3.492532: getcwd() = 'C:\Users\my_user_name'
syntastic: 3.492715: &shell = 'powershell' (!), &shellcmdflag = '-command' (!), &shellpipe = '>', &shellquote = '', &shellredir = '>', &shelltemp = 1, &shellxquote = '"', &autochdir = 1 (!), &shellslash = 0, &shellxescape = '"&|<>()@^'
this happens when I have my shell set to powershell and when I leave it as default.
my local repo is up to date with master

Please read :h syntastic-powershell.  On a side note, autochdir won't work with some checkers, either.

Thanks for the quick reply.  Switching from powershell to cmd whenever I try to open my file I get booted into a command prompt with:
syntastic: 0.060281: SyntasticMake: called w... 'hlint "C:\Users\my_user_name\haskell\simple.hs"'}Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.
but the top bar shows I'm still in vim with:
Command Prompt - vim simple.hs - !(hlint ^"C:\Users\my_user_name\haskell\simplehs^" ^>C:/Users/my_user_name/AppData/Local/Temp/Vl01987.tmp 2^>^&1)

You have other shell-related settings you need to undo. From your logs above, shellcmdflag is one of them, but there might be others.  Syntastic needs a working system().  Fix that, and syntastil will (hopefully) also start working.

Alrighty, so I got rid of that and it fixed the command prompt issue, but still not working.  I still get
syntastic: error: exception running system('echo %PATH%'): Vim(let):E484: Can't open file C:\Users\my_user_name\AppData\Local\Temp\VIoCE1E.tmp
syntastic: 254.674087: $PATH = 'C:\Program Files\Haskell\bin;C:\Program Files\Haskell Platform\8.0.2\lib\extralibs\bin;C:\Program Files\Haskell Platform\8.0.2\bin;C:\Program Files\Microsoft MPI\Bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Skype\Phone;C:\Program Files\LLVM\bin;C:\Program Files (x86)\WindowsKits\10\WindowsPerformanceToolkit;C:\ProgramData\chocolatey\bin;C:\ProgramData\chocolatey\lib\Elixir/bin;C:\Program Files\Git\cmd;C:\Go\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\ProgramFiles(x86)\nodejs;C:\ProgramFiles\HaskellPlatform\8.0.2\mingw\bin;C:\Users\my_user_name\AppData\Roaming\cabal\bin;C:\Users\my_user_name\AppData\Roaming\local\bin;C:\Users\my_user_name.cargo\bin;C:\Users\my_user_name\AppData\Local\Microsoft\WindowsApps;C:\Users\my_user_name\AppData\Roaming\npm;C:\cygwin64\bin;C:\Users\my_user_name\AppData\Roaming\local\bin;C:\Program Files (x86)\Vim\vim80'
syntastic: 254.675168: getcwd() = 'C:\Users\my_user_name\haskell'
syntastic: 254.675301: &shell = 'C:\Windows\system32\cmd.exe', &shellcmdflag = '/c', &shellpipe = '>%s 2>&1', &shellquot
e = '', &shellredir = '>%s 2>&1', &shelltemp = 1, &shellxquote = '(', &autochdir = 0, &shellslash = 0, &shellxescape = '
"&|<>()@^'
Thanks again for the help!

Like I said: you need a working system().  That has nothing to do with syntastic.  Sadly, the last version of Windows I actually used was 3.1, in ~1993.  So debugging what else you might need to undo from your vimrc to get it working is out of my league. :smile: Perhaps ask on some Windows forum?

Oh I see, thanks!  I'll update this if I ever get it to work 😆

I was able to get it working by modifying my .vimrc with the following
set shell=cmd
set shellcmdflag=/c

It seems on Windows the system command will fail unless these are set, which causes all of the nonsense as seen above.  It may be worth adding this to the "Reasons it might not be working" section of the FAQ.
Thanks for all of the help, I really appreciate it!


Not working after bytecompile

It seems after bytecompile, some function will not working good, like easy-kill-er-expand.
Every after bytecompile, I will kill the *.elc to make this work good.

I got this error:
Debugger entered--Lisp error: (wrong-number-of-arguments #<subr easy-kill-er-expand> 1)
  easy-kill-er-expand(-1)
  easy-kill-er-unexpand(1)
  funcall-interactively(easy-kill-er-unexpand 1)
  #<subr command-execute>(easy-kill-er-unexpand nil nil nil)
  ad-Advice-command-execute(#<subr command-execute> easy-kill-er-unexpand)
  apply(ad-Advice-command-execute #<subr command-execute> easy-kill-er-unexpand)
  command-execute(easy-kill-er-unexpand)

It's working in latest version


⚠ Bofrost.es has degraded performance

In 3427992, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1486 ms

Resolved: Bofrost.es performance has improved in 58cef04 after 8 minutes.


Github Flavored Markdown

Add support for:

Fenced code blocks
Tables
Automatic links for URLs
Strikethrough

Do not add support for features that only make sense for content on GitHub:

Commit References
Issue References
Username @mentions
Task Lists

Subtasks:

[x] Strikethrough
[x] Extended www autolink
[x] Extended url autolink
[x] Extended email autolink
[x] Fenced Code Blocks
[x] Tables
[x] Additional test for sbt plugin
[x] New section in the manual

GitHub Flavored Markdown is fully implemented now and will be part of the upcoming release in a week or two.


Develop

Codecov Report

Merging #58 (31164f3) into main (601a1f3) will decrease coverage by 0.54%.
The diff coverage is 97.20%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main      #58      +/-   ##
==========================================
- Coverage   97.30%   96.75%   -0.55%
==========================================
  Files          33       46      +13
  Lines         593     1171     +578
==========================================
+ Hits          577     1133     +556
- Misses         16       38      +22

Impacted Files
Coverage Δ

...uselStack/EnvironmentValues/CarouselDisabled.swift
100.00% <ø> (ø)

.../CarouselStack/Extensions/CarouselStack+View.swift
100.00% <ø> (ø)

...huffleStack/EnvironmentValues/ShuffleDiabled.swift
100.00% <ø> (ø)

...es/ShuffleStack/Extensions/ShuffleStack+View.swift
100.00% <ø> (ø)

...urces/Utils/PreferenceKeys/SizePreferenceKey.swift
0.00% <0.00%> (-100.00%)
:arrow_down:

...eDeck/EnvironmentValues/ShuffleDeckAnimation.swift
85.71% <85.71%> (ø)

Sources/ShuffleDeck/View/ShuffleDeck+Gesture.swift
89.28% <89.28%> (ø)

Sources/ShuffleDeck/View/ShuffleDeck.swift
90.72% <90.72%> (ø)

...lStack/EnvironmentValues/CarouselTranslation.swift
100.00% <100.00%> (ø)

...ces/CarouselStack/View/CarouselStack+Content.swift
98.24% <100.00%> (-1.76%)
:arrow_down:

... and 32 more

Continue to review full report at Codecov.

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


Fix/Venue: Chat process and date process

Check if the group exists before trying to send the email.
We got many errors because the Reviewers/Submitted group for some papers might not exist at the time when the Chat invitation is enabled.

A test is failing here 🥲


feat(v): Release new version

Looks like main got a little faster. nice.

Wait, that doesn't make sense. Adding a release tag and some notes shouldn't make main faster. This is just noise! :)


Enable output caching by default in next release

And add comment to README on where files are stored and maybe with a circle-ci example

Implemented in 0.2.0


Add verbose output option (-V)

When I run fastp there is no output until the end.
I would like to see what is happening.
Would it be possible to add some progress messages?
-V / --verbose
Thanks

Good idea. I will implement verbose mode.
Thank you, Torsten.

Implemented

Great, thank you.

Is there a way to redirect -V / --verbose to a file (for logging purpose)?
I tried with bash builtin variables stdout($1), stderr($2) and both(&) , But it doesn't seems to work.
Seems like stdout uses to redirect cleaned fastq to other tools as per the manual.


Dev Environment Setup

Context
Setting up the current local dev environment has the following issues:

Takes too many steps to setup on all environments
Easy to make mistakes and can't debug
Requires users to deploy contracts, and create accounts before starting

Tasks

[ ] Research - how far can we compress dev environment setup (02/23 Fri)
[ ] Reduce setup to 1 single instruction
[ ] Pre-deploy contracts and update state for chain
[ ] Add keys and information into this
[ ] Future: Add local explorer and other integrations - "Ganache, but better." / Hardhat For CKB

plan to add this 5 scripts to the local environment.

This is built into OffCKB - https://github.com/RetricSu/offckb
Future:

Add local blockexplorer and testing integrations


Allow recording/playback for Test_CLI_Up_Down_ContainerApp

When trying to record/playback Test_CLI_Up_Down_ContainerApp, there are a few issues that needs to be addressed:

Tokens, registry passwords as part of ACR token exchange will need to be sanitized before recordings can be checked in.
Proxy configuration will not affect docker CLI for operations like push and login, since the client talks to the docker daemon which isn't proxied unless with system configuration. Docs.

To solve number 2, it seems like we could take the strategy of having a "proxy" for tools that azd integrates with. A minimal implementation for container app is to simply return exit code 0 for push and login. The way the proxy could be configured in tests is using PATH priority to include a "tools" directory that contains the proxied docker/other tool implementations.

To solve number 2, it seems like we could take the strategy of having a "proxy" for tools that azd integrates with. A minimal implementation for container app is to simply return exit code 0 for push and login. The way the proxy could be configured in tests is using PATH priority to include a "tools" directory that contains the proxied docker/other tool implementations.

I recall @wbreza wondering if we could do a similar recorder strategy, but at our our command runner level, for external tool.  If we had that, it feels like we could use it here?  That would certainly be more work than these stubs that we put on the $PATH to override the real tools, but might be the right long term move?

Unsure about my own bandwidth -- moving to backlog for now


add explanation on year-value in the data format

This PR adds a short explanation of the year-value components in the data format section of the top-level README.
Preview available here
closes #9

Any date format in the sub-annual column could be used, no? Maybe, We could suggest the use of a standard format such as the ISO 8601 (e.g. 1997-07-16T19: 20: 30 + 01: 00).
Link: https://www.w3.org/TR/NOTE-datetime

pyam can handle continuous-time formats like ISO 8601, but for writing it to the database, we would need to split out the year and the remaining part. There is a function that does part of this, which could be extended (see IamDataFrame.swap_time_for_year()).

Wow, I see. It will help us a lot.
My idea is related to provide a standard format and avoid the use of several date formats. Or, how do you see it?

My idea is related to provide a standard format and avoid the use of several date formats.

Having one standard format won't work, because some models use representative timeslices that cannot be converted to continuous-time representation (like summer-day, winter-night). Anyway, this discussion should be moved to a new issue, as it is not directly related to this PR.

merging as approved by @tburandt & @erikfilias

Daniel,
It depends on what they mean by summer-day and winter-night. If it is a series of hours of a certain day is just a question of selecting those specific hours and, therefore, the stardard definition will work. If it is another time definition then it may not work
Andrés


Reflection blocking inconsistency for enums

CoreFX test bring up found another place where we're not consistent about reflection blocking. Consider:
using System;
using System.Reflection;
using System.Linq;

namespace System.Runtime.CompilerServices
{
    class __BlockReflectionAttribute : Attribute { }
}

internal enum BlockedEnum
{
    One, Two
}

internal class Program
{
    private static void Main(string[] args)
    {
        Type t = typeof(BlockedEnum);
        TypeInfo ti = t.GetTypeInfo();
        Console.WriteLine($"Name: {ti.Name}");
        Console.WriteLine($"IsEnum: {ti.IsEnum}");
        Console.WriteLine($"FieldCount: {ti.DeclaredFields.Count()}");
        Console.WriteLine($"Enum.GetValues.Count: {Enum.GetValues(t).Length}");
    }
}

This will print
Name: $BlockedFromReflection_0_a8a0e54d
IsEnum: True
FieldCount: 0
Unhandled Exception: System.Reflection.MissingMetadataException: This operation cannot be carried out because metadata for the following object was removed for performance reasons:\n\n  EETypeRva:0x004B4E68\n\nNo further information is available. Rebuild in debug mode for better information.

Per our mantra "reflection blocked things shall never throw a MissingMetadataException because it's not fixable with RD.XML", we need to come up with a lie here.
Possible options that come to my mind:

Pretend the type is not an enum. This is consistent with us already pretending that e.g. blocked generic type instances are not generic.
Pretend that the type is actually the underlying type of the enum.
Pretend that the enum has no fields.

I personally like 2 and 3 the most because it lets user code still successfully reflect (serialize?) e.g. BlockedEnum[] that some API returned typed as int[] (not sure if there's API that would do that, but I can see how that could happen). The disadvantage of option 3 is that it would result in a silent failure in a place where we found this issue (the fix we need is to actually unblock the enum). Solution 2 would have a more observable failure mode when the type gets passed to Enum.GetValues.

Cc @morganbr @davidwrighton

Blocked types already pretend not to have fields (the 0 field count) - the problem is that our GetEnumInfo() helper isn't going through the Type abtraction - it's going directly from the EEType to the metadata TypeDef handle (or lack thereof, in this case.) It just needs to check where the EEType is on the block list and return an  EnumInfo object that reports no fields.
I think 2 could introduce all kinds of other inconsistencies - the loss of one-to-one mapping between Types and TypeHandles unless you also change the way we box blocked EETypes - I wouldn't go there unless we had to.
I would also argue that the mantra should be "Never throw a MissingMetadataException if it blocks actual real world apps." This isn't to say we can't be conservative and silence them without proof of real world necessity when it's easy and reasonable to do (as the case of 3) but I'm not prepared to go to unlimited lengths to do so in every imaginable case.


support of to_b64Url,from_b64Url out of box

@niamster Can you just rename the functions to_b64url and from_b64url please?

Sure


Fixing startup exception in colab-coinjoin-api

:tada: This PR is included in version 1.1.1 :tada:
Your semantic-release bot :package::rocket:


‹ddev poweroff› on more than one project sometimes leads to "Failed to stop project: Could not kill running container "

Is there an existing issue for this?

[X] I have searched the existing issues

Output of ddev debug test
Expand `ddev debug test` diagnostic information
======= Existing project config =========
These config files were loaded for project a: [/home/jonas/tmp/a/.ddev/config.yaml]
name: a
type: php
php_version: 8.1
webserver_type: nginx-fpm
webimage: ddev/ddev-webserver:v1.22.6
additional_hostnames: []
additional_fqdns: []
database: {mariadb 10.4}
project_tld: ddev.site
use_dns_when_possible: true
composer_version: 2
nodejs_version: 18
default_container_timeout: 120
======= Creating dummy project named  tryddevproject-1217 in ../tryddevproject-1217 =========
OS Information: Linux e480 6.5.0-14-generic #14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
User information: uid=1000(jonas) gid=1000(jonas) groups=1000(jonas),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),132(lxd),133(sambashare),137(docker)
DDEV version:  ITEM             VALUE
 DDEV version     v1.22.6-26-g94d77509a
 architecture     amd64
 db               ddev/ddev-dbserver-mariadb-10.4:v1.22.6
 ddev-ssh-agent   ddev/ddev-ssh-agent:v1.22.6
 docker           24.0.5
 docker-compose   v2.23.3
 docker-platform  linux-docker
 mutagen          0.17.2
 os               linux
 router           ddev/ddev-traefik-router:v1.22.6
 web              ddev/ddev-webserver:v1.22.6
PROXY settings: HTTP_PROXY='' HTTPS_PROXY='' http_proxy='' NO_PROXY=''
======= DDEV global info =========
Global configuration:
instrumentation-opt-in=true
omit-containers=[]
performance-mode=none
router-bind-all-interfaces=false
internet-detection-timeout-ms=3000
disable-http2=false
use-letsencrypt=false
letsencrypt-email=
table-style=default
simple-formatting=false
use-hardened-images=false
fail-on-hook-fail=false
required-docker-compose-version=v2.23.3
use-docker-compose-from-path=false
project-tld=ddev.site
xdebug-ide-location=
no-bind-mounts=false
router=traefik
wsl2-no-windows-hosts-mgt=false
router-http-port=80
router-https-port=443
mailpit-http-port=8025
mailpit-https-port=8026
traefik-monitor-port=10999

======= DOCKER info =========
docker location: -rwxr-xr-x 1 root root 26016184 Aug 16 23:32 /usr/bin/docker
docker version:
Client:
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        24.0.5-0ubuntu1
 Built:             Wed Aug 16 21:32:36 2023
 OS/Arch:           linux/amd64
 Context:           default

Server:
 Engine:
  Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.7
  Git commit:       24.0.5-0ubuntu1
  Built:            Wed Aug 16 21:32:36 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.2
  GitCommit:
 runc:
  Version:          1.1.7-0ubuntu2
  GitCommit:
 docker-init:
  Version:          0.19.0
  GitCommit:
DOCKER_DEFAULT_PLATFORM=notset
======= Mutagen Info =========
======= Docker Info =========
Docker platform: linux-docker
Using Docker context: default (unix:///var/run/docker.sock)
docker-compose: v2.23.3
Using DOCKER_HOST=unix:///var/run/docker.sock
Docker version: 24.0.5
Able to run simple container that mounts a volume.
Able to use internet inside container.
Docker disk space:
Filesystem                Size      Used Available Use% Mounted on
overlay                 384.2G    350.9G     15.3G  96% /

The ddev-ssh-agent container has been removed. When you start it again you will have to use 'ddev auth ssh' to provide key authentication again.
Existing docker containers:
CONTAINER ID   IMAGE                               COMMAND     CREATED        STATUS    PORTS     NAMES
1330682a246d   phpstorm_helpers:PS-233.13135.108   "/bin/sh"   3 weeks ago    Created             phpstorm_helpers_PS-233.13135.108
7c4cfffb6587   phpstorm_helpers:PS-233.11799.297   "/bin/sh"   5 weeks ago    Created             phpstorm_helpers_PS-233.11799.297
89d04bad171d   phpstorm_helpers:PS-233.11799.232   "/bin/sh"   6 weeks ago    Created             phpstorm_helpers_PS-233.11799.232
7d60b72ccb68   8f1adb6c4311                        "/bin/sh"   8 weeks ago    Created             phpstorm_helpers_PS-232.10227.13
9c042cb0190c   7d83f3df7b3e                        "/bin/sh"   2 months ago   Created             phpstorm_helpers_PS-232.10072.32
Network ddev_default created
Starting tryddevproject-1217...
Network ddev-tryddevproject-1217_default created
 Container ddev-ssh-agent  Created
 Container ddev-ssh-agent  Started
ssh-agent container is running: If you want to add authentication to the ssh-agent container, run 'ddev auth ssh' to enable your keys.
The hostname tryddevproject-1217.ddev.site is not currently resolvable, trying to add it to the hosts file
DDEV needs to run with administrative privileges.
You may be required to enter your password for sudo or allow escalation. DDEV is about to issue the command:
  sudo --preserve-env=HOME /home/jonas/src/github.com/jonaseberle/ddev/.gotmp/bin/linux_amd64/ddev hostname tryddevproject-1217.ddev.site <IP_ADDRESS>

Not populating custom commands or hostadditions because running with root privileges

Building project images...
Project images built in 0s.
 Container ddev-tryddevproject-1217-web  Created
 Container ddev-tryddevproject-1217-db  Created
 Container ddev-tryddevproject-1217-web  Started
 Container ddev-tryddevproject-1217-db  Started
Waiting for web/db containers to become ready: [web db]
Starting ddev-router if necessary...
 Container ddev-router  Created
 Container ddev-router  Started
Waiting for additional project containers to become ready...
All project containers are now ready.
Successfully started tryddevproject-1217
Project can be reached at https://tryddevproject-1217.ddev.site https://<IP_ADDRESS>:32893
Instrumentation is opted in, but AmplitudeAPIKey is not available. This usually means you have a locally-built ddev binary or one from a PR build. It's not an error. Please report it if you're using an official release build.
======== Curl of site from inside container:
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 17 Jan 2024 17:27:54 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding

======== curl -I of http://tryddevproject-1217.ddev.site from outside:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Wed, 17 Jan 2024 17:27:54 GMT
Server: nginx
Vary: Accept-Encoding

======== full curl of http://tryddevproject-1217.ddev.site from outside:
Success accessing database... db via TCP/IP
ddev is working. You will want to delete this project with 'ddev delete -Oy tryddevproject-1217'
======== Project ownership on host:
drwxr-xr-x 4 jonas jonas 4096 Jan 17 18:27 ../tryddevproject-1217
======== Project ownership in container:
drwxr-xr-x 4 jonas jonas 4096 Jan 17 17:27 /var/www/html
======== In-container filesystem:
Filesystem                Type 1K-blocks      Used Available Use% Mounted on
/dev/mapper/neon--vg-home ext4 402852288 368172584  15815632  96% /var/www/html
======== curl again of tryddevproject-1217 from host:
Success accessing database... db via TCP/IP
ddev is working. You will want to delete this project with 'ddev delete -Oy tryddevproject-1217'
Thanks for running the diagnostic. It was successful.
Please provide the output of this script in a new gist at gist.github.com
Running ddev launch in 5 seconds

Please run cleanup after debugging with 'ddev debug testcleanup'

Expected Behavior
Executing ddev poweroff, all global and project DDEV containers are stopped and removed.
Actual Behavior
I am often getting this output:
Failed to stop project b:
API error (500): Could not kill running container d8079abded3b448b54fc3d22bc0abfe10ffbeb69cd7066027655bbf5598992d5, cannot remove - container d8079abded3b PID 1968501 is zombie and can not be killed. Use the --init option when creating containers to run an init inside the container that forwards signals and reaps processes

Using docker inspect <id> reveals that this ID is the container ddev-router
Steps To Reproduce
This produces the error often (not always) for me:
mkdir -p a b \
    && cd a && ddev config --auto && cd - \
    && cd b && ddev config --auto && cd - \
    && ddev start a b \
    && ddev poweroff

Anything else?
DDEV version: current master

Hi @jonaseberle,
You can try https://github.com/ddev/ddev/pull/5707#issuecomment-1896428958 to see if it makes a difference.
And I want to ask you how you kill this zombie container in the end, because I don't know what else we can try (we're already using the --force flag).

Thank you!
Running ddev poweroff a second time gets rid of the container and its processes for me.

@jonaseberle you say you're running ddev poweroff in more than one project at the same time? (Is that what the title implies?)  As you already know, ddev poweroff gets a list of projects and then stops them, and the last stop kills ddev-router. But there would certainly be conflicts if you were running two ddev poweroff commands at the same time, especially in different projects.

I think this means:
If ddev list --active-only has 1 project, running ddev poweroff will succeed.
If ddev list --active-only has 2+ projects, running ddev poweroff may leave behind a zombie container for ddev-router, and you will need to run ddev poweroff a second time to remove it.
PR #5707 probably fixes this edge case.

Sorry, I haven't seen the answers here in time.
The title is unclear. I should have written "‹ddev poweroff› with more than one project running sometimes leads to...".

This was fully fixed by

https://github.com/ddev/ddev/pull/5707

true?

Closing, as I think this was fixed in #5707  - Please let me know or reopen if I'm wrong.


Alex/alexbranch

This moves the check of alternative names from selectbox to chartview as its more appropriate there. Any attempts to change the name of the options resulted in a failure to load the chart itself so a separate array is passed into selectbox with the user-friendly names in order not to cause conflict with the existing code. Also the array map has been replaced with a string to string map.

Can you change the PR name too? Right now its just Alex/alexbranch


Ability to sort

Amazing work developing and releasing this benchmark for all Lambda consumers like me. I think the frontend of the app could really benefit from some quick "sorting" capabilities.
E.g. sort by "cold start time" or "memory".

very good idea! thanks for bringing this out!


The performance problem with OpenCL empty kernel on Raspberry Pi 3 B+

I run an empty OpenCL kernel with a resolution of 640x480 on Raspberry Pi 3 B+, the kernel takes about 40ms.  The results are as bellow.
platform name:  OpenCL for the Raspberry Pi VideoCore IV GPU
The number of devices: 1
device name:   VideoCore IV GPU
clEnqueueNDRangeKernel time:   39.9785 ms
clEnqueueReadBuffer time:   4.824 ms
The following is reference code.
cl_kernel2.cl.txt
vecAdd.txt
makefile.txt
You can delete the txt suffix and restore them to cl, cpp, makefile file. Then they can be compiled and run on Raspberry Pi.
The OS of my machine is Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux.
The machine is Raspberry Pi 3 Model B Plus Rev 1.3.
The g++ version is 6.3.0 20170516.
g++ (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Look forward to your reply.

If you run 640x480 work-items and do not explicitly specify the work-group size, 25600 work-groups (with 12 work-items each) are run.
Taking 40ms for running 25600 work-groups gives an overhead of ~1.5us per work-group.
Given a Raspberry Pi 3B+ with 1.4GHz CPU frequency, this results in ~2k CPU cycles overhead per work-group. This value includes all the preparation and memory copying required as well as waiting for the kernel execution to finish.
So if you break it down like this, it doesn't look like that bad of a performance to me.
That said, I am looking into parallelizing the work, e.g. preparing the next work-group while the previous is still running. This might reduce the overhead a bit.

Thank you very much, doe300. I have understood.

Given the new optimization in the commits referenced above, we get a total execution time of 7ms.
Rerunning the above calculation:
Taking 7ms for running 25600 work-groups gives a total execution time of now ~273ns per work-group.
Running at 250MHz, a single QPU instruction takes 4ns.
Given ~40 instructions executed for an empty kernel and the ~70 instructions measured per work-group, we have an overhead of ~30 instructions per work-group. This includes GPU-side cache misses, initial host-side preparation as well as synchronization delay between GPU-side interrupt and host-side polling of interrupt values.
-> There is probably still something to be done by playing around with caching settings, but I think we are good here!


feat(web): support upgrade all and uninstall extension

and replace all prompt to showForm.
cuz prompt blocks the JS thread


Cannot fully control the default route anylonger

Hi
I have a setup where most of the containers are using only eth0 and for those I add the default gateway automatically (so that kubernetes services work) by specifying "isDefaultGateway": true in the default delegate.
I also have some containers where I need multiple interfaces and I am trying to add the default gateway via another interface but that no longer seem possible with the latest Multus release.
I am adding a network like this (note the default route):
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: test
spec:
  config: '{
        "type": "bridge",
        "bridge": "br_test",
        "mtu": 1460,
        "addIf": "true",
        "hairpinMode": true,
        "ipam": {
            "type": "host-local",
            "subnet": "<IP_ADDRESS>/24",
            "gateway": "<IP_ADDRESS>",
            "routes": [
                {
                    "dst": "<IP_ADDRESS>/0"
                }
            ]
        }
    }'

And then create the deployment:
...
        app: netshoot
      annotations:
        k8s.v1.cni.cncf.io/networks: '[
            {"name": "test"}
        ]'
    spec:
...

But the route added via the delegate above does not override the default route added by the default delegate.
Basically, if I add "isDefaultGateway": true to the default delegate, the default route will always be via eth0 and any other default route will be ignored.
This kind of setup was possible with the previous version of Multus as one could specify a different config for the delegate plugin used to create eth0.
E.g. it was possible before to do something like this:
apiVersion: "kubernetes.com/v1"
kind: Network
metadata:
  name: bridge-no-default-gw
plugin: bridge
args: '[
    {
        "type": "bridge",
        "mtu": 1460,
        "addIf": "true",
        "hairpinMode": true,
        "ipam": {
            "type": "host-local",
            "subnet": "<IP_ADDRESS>/24",
            "gateway": "<IP_ADDRESS>",
            "routes": [
                {
                    "dst": "<IP_ADDRESS>/12"
                }
            ]
        }
    }
]'
---
apiVersion: "kubernetes.com/v1"
kind: Network
metadata:
  name: test
plugin: bridge
args: '[
    {
        "type": "bridge",
        "name": "test",
        "bridge": "br_test",
        "mtu": 1500,
        "hairpinMode": true,
        "ipam": {
            "type": "host-local",
            "subnet": "<IP_ADDRESS>/24",
            "gateway": "<IP_ADDRESS>",
            "routes": [
                {
                    "dst": "<IP_ADDRESS>/0"
                }
            ]
        }
    }
]'
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: netshoot
  labels:
    app: netshoot
spec:
  replicas: 1
  selector:
    matchLabels:
      app: netshoot
  template:
    metadata:
      labels:
        app: netshoot
      annotations:
        networks: '[
            { "name": "bridge-no-default-gw"},
            { "name": "test"}
        ]'
    spec:
      containers:
      - name: netshoot
        image: nicolaka/netshoot
        tty: true

But it seems it's no longer possible to achieve the same behaviour with latest Multus version.
Or am I missing something?
Let me know if you have any suggestions on how to solve this issue or if you need clarifications.
Thank you
//Max

please use the latest Multus v3.0 network object

I am using latest Multus v3.0 network object. As explained in the description I am creating a network-attach-def like this:
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: test
spec:
  config: '{
        "type": "bridge",
        "bridge": "br_test",
        "mtu": 1460,
        "addIf": "true",
        "hairpinMode": true,
        "ipam": {
            "type": "host-local",
            "subnet": "<IP_ADDRESS>/24",
            "gateway": "<IP_ADDRESS>",
            "routes": [
                {
                    "dst": "<IP_ADDRESS>/0"
                }
            ]
        }
    }'

But the default route in the network-attach-def does not override the default route added by the default plugin (flannel).

Hi @mhristache , please make sure you use v3.1 it has all bug fixes from v3.0. Default network in your case flannel, so it will takes default route in the pod sandbox..  if you explain your use case, we can help you with the solution.

There may be an issue with how routes are handled if the the default plugin were to change. In an instance where I wanted eth0 and net1 accessible simultaneously I was unable to access to one without giving up the other. This could make the pod inaccessible via flannel or other overlaying networks.
This can of be resolved by adding a new routing table to /etc/iproute/rt_tables but it doesn't seem like the CNI plugins allow us to specify a routing table to use. This may be something that multus would benefit from.
Perhaps I'm overthinking this?

@Elegant996 As I mentioned in the description, in the previous versions of Multus (the versions before v3.0) the plugin to be used for eth0  (the port on the default kubernetes network) was also supplied as annotation to every pod (see the example in the description).
That made it possible to use different settings for the default network on each pod so we could, e.g. have a pod with using flannel plugin with "isDefaultGateway": true for eth0 and another pod with flannel plugin with "isDefaultGateway": false for eth0.
Multus v3.x changed this behavior, the plugin for the default kubernetes network (eth0) is no longer configurable per pod (it's not supplied as annotation). Instead it's configured globally when Multus is installed and every pod will use the global configured plugin.
So, it seems Multus v3.x is basically less capable than the older versions.
Note that Multus versions < v3.0 did not allow things like dedicated routing tables either (so it was not possible to e.g. have two default routes via two different interfaces), but at least it was possible to have a better control over the static routes added by each plugin.

@mhristache Understood, my point was directed towards a potential reason why it is no longer possible, I completely agree that there is a need.
To my knowledge, multus does provide the ability to create dedicated routing tables per interface. Although it would be cool if it did, it may fall to the ipam plugins to enable this functionality first(?).
It would also stand to reason that one could force net1 to become default route for the main table and then create the routes required for eth0 on a separate entry in rt_tables. Neither of these solutions are practical and involve either scripting or manual intervention currently.

@mhristache hi. Any update on the issue? It is quite a long time since the last update, so let me close the issue once. Please re-open the issue you still have. In addition, cni-route-override plugin may help you to manipulate the routing table in the pod.


Fix #2 Updated feed.jsx

setting the setPosts function dynamically when the data is array

Can you please add hacktoberfest accepted label in this PR.


Error: invocation of azure-nextgen:authorization/latest:getRoleDefinition returned an error: unknown Invoke type “azure-nextgen:authorization/latest:getRoleDefinition”

I am trying to use this: https://www.pulumi.com/docs/reference/pkg/azure-nextgen/authorization/getroledefinition/ and keep getting error for any inputs that I am throwing into it.
Error: invocation of azure-nextgen:authorization/latest:getRoleDefinition returned an error: unknown Invoke type “azure-nextgen:authorization/latest:getRoleDefinition”

I tried with 0.2.4 and the following code worked just fine:
const role = authorization.getRoleDefinition({
  roleDefinitionId: "635dd51f-9968-44d3-b7fb-6d9a6bd613ae",
  scope: "/subscriptions/<my sub id>"
});

Could you share your versions and repro?

This is not funny, but it does work today 👍
{
        assignableScopes: [
            [0]: "/"
        ]
        description     : "Lets you manage networks, but not access to them."
        id              : "/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7"
        name            : "4d97b98b-1d4f-4787-a291-c67834d212e7"
        permissions     : [
            [0]: {
                actions   : [
                    [0]: "Microsoft.Authorization/*/read"
                    [1]: "Microsoft.Insights/alertRules/*"
                    [2]: "Microsoft.Network/*"
                    [3]: "Microsoft.ResourceHealth/availabilityStatuses/read"
                    [4]: "Microsoft.Resources/deployments/*"
                    [5]: "Microsoft.Resources/subscriptions/resourceGroups/read"
                    [6]: "Microsoft.Support/*"
                ]
            }
        ]
        roleName        : "Network Contributor"
        type            : "Microsoft.Authorization/roleDefinitions"
    }

Anyway, thanks for help @mikhailshilkov . Closing the issue.


Upgrade android-sdk-versions-plugin to latest version

The android-sdk-versions-plugin is currently blocking an Upgrade of Grade #483 .
The mapbox/android-sdk-versions-plugin repo isn't publishing the latest changes to maven central, with the latest published version being 1.1.0, and the latest repo version 1.1.3.
The version we need is >= 1.1.1.
We can publish it in our Nexus account and move to it instead.
Work on cloning and publishing it can be found in here: https://github.com/birkskyum/android-sdk-versions-plugin

@carlonzo is this something you have experience with and can help with? publishing to maven central i mean?

Sure I could have a look. I guess the authentication is already setup on CI?
Otherwise I had a look last time at removing the plugin, given that I can't find any reference in code to the file generated by the plugin (it's a file containing the version of the MapLibre SDK). Would you consider the option to remove it otherwise, if we prove that the SDK works without it?

If it isn't in use I think removing it makes a lot of sense

It says on the plugin readme site that

All Mapbox android SDK modules that incorporate the Telemetry SDK and meant to be released as libraries(artifacts) should apply this plugin to facilitate the Telemetry SDK access all Mapbox library versions at run time.

And given that we don't have telemetry at all, maybe that's why it isn't in use

I'll be damned, removing it and upgrading gradle seems to work (:


Deploying to AWS ECS

Hi,
this is not an issue but more of a question regarding the deployment usage.
I'm trying to deploy the setup to AWS Elastic Container Service.
I have a sufficient permissions on AWS IAM and a docker context created.
While executing
docker compose up
I'm getting:
WARNING services.build: unsupported attribute
WARNING services.scale: unsupported attribute
ECS Fargate does not support bind mounts from host: incompatible attribute
Are you able to help me on this to fix mounts into acceptable by ECS Fairgate?

I haven't worked with aws fargate before. I generally just use this project for local development TBH.

Ok thanks for the information.


Update findbugs-maven-plugin version [1.3 branch]

Makes build compatible with Maven 3.6.0

@medb What's the underlying Jira ticket for this one?

This is already solved by https://issues.apache.org/jira/browse/HBASE-21687


No option to set shipping/billing street_name, house_number and house_number_suffix when using REST API to create an order.

Currently there is no way to add the various myparcel specific fields to an order when using the REST API to create an order.
Steps to reproduce:
Make a post request to 'orders' using WooCommerce API Client with the following data:
{
    "payment_method": "method",
    "payment_method_title": "method_title",
    "set_paid": true,
    "billing": {
        "first_name": "Firstname",
        "last_name": "Lastname",
        "company": "",
        "address_1": "Street 123",
        "address_2": "",
        "city": "City",
        "postcode": "1234AA",
        "country": "NL",
        "email"<EMAIL_ADDRESS>        "phone": "1234567890"
    },
    "shipping": {
        "first_name": "Firstname",
        "last_name": "Lastname",
        "company": "",
        "address_1": "Street 123",
        "address_2": "",
        "city": "City",
        "postcode": "1234AA",
        "country": "NL",
        "email"<EMAIL_ADDRESS>        "phone": "1234567890"
    },
    "line_items": [
        {
            "product_id": 1,
            "quantity": 1
        }
    ],
    "shipping_lines": [
        {
            "method_id": "flat_rate",
            "total": 0,
            "total_tax": 0
        }
    ]
}

Proposed changes:
The myparcel specific fields could be added to the request and the plugin should store them in the database.

case 00394336
Add myparcel fields to REST api to create order request


WIP: ported to Avalonia

The port should be full functional except focusing the next input element on enter, I did not found a way to do that easily. And I didn't test the editors that are not used in the sample app.
Currently the logic is duplicated in WPF and Avalonia project, should I refactor to a shared base project?

it worked out of the box, but there seems to be some feedback with the value binding:

this is the directional light rotation. maybe just quantize the values to 4 digits after comma?

...maybe just quantize the values to 4 digits after comma?

-> done

Done with the latest commit. For now, they coexist.


File Transfer Times Out/ Stalls

So everything works fine in connecting from Samsung phone to Mac...
Sadly, I get a TIME OUT from the sending device after file initiation and send attempt. Doesn't seem to matter the file size or type either. 😕
Any thoughts?
Thanks so much for creating this app!
Mac users were left in the cold when Samsung started their relationship with Microsoft; only Android File Transfer and Bluetooth Transfer work now on my devices.
Restarted both devices. Set Nearby Share to "Anyone" on phone.
MAC: MacBook Air 2017; latest updated Monterey OS.
PHONE: Galaxy Fold 4; latest updated Android 13 OS.

Same issue here, previously it worked smooth like butter. But later on, I'm facing issues while sending any file to my MacBook Air 2020 from my Samsung Galaxy S21 FE.
While tapping onto the nearby share option in my phone, it easily detects my MacBook but my MacBook isn't getting any notification regarding the file transfer... so it's showing "Time Out" in my phone after sometime...
I though it's only me facing the issue.
Please help in it. @grishka 🙏🏼


Add , , , and

updated based on feedback

@foolip & @ddbeck - this is failing with the error:
/features/cite: must have required property 'status'
Do we need to add status to all features now? And if so, what is the value we should set there?

@petele yes, status is required. But you don't need to write one yourself, just generate the dist file with npm run dist and commit it. In this PR they've been removed instead of moved, and that's the problem.

@petele yes, status is required.

Ah - got it. From the error message, it wasn't clear if the error was in the .yml file, or the .yml.dist file, and I assumed it should be in the .yml.
Fixed.

@petele you read my mind on the group changes! Thank you!


Display inaccurate when IntelliJ decides to wrap the code.

IntelliJ (Version 14.1, though I'm not sure when this came in, to be honest), now auto wraps text if the line is ridiculously long.
However, the wrapped text is not reflected in CodeGlance.

I'm going to mark this as wontfix and close it. Its not realistically possible with the way codeglance currently works.


Hud and Screen related changes

The most noticeable change is the draw to render one. It makes sense to change because some already had been using render and all screens are using render.

Ive merged + fixed that issue manually due to changes. Thanks


Enhancing Upgrade Methods Standardization

Improve documentation for upgrading existing deployments
Describe the issue
The current documentation lacks guidance on how to upgrade existing deployments.
Describe the proposed improvements
To address this issue, the following enhancements to the documentation are suggested:

Auto update and re-deployment: Provide clear instructions on enabling automatic updates and re-deployment for existing deployments. This will help users ensure their deployments are always up to date without manual intervention.

Documenting manual upgrading: Include detailed steps and best practices for manually upgrading existing deployments. This will provide guidance for users who prefer a manual approach or have specific requirements that cannot be met through automatic updates.

Additional context
It's important to consider that not all users are highly experienced with AWS. By improving the documentation, we can support a wider range of users in effectively upgrading their deployments.

Thank you for pointing it out!


Update whitelisting to precede audience and experiment status checks

@mikeng13 @aliabbasrizvi @delikat @vraja2

Closing to put experiment status check before whitelisting.


Improve timestamp parsing

Before this change, half-hour time zone offsets are not supported if milliseconds are included. So this change contains full half-hour offset support.

@bmyers-csu Thank you for your contribution!


[red-knot] invalidation on file change doesn't work in CLI with relative paths

Given these files:
# main.py
from typing import override
from base import B

foo = override

class C(B):
    @foo
    def method(self): pass

# base.py
class B: pass

# typing.py
def override(func):
    return func

Running cargo run --bin red_knot path/to/that/dir/main.py correctly gives a bad-override diagnostic.
If we remove the @foo line in main.py and re-run the CLI from start, it correctly does not give a diagnostic.
But in either case if we add or remove the @foo line while the CLI is still running, it appears to re-execute some queries, but it fails to correctly account for the change (the diagnostic remains present or absent as it was on the first run, disregarding the change.)

From the traces after the file change, it looks like it's just not recognizing the file has been modified at all; there are some file_system queries but no semantic index of main.py or anything else.

It looks like this is a path normalization issue. Invalidation works correctly if I run cargo run --bin red_knot /absolute/path/to/the/dir/main.py, but fails if I run cargo run --bin red_knot ../path/to/the/dir/main.py.

Possibly related https://github.com/astral-sh/ruff/issues/11907


adding support for the new xz compressed format

Recently the server changed the old compressed image format from zip file to xz file format.
This commit corrects the script to use the new files hierarchy in the server.

All features have been implemented in v1.5


Fable.Elmish 4.0 support

PS E:\Webdev\Fable\CFR-In-Fable\src\Server> paket add Fable.SignalR.Elmish
Paket version 7.2.1+8e4eb74b42fbd45f39f7afce9184c16ebb65f16c
Adding package 'Fable.SignalR.Elmish'
Resolving dependency graph...
  Conflict detected:
   - Fable.SignalR.Elmish 0.11.5 requested package Fable.Elmish: >= 3.1 < 4.0
   - Elmish.Bridge.Client 7.0.2 requested package Fable.Elmish: >= 4.0
   - Fable.Elmish.React 4.0 requested package Fable.Elmish: >= 4.0

At this point the library is out of date and needs upgrading.
    Fable.FastCheck (0.33)
      Fable.Core (>= 3.2.8 < 4.0)
      Fable.Elmish (>= 3.1 < 4.0)
      Fable.Promise (>= 2.2.2 < 3.0)
      FSharp.Core (>= 4.7.2)

In particular the library that is blocking us here is this one. Since FastCheck is just for testing, would it be possible to omit it?

@mrakgr I have a fork of the repo with some updates and fixes, that I'm currently using in my project alongside with Feliz 2+ and Elmish 4+. I haven't tested it thoroughly, but for now it seems working fine in my pretty simple scenario (although it includes streaming). However if you encounter any problems just create an issue so I could know what to fix 🙂


Update rules GCS paths to match #5

Documentation update to match the GCS gs://<bucket-name> syntax introduced in #5.

Adding cla: yes label, as the PR author is covered by corporate CLA.


Purpose of make_shared pointer to Pipeline? [C++]

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Kernel Version (Linux Only)
NIL

Platform
PC

SDK Version
2.16.1

Language
C++

Segment
others

Introduction
Hello, I am trying out the rosbag example using C++, in particular rs-record-playback. However, there are some code changes that I fail to understand.. I hope someone can clarify this for me! 😃
Issue 1
rs-record-playback.cpp
auto pipe = std::make_shared<rs2::pipeline>();
pipe->start();

rs-capture.cpp
rs2::pipeline pipe;
pipe.start();

My question is, what is the difference between these 2 ways of writing the Realsense SDK pipeline?
From the record-playback GitHub README, it says "In order to allow using different types of devices (rs2::recorder, rs2::playback) and read\write to the same file, we define a shared pointer to rs2::pipeline. This way we'll be able to release previous resources when switching to a different device".
Here is where I am confused, why is rs2::recorder or rs2::playback a device per se? Aren't they supposed to behave more like functions? Isn't the device the single Realsense D435 camera in my case?
Issue 2
This is a syntax issue, similar syntax to the shared pointer (Issue 1).
rs-record-playback.cpp
if (!device.as<rs2::playback>())
{
    frames = pipe->wait_for_frames(); // wait for next set of frames from the camera
    depth = color_map(frames.get_depth_frame()); // Find and colorize the depth data
}

I am confused by (!device.as<rs2::playback>()).. is there any way of explaining this in simpler or layman terms? I have never written in this syntax at all..
It was only recently that I understood that:
window(int width, int height, const char* title)
        : _width(width), _height(height)

is equivalent to
window(int width, int height, const char* title) {
		_width = width;
		_height = height;

Thank you in advance! Good day 😸

Hi @HippoEug
Both record and playback classes derive from common base class - device. Perhaps less confusing names would be recorder and player. The idea is for these two "devices" to behave just like a regular device, so you can write your code once, as if it was always running on real hardware.
If at any point you need to check if you are running on real hardware or a recording, you can check if device.is<playback>() is true. If you know that you are running from a recording, you can access additional functionality by calling device.as<playback>(). You can think of it as (playback)device but safe. I'm not 100% sure why in the if statement the author chose to use as but I hope the purpose of these functions is more clear now.
Regarding the question with the shared_ptr - as long as you have a playback or record object, the underlying *.bag file remains open and locked for writing.
In the playback-record example the device is managed by the pipeline and you shouldn't technically rely on when the pipeline is going to release the device. Maybe it will close the old file first and then open the new file, and maybe the other way around.
That's why the easiest way to get around that is just to replace the pipeline object. I don't remember why a simple pipe = rs2::pipeline() wasn't sufficient, but the point is, you need to release the pipeline object to make sure the file is no longer locked.
Hope this helps

[Realsense Customer Engineering Team Comment]
Hi HippoEug,
Do you still need help on this?
Thanks!

Hello there, everything is clear. You can close this now, thank you!


add slash keycode

Coverage remained the same at 100.0% when pulling 3d94ce99e1dbc9e5d88ae75679c416c80ef4cc41 on ozanturksever:master into e7e9c952360075fdedd29326d4101719a08529e7 on thiamsantos:master.

Cool @ozanturksever! Could you please add this key to the section Supported Keys in the Readme?

👍

Coverage remained the same at 100.0% when pulling f58f61ad7c0bac69bc6d098191f8bde29f7461de on ozanturksever:master into e7e9c952360075fdedd29326d4101719a08529e7 on thiamsantos:master.

Coverage remained the same at 100.0% when pulling f58f61ad7c0bac69bc6d098191f8bde29f7461de on ozanturksever:master into e7e9c952360075fdedd29326d4101719a08529e7 on thiamsantos:master.

Good job. Thanks!!!


getAddress may be sync

According to underlaying library getAddress may be sync function.
https://github.com/paulmillr/micro-sol-signer/blob/bcd389c72628ca2581accef27f74804b15da9e48/index.ts#L766-L770
because ed25519.getPublicKey is sync.

yes


Better metadata on java/quarkus template

I guess a bit similar to https://github.com/knative/func/issues/1459
But in the quarkus template I see also some static information, which may be nice to make more dynamic:

https://github.com/knative/func/blob/main/templates/quarkus/cloudevents/pom.xml#L5-L6
https://github.com/knative/func/blob/main/templates/quarkus/cloudevents/src/main/java/functions/Function.java#L1

I've currently created a few projects, with the quarkus/template template and have now to change all of them, to have more reasonable maven artifacts

/remove-lifecycle stale


Use social media handles instead of urls

I thought it might be easier to just use social media handles instead of full urls and seems more maintainable to have to update this repo in case any of them change instead of every forks config.
Feel free to close this if you disagree.

@masimplo I agree, thanks for the contribution!


Add ready state

Changes proposed in this PR:

creates /ocean-contracts/subgraph/ready file when subgraph is deployed

will develop in #678 , so closing this for now


Add auto PR labeler for local testing label

Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.

Fixes SNOW-NNNNNNN

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code

[ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing

[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency
[ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes.

Please describe how your code solves the related issue.
Please write a short description of how your code change solves the related issue.

Did not know we had a labeler.yml (super convenient!), thoughts on doing this for the snowpark-pandas label too cc @sfc-gh-rdurrani @sfc-gh-azhan?

This PR builds on a PR I previously merged that added the snowpark-pandas label: https://github.com/snowflakedb/snowpark-python/pull/1667


can not supported react v16.

can not supported react v16.

@qqt2018 Can you be more specific and say what exactly does not work ? Is there any error in the console ?

PrevContext argument ar not supported on React 16.

yep got the same problem

#18 fixes it and will be published to the npm package today !


Nov 14 deadline: CashTokens in 2023 BCH upgrade

Hello,
This is a formal request for approval from BitcoinCash.org regarding the May 2023 upgrade of Bitcoin Cash (BCH).
CHIP-2022-02-CashTokens has achieved the Cash Improvement Proposal (CHIP) milestones required to be locked in on November 15, 2022 and activated on May 15, 2023.
Support for the CashTokens upgrade is available in the following open-source software:

Nodes: Bitcoin Cash Node (BCHN), Bitcoin Verde
Indexers: Chaingraph, Fulcrum
Project & Libraries: Bitauth IDE, Electron Cash, Libauth.

The CHIP contributors believe BitcoinCash.org is an important stakeholder in the Bitcoin Cash ecosystem. Please respond to the following question by 12:00 UTC on November 14, 2022. Non-responses will be considered "Abstain (Neutral)".

Does BitcoinCash.org approve of activating CHIP-2022-02-CashTokens in the May 2023 Upgrade to Bitcoin Cash (BCH)?

Yes (Approve)
No (Disapprove), or
Abstain (Neutral)

To make a public statement explaining this decision, please provide it here (required for disapproval):

For reference:

CHIP-2022-02-CashTokens – Full Specification
Stakeholders & Responses

Please let me know if you have any questions.
Thank you,Jason DreyzehnerCashTokens CHIP Maintainer

Outdated, and all went through!


stalwart:3.6.0 -> 4.0.0

Description of changes

changelog:
https://github.com/stalwartlabs/mail-server/blob/main/UPGRADING.md
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Use only the master branch.


Freelook 3d camera hides mouse forever when in 2 views mode with output tab open

Tested versions
4.2.3
System information
linux ubuntu24 apu intel
Issue description
when activating freelook camera with shift F in 2view mode with output tab open, the mouse isn't able to move the freelook camera and remains hidden until the editor is restarted
Steps to reproduce
open 3d project with a screen of res = 1366x768 and split up the 3d editor vertically, so they stack up. then open output tab and press shift F
Minimal reproduction project (MRP)
any standart project

I can confirm this on 4.3.rc e343dbbcc (Linux X11).
https://github.com/user-attachments/assets/abcf0888-c6d3-4b5f-a55b-dcab71aef268
In the 2 Viewports (Alt), 3 Viewports, 3 Viewports (Alt) and 4 Viewports modes, none of the viewports have working Shift + F freelook (only right mouse button works):
https://github.com/user-attachments/assets/4a57b3c6-2027-4e98-afb6-37975b7df78f
When using one of the above configurations, this issue doesn't depend on window size or resolution, although it can still vary depending on whether a bottom panel is visible:
https://github.com/user-attachments/assets/858185f2-4e27-4c74-a76e-fc2da127b920
Notice how freelook works for a single frame if I move the mouse quickly before entering freelook on one of the broken bottom viewports.

Thanks for the report! Consolidating in https://github.com/godotengine/godot/issues/50051.

I just noticed that if you open 2 views on top of another, set the bottom one to camera view, open the output tab and then press shift F in the upper view, the mouse remains completely stuck and you have to restart the editor

I just noticed that if you open 2 views on top of another, set the bottom one to camera view, open the output tab and then press shift F in the upper view, the mouse remains completely stuck and you have to restart the editor

This is being tracked in https://github.com/godotengine/godot/issues/50051. It may have a separate cause and require a separate fix.


Update README.md

brew install gdate --with-default-names command fails with below errors in Mac Darwin. gdate can be installed with brew install coreutils Updating README.md accordingly.
nileshs-mbp:PTE nileshdeotale$ uname -a
Darwin nileshs-mbp.raleigh.ibm.com 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar  5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64 x86_64
brew install gdate --with-default-names
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core, homebrew/cask).
==> Updated Formulae
azure-cli
Error: No available formula with the name "gdate"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
This is my commit message
Signed-off-by: Nilesh-Deotale

Incorrect process. Will checkin to gerrit.


Could not inject dependency via guice

I try to inject dependency in guice project, but I get error: java.lang.ClassNotFoundException: com.auth0.jwt.interfaces.JWTVerifier. Could you help with that? Thanks in advance!

Don't know guice, could you share a minimal sample application in order to replicate the issue?
I'll take a look and see if can help

I'll try and get back to you later this week or early next week


Support Hibernate abort by call to wakeup

Revisit the TRACE/LOGGING categories and usage. Only have SYSLOG (once) for an action to indicate success or failure so the operator/QA engineer is aware of the consequences he took be hibernating or waking up a plugin. Try to limit the amount of non-functional information (TRACES are for debugging in case of program misbehaviour analyses by developers).
Tried to indicate all the expected categories/ trace versus logging commands...


Shiny app quits if you select a category for which there is no data in the input file

I had a zipped county dump file that was missing irrigation tables, but I selected irrigation, total from the dropdown list of data element types, and the Shiny app shut down.

To test, remove one text file from the zip files.


Force users to reset password on first login

Overview
Force users to reset their password on first login.
Closes #67
Notes

Using the Django admin to reset a password does not set has_admin_generated_password to False, so that flow will not force the user to reset their password. If that is desired, that could be a follow-up card.

Testing Instructions

scripts/resetdb
scripts/server
Visit django admin at localhost:8181/admin and add a user
Login as that user, ensure redirected to Reset password page
[ ] Reset password and ensure login works
[ ] Login again, ensure not asked to reset again
[ ] Login as development users (e.g. v1@azavea.com), ensure that no resetting is required

Checklist

[ ] fixup! commits have been squashed
[ ] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines
[ ] README.md updated if necessary to reflect the changes
[ ] CI passes after rebase

Thanks for the review!


ControlSystemStudio/cs-studio#1421 Temporary fix for thread locks

https://github.com/ControlSystemStudio/cs-studio/issues/1174

@berryma4 please verify
Note: the branch should be deleted after merging


python311Packages.shtab: 1.6.1 -> 1.6.2

Diff: https://github.com/iterative/shtab/compare/refs/tags/v1.6.1...v1.6.2
Changelog: https://github.com/iterative/shtab/releases/tag/v1.6.2
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 238005 run on x86_64-linux 1

2 packages failed to build:

python311Packages.dvclive
python311Packages.dvclive.dist

15 packages built:

dvc
dvc-with-remotes
dvc-with-remotes.dist
dvc.dist
pyrosimple
pyrosimple.dist
python310Packages.dvclive
python310Packages.dvclive.dist
python310Packages.shtab
python310Packages.shtab.dist
python311Packages.shtab
python311Packages.shtab.dist
rmtrash
trash-cli
trash-cli.dist


User guide has some tiny errors

some tiny errors as follows:

you should specify which data you have used.

Is the user guide not completed？

I could probably check this out soon if no one else has gotten to it.

hey @yanyu2015! Could you point me in the right direction for this?

I don't want to have to search around for the first example, so a link would be perfect.
Not sure I see what you'd like to change for the second snippet.
Manual Sum error should be fixed in #147

1 It's pity that you are so lazy and  not familiar with your own cookbook
[the link](https://pola-rs.github.io/polars-book/user-guide/dsl/contexts.html).
2 please give which specify data you use, it's ambiguous, are you sure that code can work well?

It's pity that you are so lazy and not familiar with your own cookbook

It is not written by him. In any case it's a community efford. I would appreciate if you would stay respectful to our contributors they do this in their free time.

I am sorry for my rude words. But I also do this in my free time, polars is great and I want to contribute to it.
I writed this issue TWICE before 14 days ago, but until today no one has fixed it or even knows where it is, which makes me feel uncomfortable. Cookbook is the most authoritative source for every beginner, and I think we should take it seriously. When I recommended polars to my friends, they felt that the cookbook was not friendly enough, which made me feel embarrassed.

Then let's improve it!

@yanyu2015

1 It's pity that you are not familiar with your own cookbook. the link.

Done!

2 please give which specify data you use, it's ambiguous, are you sure that code can work well?

Hmm.. curious. Maybe I'm looking at the wrong spot here as well, so correct me if I'm wrong, but there's a link to US Congress dataset above the snippet. I see that it's not a link in your screenshot though.

Noticing there might be similar feedback from #120.

Getting the US congress dataset code sample on GroupBy page (3.3) is very unclear about how to replicate ("from .dataset import dataset" doesn't work and is rather unclear how to execute other than that snippet)

you are nice.
To the 2 point, the reason is the from .dataset import dataset seems not work. and US Congress dataset is right, but there are so many datasets so taht people may not know which one is the right dataset the cookbook used. I try legislators-current and other dataset. If someone cannot replicate the result as the page presented they may feel confused.

Here's the dataset that's imported
https://github.com/pola-rs/polars-book/blob/b6e03837de0978932170a7d7ca763900b7fff08a/user_guide/src/examples/groupby_dsl/dataset.py#L1-L13

I try the code again.
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_35972/3485124543.py in <module>
      1 import polars as pl
      2
----> 3 from .dataset import dataset
      4
      5 q = (

ImportError: attempted relative import with no known parent package

I  see you have trid to fix it in #120

Try
import polars as pl

url = "https://theunitedstates.io/congress-legislators/legislators-historical.csv"

dtypes = {
    "first_name": pl.Categorical,
    "gender": pl.Categorical,
    "type": pl.Categorical,
    "state": pl.Categorical,
    "party": pl.Categorical,
}

dataset = pl.read_csv(url, dtype=dtypes).with_column(
    pl.col("birthday").str.strptime(pl.Date, strict=False)
)

q = (
    dataset.lazy()
    .groupby("first_name")
    .agg(
        [
            pl.count(),
            pl.col("gender").list(),
            pl.first("last_name"),
        ]
    )
    .sort("count", reverse=True)
    .limit(5)
)

df = q.collect()

ok, it works well. Let's close this issue.


Exception upon selecting "as tracks"

Getting this during an import:
Finding tags for album "Bluetech - ".
Candidates:
1. Bluetech - Sines And Singularities (26.6%) (missing tracks, album, source, ...) (Discogs, CD, 2005, Israel, Aleph Zero Records)
2. Bluetech - The Divine Invasion (26.6%) (missing tracks, album, source, ...) (Discogs, CD, 2009, Israel, Aleph Zero Records)
3. Bluetech - Prima Materia (24.7%) (missing tracks, album, tracks, ...) (Discogs, CD, 2003, US, Waveform Records)
4. Bluetech - Elementary Particles + Prima Materia (20.5%) (missing tracks, album, source, ...) (Discogs, 2xCD, 2004, US, Aleph Zero Records)
5. Bluetech - Love Songs To The Source (20.0%) (missing tracks, album, tracks, ...) (Discogs, CD, 2010, Canada, Interchill Records)
6. Various Artists - Left Coast Liquid, Volume 1 (15.3%) (missing tracks, album) (CD, 2005, US, Native State Records)
# selection (default 1), Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort? T
Traceback (most recent call last):
  File "/usr/bin/beet", line 9, in <module>
    load_entry_point('beets==1.3.11', 'console_scripts', 'beet')()
  File "/usr/lib/python2.7/site-packages/beets/ui/__init__.py", line 1081, in main
    _raw_main(args)
  File "/usr/lib/python2.7/site-packages/beets/ui/__init__.py", line 1071, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/usr/lib/python2.7/site-packages/beets/ui/commands.py", line 892, in import_func
    import_files(lib, paths, query)
  File "/usr/lib/python2.7/site-packages/beets/ui/commands.py", line 869, in import_files
    session.run()
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 316, in run
    pl.run_parallel(QUEUE_SIZE)
  File "/usr/lib/python2.7/site-packages/beets/util/pipeline.py", line 304, in run
    for msg in _allmsgs(out):
  File "/usr/lib/python2.7/site-packages/beets/util/pipeline.py", line 455, in pull
    out = coro.send(msg)
  File "/usr/lib/python2.7/site-packages/beets/util/pipeline.py", line 183, in coro
    func(*(args + (task,)))
  File "/usr/lib/python2.7/site-packages/beets/importer.py", line 1234, in lookup_candidates
    plugins.send('import_task_start', session=session, task=task)
  File "/usr/lib/python2.7/site-packages/beets/plugins.py", line 455, in send
    result = handler(**arguments)
  File "/usr/lib/python2.7/site-packages/beets/plugins.py", line 123, in wrapper
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/beetsplug/importadded.py", line 53, in record_if_inplace
    for item in task.items:
TypeError: 'NoneType' object is not iterable

Thanks. Looks like the imoortadded plugin isn't expecting this case. Any clues, @silb?

@silb: It looks like in-place imports in importadded don't expect singleton tasks. Checking it out.

@sampsyo  sorry for not responding in a timely manner on this request.

No worries, @silb! :smiley:


Solve for sync files across repos.

On a schedule the toplevel file(s) from https://github.com/knative/actions/issues/57 should be synced across repos. Use either a file-syncer GHA or knobots whatever the decision, this should be documented in actions repo and made clear on how to do this. Link to documentation in header of toplevel file(s).

https://github.com/knative/actions/pull/67 fixes this


Allows users to turn off preprocessor language parsing for better performance

Changed a bit the text to be more neutral. Thanks a lot for the PR 🙂


Highlight misalignment

Edit: Sorry, I didn't realize this is Issue #12. Close?
Often we have to adjust the display width to realign the token highlights.
As a non-coder at first I imagined it has something to do with the highlight hitting the margin before the text does. When you shrink the display, you can see the highlight get pushed to the next line before the text. But it's not as simple as extending the highlighting's margin by 1 pixel. I remember that most tokens start with a space, and I notice a space at the end of a line may or may not be "rendered" depending on whether it fits.
No clue how to solve this without adding bloat. SillyTavern does Token Probabilities in a separate panel with uneditable words and only for the newest message. Mikupad has highlighting over editable text because it's cool like that.

This is from the text extending into where a scroll bar would be but the highlight doesn't, if you reduce the window height to force it to overflow and show the scroll bar the highlight syncs up properly.
I slapped overflow-y: scroll into the prompt-container text area and it worked, someone with actual webdev whatever could do a better job.

This is from the text extending into where a scroll bar would be but the highlight doesn't, if you reduce the window height to force it to overflow and show the scroll bar the highlight syncs up properly.

Oh you're right.
Meanwhile I'm gonna slip in a tiny nitpick: the wrench icon position looks a bit ugly when the scrollbar appears.

Edit: Sorry, I didn't realize this is Issue https://github.com/lmg-anon/mikupad/issues/12. Close?

Yes, this is likely a duplicate of #12, but it's hard to say if it's really the same issue because I remember it was happening when the scroll bar was visible.

This is from the text extending into where a scroll bar would be but the highlight doesn't, if you reduce the window height to force it to overflow and show the scroll bar the highlight syncs up properly.

I'm really confused about why this would happen... However, if it's as you say, this is likely an easy fix.

Meanwhile I'm gonna slip in a tiny nitpick: the wrench icon position looks a bit ugly when the scrollbar appears.

I agree. However, it's not something that bothered me enough for me to fix it myself lol


Infer type of simple recursion

🔍 Search Terms
recursive, never, implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
With recursive functions, it is often possible to infer the return type without function annotations.

If all return statements have inferrable type, it would be nice to use their union as the return type of a function (even if that function is recursive)

Similar to #53995, you can assume in the body of a recursive function that any recursive call with unchanged argument types returns type never.

📃 Motivating Example
// @target: ES2020
function factorial(x:bigint){
  if (x<=0n)
    return 1n
  return x*(factorial(x-1n))
}

function factorial2(x:bigint){
  if (x<=0n)
    return 1n
  return x*(factorial2(x-1n) as bigint)
}

Workbench Repro
💻 Use Cases
TBD

Duplicate https://github.com/microsoft/TypeScript/issues/3336

Relevant part from the linked issue:

Unless some use cases become super compelling in terms of complexity vs gain, we don't foresee changing this for the sake of eliding one type annotation.

I think any implementation with special rules as outlined by OP is way too complex for the small benefit. Just add a type annotation.

I think any implementation with special rules as outlined by OP is way too complex for the small benefit. Just add a type annotation.

According to that issue:

The current rule is that any function that sees itself during the resolution of its return type is any.

I think the resolution is as simple as changing any to never in that case, no? It seems like this is even simpler than making tail-calls a narrow special case.

I think the resolution is as simple as changing any to never in that case, no?

This wouldn't work, and would be dangerously unsound. It'd imply you could write code like
function self() {
  const arr: string[] = [];
  arr.push(self()); // OK, self() returns never here, and never subtypes string
  return 3 * (Math.random() > 0.5 ? self() : 2);
}

It'd imply you could write code like

You actually can write code like that with noImplicitAny turned off. But no one should have that turned off.

This wouldn't work, and would be dangerously unsound. It'd imply you could write code like
function self() {
  const arr: string[] = [];
  arr.push(self()); // OK, self() returns never here, and never subtypes string
  return 3 * (Math.random() > 0.5 ? self() : 2);
}

I presume you mean something like this.
function f() {
  const arr: string[] = [];
  if (Math.random() < 0.5){
    arr.push(f())
  }
  return 3 * (Math.random() > 0.5 ? f() : 2);
}

When performing inference, yes, you'd allow the above code, and you'd infer that f returns type number | never i.e. number. Then when checking types, you'd complain about the bad conversion from number to string.
It similar in spirit to this, which has no trouble inferring the type of f2() and does provide a useful error:
function f2() {
  const rec = Math.random()<0.5 ? "": f2()
  const z:string[] = [rec] // Typescript correctly flags the type issue even though it's before the return statement
  return (Math.random()>0.5) ? z.length : null
}

Then when checking types, you'd complain about the bad conversion from number to string.

Checking and resolving types are done in the same pass.
See the conversation in #45213 where this was discussed at length with another contributor.

@RyanCavanaugh Thank you! #45213 sheds a lot of light. I had assumed the overall checking algorithm was some sort of iterative constraint solver, that is:

Gather all expressions and assume they are type unknown. Gather a database of type relations based on the program.
Iteratively narrow type bounds with those relations. Repeat until convergence or until some maximum recursion depth for generics.
Report any problems (like incompatible assignments or bad function calls or operators)

It hadn't even occurred to me that the checker is doing structural recursion instead of iterative constraint solving!
@MartinJohns, @fatcerberus I guess you could call this a duplicate of #3336, but it's hard to say. The discussion has scant detail, and the motivating example was fixed by #53995.