[Question]: Establish PIV session with device

Is there an existing issue for this?

[X] I have searched the existing issues

What is your question?
I am having difficulty with establishing a PIV session with a key that is already plugged in.
Currently, I have code something like the following.  Most of the time this works fine.  However, sometimes, I get the System.NotSupportedException with the what() indicating that a PIV session could not be created.
Note: I tried using the yubikey listener from the sample code and had similar results: sometimes it would not get PIV session, other times its just fine.
Thoughts?  Something I'm doing / not doing?
foreach (var dev in YubiKeyDevice.FindAll())
{
   try {
       System.Threading.Thread.Sleep(125);
       session = new PivSession(dev);
   }
    catch (Yubico.PlatformInterop.SCardException e)
 {
     MessageBox.Show("Error " + e.Message);
     Debug.Write("Error " + e.Message);
     Debug.Write(e.StackTrace);
     return false;
 }
 catch (System.NotSupportedException e)
 {
     MessageBox.Show(e.Message);
     Debug.Write("Error " + e.Message);
     return false;
 }

Context
No response

Hi @briggst1 and thanks for checking out the SDK.
I'm new to the codebase myself but upon first glance it makes me want to direct you to this SDK article on creating and disposting connections:
https://docs.yubico.com/yesdk/users-manual/sdk-programming-guide/making-a-connection.html#2a-session
Specifically around the opening (and disposing) of a Session. If you follow the steps from this, do you still encounter the same behaviour?

I suspect this could be a manifestation of #72

Are you still experiencing problems @briggst1 ?

Yes, there are still times where, when the YubiKey is already plugged in, then I start my application, I get the same error.  However, instructing the user to remove the key and re-insert, generally works around the problem.

I see. Well, I'm still getting used to the codebase myself, but I think there's more related work that might address the issue. e.g. #89. Once it's merged you can try the latest develop branch and build it yourself/download and reference directly and see if you still experience the issue.

We will continue to work on stability of the SDK. I'm closing this question for now but please feel free to reopen it if the matter worsens. Thank you !


Peer-to-peer code review

[X] Awesome!! Your code looks good but there are small things that you need to change so that your code can look better! 💯

Required changes♻

[X] I think using Array.filter() , as suggested in the 4th bullet point in the project requirements, rather than a for loop that counts backward, can make your code easier to understand.

Fix your Linter.

using Array.filter() bultin function is better instead of for loop to traverse array data.


Add "Found a job?" link to mobile menu

The desktop view links to "Found a job?" in the main navigation but the dropdown mobile menu does not.
A PR addressing this issue should:

Add a link to "Found a job?" in the mobile dropdown menu.

I want to work on this issue . Please assign this issue to me

Thank you – all yours!

#618 https://github.com/joemasilotti/railsdevs.com/issues/618
joemasilotti https://github.com/joemasilotti/railsdevs.com
https://github.com/joemasilotti/railsdevs.com
I am sorry. I don't know about brew technology. I have just started
contributing. This was my first issue. I thought it was an issue of Html,
Css and Javascript. Can you please tell whether I can work on this project
in HTML, CSS, Js.
On Sat, 27 Aug 2022 at 23:29, Joe Masilotti @.***>
wrote:

Assigned #618 https://github.com/joemasilotti/railsdevs.com/issues/618
to @Kritikajain6104 https://github.com/Kritikajain6104.
—
Reply to this email directly, view it on GitHub
https://github.com/joemasilotti/railsdevs.com/issues/618#event-7272371732,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2U35ZGIKMNLKEQNLVBKM63V3JJQ3ANCNFSM57ZKPXEA
.
You are receiving this because you were assigned.Message ID:
@.***>

The code change will be in HTML, but in an interpreted Ruby file. So you will need to have the app running on your machine to make sure it all works.
What issue are you running into with brew? I can try to help get it straightened out.

Ok I am trying.Thank you for your response.
On Sun, 28 Aug, 2022, 7:24 pm Joe Masilotti, @.***>
wrote:

The code change will be in HTML, but in an interpreted Ruby file. So you
will need to have the app running on your machine to make sure it all works.
What issue are you running into with brew? I can try to help get it
straightened out.
—
Reply to this email directly, view it on GitHub
https://github.com/joemasilotti/railsdevs.com/issues/618#issuecomment-1229462429,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2U35ZHPADVQQ53O5OTD6C3V3NVQHANCNFSM57ZKPXEA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hey again @Kritikajain6104. It's been 2 weeks so I wanted to check in and see if you still have appetite for this issue. If not, no worries! Let me know and I can assign it to someone else.

@joemasilotti
happy to work on this one 😄

@Kritikajain6104, since I haven't heard from you in 10 days I'm going to assign this over to @xmarlox. Feel free to pick up another issue.

@joemasilotti ✋🏽
i believe this issue is already addressed

You are correct, thanks @xmarlox!


Remove contrib

After several months of no activity, I think we should remove contrib. I will follow up following #205

This will also address #182


Add a Pipeline helper to Module

This adds two additional methods to Module:
def Pipeline(self, stb, name="pipeline", domain="sync"):
    ...
def Stage(self, name=None):
    ...

These can to be used to easily create pipelined hardware, like so:
class MulAdd(Elaboratable):
    def __init__(self, width):
        self.a = Signal(width)
        self.b = Signal(width)
        self.c = Signal(width)
        self.stb = Signal()

        self.o = Signal(width * 2 + 1)
        self.o_stb = Signal()
        self.width = width

    def elaborate(self, platform):
        m = Module()

        with m.Pipeline(self.stb) as pln:
            with m.Stage():
                pln.mul = self.a * self.b
            with m.Stage("ADD_ONE"):
                pln.added_one = pln.mul + 1
            with m.Stage("ADD"):
                m.d.sync += self.o.eq(pln.added_one + self.c)

            m.d.comb += self.o_stb.eq(pln.o_stb)

        return m

When the stb argument to m.Pipeline() is strobed, the pipeline starts on that clock cycle and progresses through the stages. Of course, multiple stages can be running at any given time.
For data to get pipelined through each stage, you set the pipeline.<whatever name> property with the value you want propagated forward through the stages. You can access any value you've set in a previous stage in any future stage. The signal is set within the clock domain that the pipeline was instantiated with.
The pipeline.o_stb property is a signal that is strobed a cycle after the last stage executes (I think that's the right behavior, let me know if not).
A stage can be made invalid by calling the pipeline.invalid_stage() method. This is, of course, propagated forward through the stages.

A few things about this.
First of all, I think that the idea of a built-in pipeline abstraction is a potentially good contribution to the language. I can see why this would be beneficial and think it's worth discussion on how to target this use case. However, I think that this is best discussed in a preliminary RFC so that other community members can discuss their needs and how the design fits those needs.
Another thing to note is that for a feature like this, while an example is good to provide, tests would also be required. You can see examples of the kinds of tests that exist for the other DSL features in amaranth/tests/test_hdl_dsl.py.

First of all, I think that the idea of a built-in pipeline abstraction is a potentially good contribution to the language. I can see why this would be beneficial and think it's worth discussion on how to target this use case. However, I think that this is best discussed in a preliminary RFC so that other community members can discuss their needs and how the design fits those needs.

Oh good idea! Didn't realize that RFCs were used for amaranth. I'll go ahead and open an RFC issue.

Another thing to note is that for a feature like this, while an example is good to provide, tests would also be required. You can see examples of the kinds of tests that exist for the other DSL features in amaranth/tests/test_hdl_dsl.py.

Absolutely, I'll add tests if people like the design.


loadUserProfile() no longer typesafe

I just upgraded to version 12 and face an issue with loading the userinfo.
After PR #939 the return type of loadUserProfile() changed from Userinfo to Userinfo | string and now to object.
I thought, I could still at least cast to Userinfo, but weirdly the response is wrapped like this:
{
  "info": {
    "sub": "...",
    "name": "...",
    ...
  }
}

instead of
{
  "sub": "...",
  "name": "...",
  ...
}

so that I would have to call
private userinfoSubject$ = new ReplaySubject<UserInfo>();

...

  this.oauthService.loadUserProfile().then(userinfo => {
    // tslint:disable-next-line
    this.userinfoSubject$.next(userinfo['info'] as UserInfo);
    ...
  }

I would really like to find a cleaner solution to this.
Is the response wrapped in "info" on purpose?
And why did the response type change from Userinfo | string to object?

That's a good question indeed! I do not have the answer. I did trace it to the changes (amongst others) here:
https://github.com/manfredsteyer/angular-oauth2-oidc/commit/bbff95b86173fa9262bf962e7fa4cfe4121b787e#diff-685e26c24f3c008856834f8b4a350d5472b6aea01a623c31a8513f6cc599c57fL722-R722
In that PR I also see an open comment (from after the commits were made I think) saying something similar.


Short solution needed: "Using Letsencrypt with Nginx" (nginx)

Please help us write most modern and shortest code solution for this issue:
Using Letsencrypt with Nginx (technology: nginx)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Using Letsencrypt with Nginx


CSS3

I've got errors with new CSS3 minify issues.
See examples in attachments (From the template I've bought)
Almost all files give errors. (I haven't tested them all)
helpers.zip
assets/helpers/animate.css: line 1: .animated: command not found
assets/helpers/animate.css: line 2: -webkit-animation-duration:: command not found
assets/helpers/animate.css: line 3: animation-duration:: command not found
assets/helpers/animate.css: line 4: -webkit-animation-fill-mode:: command not found
assets/helpers/animate.css: line 5: animation-fill-mode:: command not found
assets/helpers/animate.css: line 6: syntax error near unexpected token }' assets/helpers/animate.css: line 6: }'

It's not related to UglifyCSS. It doesn't raise this kind of errors


When the entry date is a month after a statement in january, its year is wrongly reduced by one

As of commit d692be7dcfdc15e79328bdc215d3679e8237a488 there is a check in place for statements spanning over a year boundary. If a statement is parsed, that has an entry date in february and a date in january, the entry_date is wrongly set back to an earlier year. The following field 61 gets parsed with an entry_date of 2018-02-01 but should be 2019-02-01.
:61:1902010201DR3498,06NTRFNONREF//XXXXXXXXXX

This happens, because there is the assumption that the entry_date is always before the date and not the other way around, but many banks date their monthly statements like that.
Instead of checking if entry_date.month is bigger than date.month, as a simple fix I suggest to check if entry_date.month is bigger than date.month+6. The same should be checked the other way around. if entry_date.month is smaller than date.month-6 than add a year to entry_date, to catch constalations like the one above when having a year in between:
:61:1812310101DR3498,06NTRFNONREF//XXXXXXXXXX

A more sophisticated fix would be to make sure that the date lies between the opening and closing dates (60F and 62F) of the statetement, and if not, move it there. This would require access to the statement and can therefor not be done while parsing the 61 field without coupling the Statement class.
Perhaps its easier to not guess the year at all, and allow the client to add his own year determination function? The current behaviour could stay in place as a default for backwards compatibility reasons.

puh, autsch... thanks for reporting this! that's a bad.
need to wrap my head around it. (also ping @Uepsilon )

and thanks a lot for reporting and the great issue and analysis.

hey @hapm, do you found this when dealing with real world data? if so, could you provide an example please?
during research i found some banks providing examples having the date (valuta) before the entry_date whilest others have it the other way around. this seems inconsistent. since I'd assume the valuta is the date the transaction should be considered completed while the entry date is the date the transaction was placed. so the only logical way for me is, that the valuta can be equal OR later than the entry date, not the other way around.
201902010101 is possible while<PHONE_NUMBER>02 is not.
also, if we think that it's indeed possible to plan transactions for the upcoming year, we might not even know what the entry date's year was at all when provided with 4 digits only. so we can only guess that it was the same year OR the year before if the valuta is somewhere near january. but that is a guess too.
your first example is not touched by any of the code as it happens in february. for the second line, i'd suggest not to check if the entry_date's month is bigger but to be precisely december. but then again, date is completely optional and not provided by a lot of banks at all.

Thanks for pointing out the bad example, I messed that up by copying the wrong line. I edited the example above, so it matches the real data I got from the bank with confidential information removed. My guess of why the (german) bank is booking it like this, is to make sure that the monthly interest is booked after the month is closed (therefor entry_date = first day of next month), but the interest it self belongs to the month (therefor date = last day of month the interest ist calculated for).
I tried to find a limitation in the specs, that permits or disallows that kind of statement to no avail. The only thing I could find was this:

The SWIFT System validates subfield 2, Entry Date (Date in reduced ISO form), using current System Year (Error code(s): T50).
--- SWIFT - Standard MT (Novemeber 2018) - Category 9 - Cash Management and Customer Status - MT 940 Field Specifications - 6. Field 61: Statement Line - NETWORK VALIDATED RULES

To be honest I didn't search very much for what is meant with System Year in this context, but the only reasonable conclusion I could come about, was that the entry_date should always be between the dates of field 60a and 62a. Sadly I couldn't find a rule like that in the specs either.
To workaraound this issue, I will directly access Statement.data['entry_date'] for now, and get the year based on this rule.

We experienced the same issue at the start of February, in our case there was a line like:
:61:1901300201D1,00NCOMNONREF//XXXXXXXXX

during research i found some banks providing examples having the date (valuta) before the entry_date whilest others have it the other way around. this seems inconsistent. since I'd assume the valuta is the date the transaction should be considered completed while the entry date is the date the transaction was placed. so the only logical way for me is, that the valuta can be equal OR later than the entry date, not the other way around.

This seems totally logical to me, but apparently not to the bank 🙃
The fix suggested by @hapm makes sense to me, I'd phrase it as: the algorithm for choosing the entry dates year should minimize the difference between the two dates.

61:1901300201D1,00NCOMNONREF//XXXXXXXXX
this line would not be affected by any change after all, as it would be
valuta: 2019-01-30
entry_date: 2019-02-01
in any case, right?

Without any change the entry_date would be parsed as '2018-02-01', because
date.month == 1 && date.month < to_date(self.data['entry_date'], self.date.year).month

evaluates to true. With the given pull request this would be fixed. As there is no limit of the date field in the specs, I assume the given transaction could still be in a statement of 2020, and should be therefor be booked in 2020 but valued in 2019. This doesn't have a real use case but I can't find anything against that in the specs.

Without any change the entry_date would be parsed as '2018-02-01',

oops, true..
yeah, since the specs are unprecise about this, i'd rather ignore entry_date at all. if you need them for historical reasons (to check if you have processed that transaction already) it should make no difference as long as the resuling date after parsing is always the same.
but it's not really suitable for deciding when the booking was done

fixed by #32


Switch to SD2 For Roms on ArkOS 2.0 (1272024)

Describe the Issue (If applicable)
After the update, using Switch to SD2 For Roms doesn't work anymore.
It always says "Could not find a Fat, Fat32, Exfat, EXT4, or NTFS based sdcard to mount from slot2". This usually happens on unsupported TF Cards before but I have tested three previously supported TF Cards and they all have the same issue. Moreover I have manually edited the es_systems.cfg file and pointed them manually to roms2 and it still doesn't detect TF2. Switching back to the December ArkOS Build makes the cards work again.
*Edit: I did the SD2 for Roms script on December release and updated to latest that somehow works and didn't unmount my SD2 from roms2.
How can the issue be reproduced? (If applicable)
Freshly updated ArkOS > Switch to SD2 for Roms
What device are you using? (Only the Gameforce Chi, RK2020, OGA 1.0, OGA 1.1, RG351MP, RG351V, RGB10, R35s, RG353V/VS, RG353M, RG503, RGB30, and RK2023 units are officially supported)
Game Console R35S
What version of ArkOS are you on?

You can find this during the initial boot process right before the Emulationstation loading screen
ArkOS 2.0 (1272024)

Anything else you'd like to include that may help to review this issue or feature request?

same problem on r36s. If you update from a previous version where the second card for roms is already selected, it freezes at loading after the update. If you update a new system and then switch to the second card, it does not see the partitions on it.

What format are you using for your sd2 card?

exfat, clean install and update from 12222023 version

What format are you using for your sd2 card?

I'm on exFat. I shall try other formats give me a sec.

NTFS didn't work either, so does LargeFat32.

I'll see if I can replicate this on my end with the RG351MP image on my R35s

I just pushed out an update that resolves the switch to sd2 card issue.  I don't provide support for the R36s unit but I suspect if you were on the previous stock OS, the card was just bad on that as the update would not impact an existing 2 sd card setup that was already active before the 01272024 update.

Hello looks like i have same problem or RG353VS, can i get also update for this platform

Not an issue on any supported rk3566 device including the RG353V.  I confirmed that I was able to switch to sd2 without issue.  Folders populated fine on my end on the latest update.  The issue is local on your end.

ok thanks for check after clean reinstall, bug was still same... but now i realized that problem was SD card format tried osx card formated with FAT, EXTFAT, FUSE-EXT2.. with all these it wasnt working (card was empty after switch to seconds sd card)...Then i tried to format my 256 GB card with FAT32 format (function on Raspberry Pi Imager osx APP) and then it worked... weird but now it works... thanks for your work :)


Unexpected assembly loading when deserialize Type class,

Source/destination types
Source: string with type full name
Destination: System.Type class
Source/destination JSON
"System.Xml.XmlDocument, System.Xml, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089"

Expected behavior
JsonSerializationException when assembly not loaded into process
Actual behavior
System.Xml assembly and all linked assemblies are loaded into process
Steps to reproduce
Delete all refrences in the project except: System and Newtonsoft.Json

Run this code:
using System;
using Newtonsoft.Json;

namespace ConsoleApp1
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            string source = "\"System.Xml.XmlDocument, System.Xml, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089\"";

            Console.WriteLine("Assemblies BEFORE deserialization:");
            PrintAssemblies();

            Type destination = JsonConvert.DeserializeObject<Type>(source);

            Console.WriteLine("Assemblies AFTER deserialization:");
            PrintAssemblies();
        }

        public static void PrintAssemblies()
        {
            var assemblies = AppDomain.CurrentDomain.GetAssemblies();
            foreach (var assembly in assemblies)
            {
                Console.WriteLine(assembly.GetName());
            }

            Console.WriteLine();
        }
    }
}

Output:
Assemblies BEFORE deserialization:
mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
ConsoleApp1, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed

Assemblies AFTER deserialization:
mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
ConsoleApp1, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Numerics, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Runtime.Serialization, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Xml, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089

I believe this is a potential security threat, while there is no way to prohibit such behavior, at least I have not found a way to do it.

You are choosing to deserialize to Type in your application. If you don't want an assembly is loaded then take a string and then validate whether you want to convert it to a Type.

@JamesNK, thank for the reply.
I agree with you and I blame myself for using the type, BUT :)
I also use the TypeNameHandling.Auto mechanism and I implement the interface ISerializationBinder for type validation. In this way, I can control which types of objects can be created during deserialization (and which assemblies are loaded). I believe that this mechanism can also be used for deserializing a type, well, or at least something similar.
Maybe it will be convenient to do type validation through the implementation of the interface ISerializationBinder or something similar?

If you care you could write a JsonConverter that called the binder

@JamesNK, thanks for the help.
The JsonConverter custom implementation for Type, that called the binder, works very well and solves my problem.


fix rat and checkstyle issue

Fixes #15124

Description

Building Druid with the below command on master/v27.0 branches:
mvn clean package  install -DskipTests   -Pdist -Prat
the build failed with the below error.
Update the following configuration to fix this issue:

checkstyle configurations
rat excludes configurations

Fixed the bug ...

Release note

Key changed/added classes in this PR

checkstyle-suppressions.xml
pom.xml

This PR has:

[x] been self-reviewed.
[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)
[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

The original issue is not re-produced on the master branch, but got a lots of checkstyle problems when running the command
mvn package install -DskipTests -Pdist -Prat

The checkstyle problems are all for files in the generated-source directory of  druid-sql module. I think the change in this PR makes sense.
But I would like to suggest using global match to exclude all checks for the generated source files like the following instead of adding supression rules one by one to the supression file.
<suppress files="[\\/]target[\\/]generated-test-sources[\\/]" checks=".*"/>
<suppress files="[\\/]target[\\/]generated-sources[\\/]" checks=".*"/>

This problem is only re-produced when running command 'mvn clean package install'.
The checkstyle runs twice for one module, one is the at the very beginning of the build phase, that is the validate phase, the other is after the 'install' phase.
I don't know why this happens. We can investigate this separately. For GHA, I think there's no need to make changes now until we find out the root cause why the checkstyle runs twice under the 'package install' command


GH-44081: [C++][Parquet] Fix reported metrics in parquet-arrow-reader-writer-benchmark

Rationale for this change

items/sec and bytes/sec were set to the same value in some benchmarks
bytes/sec was incorrectly computed for boolean columns

What changes are included in this PR?
Fix parquet-arrow-reader-writer-benchmark to report correct metrics.
Are these changes tested?
Manually by running benchmarks.
Are there any user-facing changes?
No, but this breaks historical comparisons in continuous benchmarking.

GitHub Issue: #44081

cc @boshek @austin3dickey for CB history breakage

Float16Type is not a physical type, just a logical type. But this LGTM

Float16Type is not a physical type, just a logical type.

I know, but this was convenient :-)


Refactor Window functions testing

Each basic functional test for window functions can be be thought of as a 4 value tuple (function, data, overClause, frameClause).

The window function. Could be rank, value, aggregate functions.
There are 5 input dataset styles :
i) Uniformly distributed data
ii) All rows in a single partition
iii) All partitions with single rows
iv) Partitions with more than one vector
v) Randomly generated data
Over clauses have different variations of partition by and order by columns. The partition by and order by are optional. The order by could also specify asc/desc, nulls first/last
Frame clauses. These are a fixed set of clauses that could occur in window function syntax.

The current unit tests are essentially all combinations of the above dimensions.
Depending on the function logic there could be additional tests for special values, error conditions or column types.
The organization of the tests is as follows :

Each window function style tests are in individual files. (Note : row_number is moved to the RankTest)
The tests are parameterized by function and over clause. Each test invocation per (function, over clause) combination iterates over all the frame clauses. This was done so that input vectors, DuckDB vectors and tables are created for each (function, over clause) combination and can be reused for all the frame clauses.
The previous code had many repetitions of input data set generation. Also some combinations were dropped in individual testing. The current re-factor consolidates all the data generation and clauses for uniformity.
For this uniformity, the input table schema had to be standardized across all the usages. The cleanest design I could come up with was a 4 column table where the first 2 columns are used for partition, sort and the last 2 columns are used for frame clauses (since the frame values can only be > 0).

Thanks @mbasmanova for your suggestion. Have updated the code for the next round of review. Appreciate your help.

@aditi-pandit Aditi, I'm seeing a few lint errors.

@aditi-pandit Aditi, I'm seeing a few lint errors.

Thanks @mbasmanova. Have updated the code for the lint warnings.


Recombination flux wrong sign

https://github.com/RemiTheWarrior/FESTIM/blob/d3075cc24cea6d5dc796b649a25605ced3730dcf/FESTIM/boundary_conditions.py#L72
This flux should be negative.

Fixed in #127


x/crypto/ed25519: GeDoubleScalarMultVartime returns wrong value for low scalar

What version of Go are you using (go version)?

go version go1.12.6 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/brf/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/opt/go/ext"
GOPROXY=""
GORACE=""
GOROOT="/opt/go/golang"
GOTMPDIR=""
GOTOOLDIR="/opt/go/golang/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build781766841=/tmp/go-build -gno-record-gcc-switches"

What did you do?
Reused package to access internal implementation (internal/edwards25519) for implementing ECDHE with Ed25519 keys. This involves the use of the 'GeDoubleScalarMultVartime()' method to compute the shared secret.
According to the docs 'GeDoubleScalarMultVartime sets r = aA + bB'. This method does not return the correct point 'r' if the bitlength of 'a' is less than 249.
You can check the source code here: https://git.wauland.de/brf/gnunet-go. The relevant code is in src/gnunet/crypto/key_exchange.go
What did you expect to see?
The correct Ed25519 curve point for any value of 'a'
What did you see instead?
A wrong curve point if 'a' has its most significant byte set to zero.

Can you provide an example vector with inputs and expected output?

d_1=0a1d7bed9e8775e311ec132764b016e714e01c5b521f65c12cc15f70c72999ec
d_2=002900bbd5b3bbff1065bd1df8070853071f1db788298d792a2fc939b00b950f
ss_1=8e2ad818f7465713fbc68c699ebef552502dd4ae2bb824aef7a32b9be153ca27724b73b7a8ba1c050adbd526bd08d22ebe2fca3351ad8f0d01eff9844a16a163
ss_2=9661379236da353550f2490aabaf86564d2fdea68c551ff0c03d7e672ae40976a6704a5159b89f5ccef93357686ed9594055cfc06c3af7ea3e2763aa9e99c13d

Compute Ed25519 private keys prv_1 and prv_2 (not from seed, but directly setting the private factor 'd' from above values) and get their respective public keys pub_1 and pub_2. Compute the shared secrets ss_1 and ss_2 as:

GeDoubleScalarMultVartime(&r, &a, &A, &zero)
ss = r.ToBytes()

with a=d_1, A=pub_2 for ss_1 and a=d_2, A=pub_1 for ss_2. The correct value is ss_1, but ss_2 is the wrong point.

Just for clarification: you can generate private keys from seed, but need to store the resulting private factor somewhere for the key exchange. It will always fail if one of the factors has its MSByte set to zero.

Just noticed a mistake: ss = sha512.Sum512(r.ToBytes())

Since the problem only occurs when setting the private scalar directly (and not derive it from a seed the Ed25519 way), I don't consider this an issue anymore (in the standard Ed25519 use case).
For my purpose (experimental software) I wrote a simple, less performant Go implementation of Ed25519 I will use in the project (https://github.com/bfix/gospel/tree/master/crypto/ed25519).


AVL Trees [Java]

Algorithm to create a balanced binary tree.
http://www.geeksforgeeks.org/avl-tree-set-1-insertion/

It should come under Data Structure only, also mention the methods above which you intend to implement.

I believe nobody is currently working on this issue. @singhpratyush Can you please assign it to me ?

Fixed in 7c61a361e55325d135057bb23b313c515ca7b466.


Provide ability to add data disks with size 1 gb.

Rancher server version - Build from master
Currently When adding VMs , the minimum  size that can be specified for data disks is 10 gb.
We should be allowed to add  disks with sizes from 1 gb.

Tested with v1.1.0-dev2-rc3.
We are allowed to choose any size for Data disk as input field during VM deployment.


(Ruby) Heredoc without interpolation ending isn't highlighted correctly

Describe the issue
Ruby heredocs without interpolation have slightly different openings and closings and are not being highlighted correctly.
Which language seems to have the issue?
Ruby
Are you using highlight or highlightAuto?
highlight
Sample Code to Reproduce
# standard heredoc
message = <<-MESSAGE
  This looks good
MESSAGE

# heredoc without interpolation
message = <<-'MESSAGE'
  This isn't highlighted correctly
MESSAGE

def not_a_string_anymore()
end

Screenshot

Expected behavior
The entire heredoc should be highlighted as a string, with the ending detected.
Additional context
Ruby documentation:
https://ruby-doc.org/core-2.5.0/doc/syntax/literals_rdoc.html#label-Here+Documents

@JamesPaden Does that look about right?

@joshgoebel Looks great. Thanks for the quick fix!!!


pronuntiation posteriori probability score percentage

I have a question, what exactly does the variable pronuntiation posteriori probability score percentage measure? The probability that that person will later pronounce as they do on the recording?
Thank you very much,

this library "my-voice-analysis' is an abstract version of one module of one of our projects in the past. In the main project we employed speech recognition and it had a pronunciation-practice-module. This article may be of interest to you  "Liang W., Liu J., Liu R. (2004) Comparison of Pronunciation Scores in Spoken Language Learning System. In: Liu W., Shi Y., Li Q. (eds) Advances in Web-Based Learning – ICWL 2004. ICWL 2004. Lecture Notes in Computer Science, vol 3143. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27859-7_56", .


Alter block blob cleanup behavior as discussed

If we fail the transfer, outright delete the blob.
If we cancel the transfer, only delete the blob if there's not a committed blob present.
Make a full-file single chunk upload stage a block instead of using upload-- Doing this means that if the transfer gets cancelled in a single-chunk transfer, the deletion code will still trigger correctly.
This also has the side effect of making the code paths more consistent.
Because all codepaths follow the same behavior now, putListNeed becomes functionally useless, and is more or less cluttering up otherwise functionally useful code, thus it is removed.

@adreed-msft please tag me when you want me to take a second look

I can't approve my PR but your changes look alright, just got one or two thoughts to consider before :shipit:

@adreed-msft please tag me when you want me to take a second look

@zezha-msft Consider yourself tagged :-)


No module named 'transformers_modules'

I'm having a new problem. I've tried updating transformers.

Can you share the code you are trying to run? Is impossible to help you otherwise

`from transformers import AutoTokenizer, pipeline,TextStreamer
import intel_npu_acceleration_library as npu_lib
import warnings
model_id = "microsoft/Phi-3-mini-4k-instruct"
model = npu_lib.NPUModelForCausalLM.from_pretrained(
model_id,
torch_dtype="auto",
dtype=npu_lib.int4,
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
text_streamer = TextStreamer(tokenizer, skip_prompt=True)
print("Compile model for the NPU")
model = npu_lib.compile(model, dtype=torch.float16)
generation_args = {
"max_new_tokens": 1024,
"return_full_text": False,
"temperature": 0.3,
"do_sample": False,
"streamer": text_streamer,
}
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
)
query = "<|system|>You are a helpful AI assistant.<|end|><|user|>Can you introduce yourself?<|end|><|assistant|>"
with warnings.catch_warnings():
warnings.simplefilter("ignore")
response = pipe(query, **generation_args)
result = response[0]['generated_text']
`

There is an issue with torch.save + torch.load and remote_code=True as described in this issue: https://github.com/intel/intel-npu-acceleration-library/issues/42
Try to remove trust_remote_code=True in your code as latest transformers do not need it. The fix has been already fixed in the main branch of this repo but we are going to release a new version only later this week


[SPARK-33824][PYTHON][DOCS][FOLLOW-UP] Clarify about PYSPARK_DRIVER_PYTHON and spark.yarn.appMasterEnv.PYSPARK_PYTHON

What changes were proposed in this pull request?
This PR proposes to clarify:

PYSPARK_DRIVER_PYTHON should not be set for cluster modes in YARN and Kubernates.
spark.yarn.appMasterEnv.PYSPARK_PYTHON is not required in YARN. This is just another way to set PYSPARK_PYTHON that is specific for a Spark application.

Why are the changes needed?
To clarify what's required and not.
Does this PR introduce any user-facing change?
Yes, this is a user-facing doc change.
How was this patch tested?
Manually tested.
Note that this credits to @gaborgsomogyi who actually tested and raised a doubt about this offline to me.
I also manually tested all again to double check.

cc @srowen, @zero323 and @viirya would you mind taking a quick look please?

Test build #133408 has started for PR 30938 at commit 4d08638.

Test build #133408 has finished for PR 30938 at commit 4d08638.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37999/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133408/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37999/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37999/

Thanks guys, merged to master and branch-3.1.


offline mode for wandb logger works incorrectly when resume mode is used

🐛 Bug
I experience a bug that when using wandb logger in offline mode AND resume=True it is not actually offline. Without resume=True everything is OK.
I was managed to fix it by explicitly passing parameter mode='offline' in addition to offline=True to wandb logger. Thus the probable cause could be line os.environ["WANDB_MODE"] = "dryrun"
I assume, that to fix it either dryrun have to be replaced with offline, or just remove environment variables from here and explicitly pass mode='offline' to wandb.init
cc @awaelchli @morganmcg1 @AyushExel @borisdayma @scottire @manangoel99

Hi @PgLoLo ! I'm an engineer at Weights & Biases. I will look into this and get back to you!

@PgLoLo could you also provide a code snippet to recreate the error?


Multiline support

Hi!
Thanks a lot for publishing this!
I just wanted to suggest if possible to have some extra functionality to format multiline text by starting lines with "+".
I've added this to my vimrc, but maybe it can be integrated in this plugin:
autocmd BufRead,BufNewFile *.rec vmap <Leader>t :s/^/+ /<cr>:noh<cr>
This way i can select some text and append the + easily. But maybe it could be a nicer solution to add the + on a new line, and the if empty on a second new line remove it? That way we can make vim more friendly to write rec files.
I'm open to discuss the idea, or try something myself. I just don't have a clue how to start, that's why I make the suggestion firts :smile:

Hi @goferito

Thanks a lot for publishing this!

 I'm glad that you're finding it useful 😃

I just wanted to suggest if possible to have some extra functionality to format multiline text by starting lines with "+".

To be honest, I want to use GNU Recutils a bit more and see what pain points I encounter before I start adding keyboard maps for formatting text.
In this case though, the alternative which i'm using is visual block insertion (help :blockwise-operators) which is a few more clicks than your autocmd map.
I think that it is perfectly fine to have that autocmd in your .vimrc though especially if it makes your life easier when it comes to inserting those multiline markers 👍
Thank you for the suggestion and let me know if there is anything else that you'd like me to add. I'm hoping to add some basic folding support soon.

I added this to the list of TODO items so I'm going to mark this issue as closed for now and revisit this when I'm adding keymaps.


Ruby: split-join bracketed blocks into do-end blocks

Ruby uses different delimiters depending on whether a block is inline or multiline. For example,
# inline block (joined)
some_list.each { |x| puts x }

# multiline block (split)
some_list.each do |x|
  puts x
end

It does not look like the ruby treesj preset supports the block (or do_block) node type as of right now. I would love to see this added as a feature and would be happy to create a PR.
From what I can tell - and correct me if I'm wrong - there are two limitations that are blocking this kind feature:

There appears to be a limitation on non_bracketed_node where the "split" and "join" node representations must use the same syntax. In this case, support for individual bracketed nodes would need to be supported-- boolean: Non-bracket nodes (e.g., with then end instead of {}|<>|[])
-- NOTE: Must be same for both modes
non_bracket_node = false,

Another limitation (which goes hand-in-hand with the first) is that there are no preset options for defining node replacement. I.e. do replaces { and end replaces }

This plugin has some great improvements over splitjoin.vim, hoping to see it continuously improve 🙂
Happy to hear your thoughts!

Also, here is a snippet of code and its corresponding treesitter representation:
Code
x.each { |y| puts y }

x.each do |y|
  puts y
end

Treesitter
call [0, 0] - [0, 21]
  receiver: identifier [0, 0] - [0, 1]
  operator: "." [0, 1] - [0, 2]
  method: identifier [0, 2] - [0, 6]
  block: block [0, 7] - [0, 21]
    "{" [0, 7] - [0, 8]
    parameters: block_parameters [0, 9] - [0, 12]
      "|" [0, 9] - [0, 10]
      identifier [0, 10] - [0, 11]
      "|" [0, 11] - [0, 12]
    body: block_body [0, 13] - [0, 19]
      call [0, 13] - [0, 19]
        method: identifier [0, 13] - [0, 17]
        arguments: argument_list [0, 18] - [0, 19]
          identifier [0, 18] - [0, 19]
    "}" [0, 20] - [0, 21]
call [2, 0] - [4, 3]
  receiver: identifier [2, 0] - [2, 1]
  operator: "." [2, 1] - [2, 2]
  method: identifier [2, 2] - [2, 6]
  block: do_block [2, 7] - [4, 3]
    "do" [2, 7] - [2, 9]
    parameters: block_parameters [2, 10] - [2, 13]
      "|" [2, 10] - [2, 11]
      identifier [2, 11] - [2, 12]
      "|" [2, 12] - [2, 13]
    body: body_statement [3, 2] - [3, 8]
      call [3, 2] - [3, 8]
        method: identifier [3, 2] - [3, 6]
        arguments: argument_list [3, 7] - [3, 8]
          identifier [3, 7] - [3, 8]
    "end" [4, 0] - [4, 3]

I'm planning to implement foreach option which will execute callback for each node. It'll allow transforming text and change brackets to do or end, e.t.c.
I think, this features will solve this case

Awesome! Looking forward to it.

I created draft PR (#68) what can handle block and do_block. Can you add more examples with same case, please?
If you know examples no only on ruby – it will be excellent.

One more ruby example:
Block without arguments
# Joined
10.times { puts "foo" }

# Split
10.times do
  puts "foo"
end

As for other languages, the only similar constructs I can think of are single-line vs. multi-line strings. For example:
# Joined
some_string = "I am\na\nmultiline\nstring"

# Split
some_string = """
I am
a
multiline
string
"""

@Wansmer I found a case that appears to be incorrectly splitting:
Code (Ruby)
# Original
let(:some_array) do
  [
    { bar: "bar" }
  ]
end

# Joined
let(:some_array) { [ { bar: "bar" } ] }

# Split again
let(:some_array) do
  [ { bar: "bar" } ]
end

Expected: split should be reversible and not change the inner array ([])

@Wansmer I found a case that appears to be incorrectly splitting:

It is not incorrectly: recursive is false by default for split.
It can be activated with:
  block = u.set_preset_for_dict({
    split = {
      recursive = true,
      recursive_ignore = { 'hash' }, -- not splitting hash
    },
  }),

Done in #68

This works fantastic. Thanks you!


iOS framework: maxFramesInFlight is broken with more than one output stream (or no pixel buffer output streams)

While researching a solution for #1357, I was trying to figure out how maxFramesInFlight worked, I discovered that _framesInFlight is incremented on -sendPixelBuffer:intoStream:packetType: or -sendPixelBuffer:intoStream:packetType:timestamp:, (MPPGraph.mm:358) but unconditionally decremented on every received output stream packet processed in CallFrameDelegate (MPPGraph.mm:186), which is called (up to) once for every output stream. The header notes that
/// This works as long as frames are sent or received using these methods:
///  - sendPixelBuffer:intoStream:packetType:[timestamp:]
///  - addFrameOutputStream:outputPacketType:

It does not say "received using a single instance of -addFrameOutputStream:outputPacketType:" and if it did, that would make it quite useless for any nontrivial use of the framework. As it is, with any more than 1 output stream, the _framesInFlight counter will almost immediately go negative (and eventually underflow, but not for years, even at 60 fps and 8 output streams).
This also means that if you want to remove the pixel buffer output stream (such as if you want to do your own rendering, or care more about numerical outputs), any frames that don't have output won't cause _framesInFlight to decrement and Mediapipe appears to hang (really, drops all packets) after just a few frames. A workaround for this would be to set maxFramesInFlight to 0, but that's not good for realtime performance on some devices, especially if the graph and/or the rest of the app do a lot of realtime processing.
Is -setMaxQueueSize:forStream:error: called with the input stream intended to replace maxFramesInFlight and is it still experimental? Only MPPGraph.h has a reference to it as such. Doesn't seem on the surface like it throttles except if the first node in the graph is still processing, although I haven't dug deep enough to say for sure.
At any rate, maxFramesInFlight is basically completely broken for non-trivial graphs and outputs, and so is in desperate need of fixing or replacement.

Please tell me that the change in 2b58ccee on staging to "fix" this is not final. It makes maxFramesInFlight completely useless for projects that want to do their own rendering or otherwise don't have a pixel buffer output stream. Useless (but documented as useful) is better than useless (but documented as useful) and broken, I guess, but I'd really rather it was as useful as documented instead.

Hi @danhd123, Could you please check the above issue with the latest IOS release and confirm you still see the same. Thanks!

Yes, the issue is still present.

Hello @danhd123,
We are upgrading the MediaPipe Legacy Solutions to new MediaPipe solutions However, the libraries, documentation, and source code for all the MediapPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM.
You can continue to use those legacy solutions in your applications if you choose. Though, we would request you to check new MediaPipe solutions which can help you more easily build and customize ML solutions for your applications. These new solutions will provide a superset of capabilities available in the legacy solutions.

The issue is not resolved. The setMaxQueueSize call looks promising, but the continued use of _maxFramesInFlight is broken.

Hello @danhd123,
We are upgrading the MediaPipe Legacy Solutions to new MediaPipe solutions However, the libraries, documentation, and source code for all the MediapPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM.
You can continue to use those legacy solutions in your applications if you choose. Though, we would request you to check new MediaPipe solutions which can help you more easily build and customize ML solutions for your applications. These new solutions will provide a superset of capabilities available in the legacy solutions. Thank you

It's still a bug since there is no Mediapipe Solutions API for iOS.

Please transition to MP Tasks for iOS.


Add a new sub-Ministry as an option for Ministry Housing - Telework

As a user I would like to select a ministry called "Ministry of Housing" from the drop down ministry component on the telework form.  This would be separate form the current "Attorney General and Minister or Housing" selection that is already available to choose from.
Original Email received on Feb 14:
I’m inquiring on behalf of my ministry to see if we can have a separate “Ministry of Housing” selection added to the drop down for organization on the
digital telework agreement page.  We’d like to have the current “Attorney General and Minister for Housing” selection separated into the two distinct ministries.
Please let me know if you require anything additional from us to complete this change.

Please reach out to the BI team before you add new ministry

sent myHR request to BI team to discuss if this would be okay.

BI Team confirmed changing ministry info won't impact reporting.
Confirming with Meghan on ministry scope and then will request updated ministry name list.

Here is the link to the bc gov ministries, which also shows the ministries listed separately: https://www2.gov.bc.ca/gov/content/governments/organizational-structure/ministries-organizations/ministries
I also looked on the BI analytics dashboard (Stella also has access) and see those ministries (AG and Housing) are separated in the reporting.
@Stella I'd go ahead and make that change and make sure the team has an updated ministry spreadsheet in its files with a "last updated" date"

Small request -
The dropdown menu shows "Housing", can you please change it to "Ministry of Housing"?
Attorney General looks good

@ayushdamani none of the other ministries are prefixed with "Ministry of". Are you sure we should make this change?

No please keep consistent

Awesome - thank you Stella and Andrew!

Thanks this looks really great.
ticket is ready for next deployment

Sent through and sent a note to Sarah M to check for it in BI on Monday


SVD Initialisation

Hi,
First of all, thank you for your work, it's really appreciated.
I have a question about replacing full rank with low rank in this section.
https://github.com/syp2ysy/SVF/blob/8d42e341fcd93658e30e85fc50c86ec04a1a9850/svf.py#L60C1-L63C8
While for convolution modules there is no problem,
https://github.com/syp2ysy/SVF/blob/8d42e341fcd93658e30e85fc50c86ec04a1a9850/svf.py#L117C1-L125C63
It seems to me that for Linear modules the weights of matrices U, S and V are randomly initialized. I understood that this wasn't the case in the paper (I may be wrong) but I understood that the module initialization had to be based on an SVD on the pre-trained weights.
Thank you in advance for your clarification.

Hi,
First of all, thank you for your work, it's really appreciated.
I have a question about replacing full rank with low rank in this section. https://github.com/syp2ysy/SVF/blob/8d42e341fcd93658e30e85fc50c86ec04a1a9850/svf.py#L60C1-L63C8
While for convolution modules there is no problem, https://github.com/syp2ysy/SVF/blob/8d42e341fcd93658e30e85fc50c86ec04a1a9850/svf.py#L117C1-L125C63
It seems to me that for Linear modules the weights of matrices U, S and V are randomly initialized. I understood that this wasn't the case in the paper (I may be wrong) but I understood that the module initialization had to be based on an SVD on the pre-trained weights.
Thank you in advance for your clarification.

I have the same problem with Linear module. When employing torch.svd() to Linear weight, S could be nan. Do you solve this problem?

Hi,
First of all, thank you for your work, it's really appreciated.
I have a question about replacing full rank with low rank in this section. https://github.com/syp2ysy/SVF/blob/8d42e341fcd93658e30e85fc50c86ec04a1a9850/svf.py#L60C1-L63C8
While for convolution modules there is no problem, https://github.com/syp2ysy/SVF/blob/8d42e341fcd93658e30e85fc50c86ec04a1a9850/svf.py#L117C1-L125C63
It seems to me that for Linear modules the weights of matrices U, S and V are randomly initialized. I understood that this wasn't the case in the paper (I may be wrong) but I understood that the module initialization had to be based on an SVD on the pre-trained weights.
Thank you in advance for your clarification.

I seem to solve this problem through fixing the code.

Hi, I solved the problem too by initializing U, S, V matrix using the SVD instead of the random initialization of the code.


TabError: inconsistent use of tabs and spaces in indentation

File "checkpe.py", line 13
return 0.0
^
TabError: inconsistent use of tabs and spaces in indentation
there is tabs mixed in there, fix please
PS. i thought a PR would be hassle for this so opened this issue

added PR


Additional chat client notices

Feature Request
I'd like to add a few new message notices to listen for in the twitch-chat-client package:

bad_vip_max_vips_reached
bad_vip_achievement_incomplete
msg_channel_blocked
msg_duplicate
msg_emotonly
msg_followersonly
msg_followersonly_followed
msg_followersonly_zero
msg_followersonly
msg_verified_email
msg_timedout

Sure, I don't see why they should be left out.
If you want to implement this, please make sure that for notices that can be responses to user-initiated commands, they should be resolving/rejecting the command's promise (see this for an example).
Additionally, 4.x is now feature frozen and will only receive bug fixes. Please implement new features only on the main branch.


pipelineX Fix concurrent bug in schema scanner

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


weird message in my emacs when I try load go-mode

Hi, sorry but I don't have so much experience debugging emacs, when I've installed go-mode using melpa but when I try run it I get
sort: Wrong type argument: number-or-marker-p, #[257 "ÀÁDÂDE" [and symbolp cl--find-class] 5 "

(fn NAME)"]
sort: Wrong type argument: number-or-marker-p, #[257 "ÀÁDÂDE" [and symbolp cl--find-class] 5 "

(fn NAME)"]
user-error: Minibuffer window is not active

I've tried doing the manual installation but the problem persist, please let me know if you need more info
emacs
emacs GNU Emacs <IP_ADDRESS>
elementary linux
go-mode from melpa-stable and marmalade
thanks.

Please set debug-on-error to t and provide an actual backtrace of the issue.

Closing due to lack of feedback.

sorry @dominikh , I'd fix the issue after update my emacs packages, now it works perfect, sorry for don't asnwer before, thank you

Curiously, I get the same error message while compiling the Emacs from sources.


Need new release for naga v22

Title says it all. wgpu/naga are now on version v22 (dropped the leading 0.), and there should be a new release of include-wgsl-oil to target this series.

Done, will push on crates.io later


Fix: asynchronous errors do not cause failure

This wraps up the top-level code in an asynchronous main function
and awaits the results of run so that any asynchronous errors
are caught and handled correctly. Previously, asynchronous errors
would not cause core.setFailed() to be called.

Thanks, released as v1.2.2.

Thanks for making the action in the first place!


[Translation][zh_*] follow up latest changes on master, and more.

@sourcelocation again, from #33 . Please kindly consider an approve of merge.

Although they all use Chinese characters, there are slight differences in word usage and character gylphs in different regions (Mainland China, Hong Kong, Taiwan, Singapore, etc.). Therefore, zh_Hans alone is not enough, we need zh_CN, zh_HK, zh_TW, and so on... Thus this PR.

zh_Hans does not covers all simplified Chinese areas, thus we DO NEED multiply version of localization file. Also, @xiangfeidexiaohuo as a noun, reboot userspace should be translated to 用户空间重启, and as a verb, it should be translated to 重启用户空间.

Thank you for the corrections and additional changes!

Thank you for the corrections and additional changes!

My pleasure : )

@sourcelocation BTW, zh_CN.lproj might need to be added to source in XCode again. As it was removed before.


fix memory leak issue

try to fix memory leak issue in AFURLSessionManager module

There doesn't seem to be any actual memory leak fixed here. If you're still seeing an issue, please post a new PR with your analysis.


Challenge http://www.freecodecamp.com/challenges/waypoint-check-radio-buttons-and-checkboxes-by-default has an issue

the tests only show up as "Syntax error, unrecognized expression" and can't be completed

Closing this specific issue, this is tied to issue #585. Thanks!


API: Extend StringFilter to support comparison operators

PR Checklist

[x] Verify if the change requires a changeset. See CONTRIBUTING.md

I'm curious: Why can't you use DateFilter for this?

ISO Dates are just one use case, you can also think about a few others. E.g. you create a contact list and you want to display all contacts with names starting from a to f.
But to answer your question. Suppose you have the following entity:
class Event {
  @Field()
  @Property({columnType: date})
  start: string;
}

For start I want to only have a date without any time. For this I use the appropriate psql column type date (https://www.postgresql.org/docs/current/datatype-datetime.html). This type has to be mapped to string in TS, because otherwise I have all the timezone issues. Storing ISO dates as string is very handy, because you can lexicographically order them and filter them using string operations without thinking about timezones. And GraphQL has no type for dates without time. All resolvers/dtos are generated by our admin generator, so I have no easy option to overwrite something.

The current implementation is specially made to be used in combination with mui-x data-grid where strings have the following default filters: https://github.com/mui/mui-x/blob/5585ea10bae52c69fd1cd1737d1b25e731d7d5b2/packages/x-data-grid/src/colDef/gridStringOperators.ts#L23

The current implementation is specially made to be used in combination with mui-x data-grid where strings have the following default filters: https://github.com/mui/mui-x/blob/5585ea10bae52c69fd1cd1737d1b25e731d7d5b2/packages/x-data-grid/src/colDef/gridStringOperators.ts#L23

But additional options, only used on the API side, should do no harm, right?
In my use case case I don't have a grid as client. But the API generator would work for my use case really well.

But additional options, only used on the API side, should do no harm, right?

Yes. Still we should discuss if it is the best solution.

And GraphQL has no type for dates without time.

Yes, but I think you should use https://the-guild.dev/graphql/scalars/docs/scalars/date. And that could also have it's own Filter type.

But additional options, only used on the API side, should do no harm, right?

Yes. Still we should discuss if it is the best solution.

And GraphQL has no type for dates without time.

Yes, but I think you should use https://the-guild.dev/graphql/scalars/docs/scalars/date. And that could also have it's own Filter type.

I've made an RFC for graphql-scalars in #2124


[FIX] Re-align the text and the schema for filenames in derivatives

I initially set out to add the desc entity to the filename templates for segmentations (in the 'Segmentations' subsection), since the BIDS spec says here that:

When necessary to distinguish two files that do not otherwise have a distinguishing entity, the _desc- entity SHOULD be used.

But then I noticed that this repository also contains a YAML version of the spec, and the desc entity already appears there. What's more, I noticed that the atlas filename entity has the opposite problem: it appears in the text (added in #997), but not in the YAML.
I also noticed that the [ses-<label>/] folder layer was missing from the filename templates in the text about Derivatives (probably because they can't use the nifty MACROS___make_filename_template construct), so I fixed that too.
This pull request fixes all three problems.
I'm not sure if this pull request counts as a [FIX] or a [SCHEMA]: it feels to me like a bugfix, but technically it does touch the YAML files.
(This is my first contribution, but I'll wait until it's accepted before adding myself to the Recent Contributors page on the wiki.)

@effigies @tsalo
before @mguaypaq spends too much time on this, do we think it will be possible in the "near" future to use the schema directly to render those filename templates?
Also to estimate how thorough we want to be on this.

switching to draft PR

This should have been a simple first contribution PR, but it languished for a year. Anyway, I believe I have addressed all the feedback, so that the text and yaml line up with each other. Could I get another round of reviews?


[Question] Is it suitable for my use case

My users upload multiple files for retrieval later using S3.
*Up to 100 files (max 500) can be uploaded at one time
*Total Size average's from 200mb up to 6GB or more.
*Current use case is that when the clients want to download it they have the option to download individually, or i force the browser to download multiple files!
I have been looking for a way to either compress the files from s3 along with the key stream, zip and download.
OR create the zip client side and then upload.
I dont need to compress.
I wonder if client-zip would be suitable, the only current limitation would be the 4gb limit, but then i may be able to separate the zips.
Thanks
Ricky

Hi. As you say, the 4GB limitation would be a hard issue for some users (an issue that I do plan to fix in client-zip by implementing ZIP64). Then there is a soft issue with large archives…
The file count is not a problem at all. There is no inherent limitation or performance bottleneck there. Just make sure to fetch the files lazily in sequence with an async generator, do not use Promise.all or something like that. You can pass an async generator to downloadZip instead of an array.
In fact, downloading lots of small files with a low total size is a better use case for client-zip than a few really large ones. If you use the simple Blob method to create a download link, the browser needs to generate and cache the whole ZIP rather than stream it to the disk as it is being generated. That's barely noticeable below 100MB, but the browser will probably complain to the user about high CPU and memory usage from a page that generates a 4GB blob (and you must show the user a progress bar to make the wait acceptable).
The solution to the long-ish processing time and large memory usage, of course, is to stream the response straight to the disk, as it is generated, without calling .blob(). There are two ways of doing that:

The easy way is by using a currently non-standard Filesystem API in write mode, that is only supported in Chrome, which allows you to programmatically write to a file without clicking a download link. You would simply pipe the Response's body into the File. Solved in one line ! (plus the creation of the file and asking for permission, but still trivial). But if you have that API, you could skip the zipping entirely and just write all the files one by one.
The way that should work everywhere is by using a ServiceWorker to intercept the page's request from a vanilla link (not a Blob URL) and stream the response. I have run into some trouble in my attempt to document how to do just that, so at the moment I can say it's theoretically possible but ServiceWorkers and download links don't mix well.

Hi. As you say, the 4GB limitation would be a hard issue for some users (an issue that I do plan to fix in client-zip by implementing ZIP64). Then there is a soft issue with large archives…
The file count is not a problem at all. There is no inherent limitation or performance bottleneck there. Just make sure to fetch the files lazily in sequence with an async generator, do not use Promise.all or something like that. You can pass an async generator to downloadZip instead of an array.
In fact, downloading lots of small files with a low total size is a better use case for client-zip than a few really large ones. If you use the simple Blob method to create a download link, the browser needs to generate and cache the whole ZIP rather than stream it to the disk as it is being generated. That's barely noticeable below 100MB, but the browser will probably complain to the user about high CPU and memory usage from a page that generates a 4GB blob (and you must show the user a progress bar to make the wait acceptable).
The solution to the long-ish processing time and large memory usage, of course, is to stream the response straight to the disk, as it is generated, without calling .blob(). There are two ways of doing that:

The easy way is by using a currently non-standard Filesystem API in write mode, that is only supported in Chrome, which allows you to programmatically write to a file without clicking a download link. You would simply pipe the Response's body into the File. Solved in one line ! (plus the creation of the file and asking for permission, but still trivial). But if you have that API, you could skip the zipping entirely and just write all the files one by one.
The way that should work everywhere is by using a ServiceWorker to intercept the page's request from a vanilla link (not a Blob URL) and stream the response. I have run into some trouble in my attempt to document how to do just that, so at the moment I can say it's theoretically possible but ServiceWorkers and download links don't mix well.

Update: The problem with download links and ServiceWorkers was limited to Safari (sadly, it's been a known bug for a long time and still not fixed). I will soon publish the results.

Thanks, will give it a shot, your answer was extremely details, parts of it went over my head.
How does jszip work with large zips over 4gb..
Is this how sites like dropbox and we transfer handle it, zip client side and then download?
My use case is all sizes of fies up to 5gb per file. (i dont need compression) just a large 1 file archive.
will do some testing...
when would you be able to support zip64, what are the hurdles invovled?
rishi

How does jszip work with large zips over 4gb..

Today it doesn't (actually, there is no error catching code for that case, so it will generate a corrupted archive). The original ZIP file format simply does not understand archives larger than 4GB. An extension to the format called ZIP64 was later added to allow larger files, but implementing ZIP64 is… let's say annoying until BigInt64Arrays and writing BigInt64 with DataViews are well supported in browsers. That is why I don't support it yet.
Ideally, if you have efficient access to file metadata, you should use that knowledge to prevent the creation of the ZIP file before even calling downloadZip. My library itself is designed to consume the files one by one, without looking ahead, so it cannot detect in advance that the total size will exceed 4GB.

Is this how sites like dropbox and we transfer handle it, zip client side and then download?

I seriously don't think so. I assume that they generate the ZIP server-side (possibly on an edge server). It's faster than doing it client-side if you can afford the high-speed network backbone and CPU.

when would you be able to support zip64, what are the hurdles invovled?

The "when" depends on demand (it's doable today, just not as straightforward as it could be), and on browser support for the features that would make it straightforward. And, well, on my own energy. It's not a huge feature in terms of code. If I were highly motivated, I guess I could finish it in a few weeks. But if I wait for browser support, maybe a year.
As for you, it won't change a thing in the API of client-zip (maybe I'll add an option to force the old format, but ZIP64 will be the default). So, let's say you implement your solution with client-zip today, with some UI workaround to prevent >4GB downloads (at that point, I guess it's not such a big deal if you have to download each file separately, but maybe it is). Then, when ZIP64 is supported, you just upgrade client-zip to the new version, remove the UI limitation, and your solution will immediately work with any file size (up to 18 Zettabytes 😀). Just make sure you use streaming because creating large ZIP files without streaming will really hurt your app's usability and also just crash the app when it runs out of RAM.

I've delved a little deeper into the 64-bit issues, and it's actually not that hard to polyfill the couple of ArrayBuffer features I need. It's not going to work without BigInts, though. So browsers from 2019 won't be supported.

Alright, it was easier than I thought. It's still a bit rough around the edges, but I think I got Zip64 working. I've published a PR and version 2.0.0-rc1 on npm. Please give it a try with large files and tell me if it works.

Turns out the rc1 was not generating correct Zip64 archives, but I've done some real testing for the rc2 I just published and I hope you can confirm it is finally working as intended. I'd like to have your feedback before I publish the definitive v2.0.0.


[WIP] switch references

working out the effects of https://github.com/cs3org/cs3apis/pull/126
Initial notes

GetPath and GetPath by Id no longer make sense ...
When creating a stat response or listing the path needs to take into account the original reference: if it was an absolute path we need to return an absolute path. If it was a reference with a storage and node id we need to keep them, and just adjust the path.

The ResourceInfo needs to hold both, a Reference that includes the name AND an Id property that holds a Reference for the actual file id (composed of storage id and node id) of the node

The storage provider must not know its mount point. That is the job of the registry/gateway. We adressed that in https://github.com/cs3org/reva/pull/1678/files#diff-198f1004a921b3627f7572a239452974429a7de6e4fa47f445c2ad35d2cd9026L1103 by resolving the resource using the storage.FS interface ... when really it snhould be don by the drivers
probably more ... but i added FIXMES all over the place ... will dig into them tomorrow

It needs to be possible to obtain an absolute path from any reference

@labkode can you elaborate? The gateway is currently path based. The now reference would allow directly forwarding all requests if they have a storage_id set. The response for a stat or list container countains ResouceInfo elements, which should contain a path relative to the resource that was used to make the request.
That being said: when a request is made with an absolute path, all resulting references must (and will) be path based only again.
Is that what you mean?

Reminder to update go.mod removing this replace github.com/cs3org/go-cs3apis => github.com/refs/go-cs3apis v0.0.0-20210520134557-97cdc479815b

@butonic the share manager will persist a share like:
share with id 123 points to resourceID abc:456.
A call to GetPathById(abc:456) is needed to obtain the path of that share and present it to the user.
A user won't access a share by doing ls /myshares/123. That is not user friendly.
I hope is clear. Ping me on Gitter if is not for a quicker chat.

@labkode right. I think the first goal should be to just replace the reference. No change in how the current path or id based references are used. /myshares/someid is not user friendly and AFAICT is nothing that this PR will touch or introduce.
The namespace that a user will see when using the CS3 api to list a constainer depends on the type of reference he uses. When he uses an absolute path all returned references will be absolute. When he uses a mixed reference (with id & path) the returned references will be relative to the id. But again, I think that is something that will become clearer when rebasing the spaces PR on this.

@labkode @ishank011 We've come full circle with a topic: Should ResourceInfo contain 2 different References (see here), and if so, what would be a more descriptive name that carries semmantical meaning?
Some extracts from @butonic and I over RocketChat providing more context:

[...] in a stat request, the id must always be a Reference with storage_id and node_id set, but the response also needs to carry the name of the file
[...] think of RecourceInfo.Ref as Parent (either as id or as path) + Name
[...] a ResouceInfo needs two References: one is the Id of the Resource, the other is a Path to the Resource which can be given either as an absolute path, or as a relative path to a storage space.

If we really need both Reference members, their names should carry more semantic meaning. We thought of renaming ResourceInfo.Ref to ResourceInfo.Path. WDYT? It is not a huge of a deal, but adding more semantic meaning to the API should be always a goal.

note that ResourceInfo.Path was renamed to ResourceInfo.Ref in https://github.com/cs3org/cs3apis/pull/126/files#diff-b91600c359c2e479b2dbc31ff8dd5bd52bfaa48dc70c33a0de121215ff0c030eR68
I think we should leave the name Path but change the type from string to Reference

@labkode @refs @ishank011 I think this can be merged (after review). But it needs to be updated with the newly generated go libs from the official cs3 api changes in https://github.com/cs3org/cs3apis/pull/126. Let me know what you think.

@labkode @ishank011 can you review / merge?

@butonic @refs we need to differentiate between a resource ID and a Reference. A resource ID is unique mapping 1 to 1 to a resource. On the other hand, multiple reference can point to the same ResourceID. They are used for different purposes.
The ResourceInfo needs to contain a ResourceID and Path as before (no change here).
The Reference should only be used as a method to getting information.
From a ResourceInfo:ResourceID and ResourceInfo.Path you can always construct a Refence.
Please change the PR accordingly.

@butonic @refs we need to differentiate between a resource ID and a Reference. A resource ID is unique mapping 1 to 1 to a resource. On the other hand, multiple reference can point to the same ResourceID. They are used for different purposes.

✔

The ResourceInfo needs to contain a ResourceID and Path as before (no change here).
The Reference should only be used as a method to getting information.

✔

From a ResourceInfo:ResourceID and ResourceInfo.Path you can always construct a Refence.

Only when you know to which node the path is relative to. I wonder why we need a path at all, and not just the basename of the resource. When listing a resource the Reference used to make the determines the path to the resource, anyway. A client listing /path/to/resource already knows that all children are prefixed with that path, e.g. /path/to/resource/child. Why is a name property with child not enough? I know that the gateway currently always looks up the path for a reference. When the reference holds a spaceid we don't need to do that and can just forward the request to the correct storage provider. When listing the available spaces clients always will have references with a space id.
I used a Reference for Path, because there is a corner case for the spaces api: when making an id based request we need to know the parent id so that we can build the full path relative to the storage space root. So I used a Reference to return both, the Id of the parent and the name of the child.
In any case the same reasoning applies to all cases: path, id based and mixed requests. The returned path should be relative to the reference that was used to make the request. But that makes lookung up the path for an id impossible.

Please change the PR accordingly.
I will try to use a path and check with our spaces implementation. IIRC we need to be able to get to parent from an id only based reference.

@labkode @ishank011 I updated this PR with the generated go libs for https://github.com/cs3org/cs3apis/pull/130
I limited the changes to the Reference usage, save one bugfix. ResourceInfo keeps the Id (now a Reference) and the string type Path. I'd like to get this in ASAP after merging the CS3 API changes.
Let me know what you think or go ahead and merge https://github.com/cs3org/cs3apis/pull/130.

@butonic can you make LGTM happy as well? I think is important from a security perspective, specially when dealing with files.

@labkode the file traversal cases are in progress by @C0rby
@ishank011 will address your issues asap!


Figure's tooltip showing "NaN" for numerical value

I am new to pygwalker, and I have attempted to generate a 2D barplot for my World Happiness Report data; where my X-axis was "Region" (category datatype), and my Y-axis was "Happiness_level" (float64 datatype). And since I had multiple countries per region, I used the "Aggregation" feature, taking the mean of the Y-axis.
While the figure looks good, the tooltip shows NaN on for the Y-axis, even though I have no missing (null) values at all in my data frame.
Why is that?

fixed in version 0.1.11, thanks for your feedback. ♪(･ω･)ﾉ


Not able to apply ngClass in legend attribute of stepsArray

trying to apply ngClass in legend attribute in stepsArray like:
stepsArray = [
{
value: 10,
legend: `<span [ngClass]="{'legend': true}">Hello</span>`
}
]

Also, if I add a normal HTML class attribute, it works like a charm
stepsArray = [
{
value: 10,
legend: `<span class="legend">Hello</span>`
}
]

Is there any way to achieve this?
PS: I tried to use getLegend() but somehow it never gets called when using stepsArray.

Unfortunately, this isn't so simple.
What you are providing here in legend is basically a static text, or HTML, that is pasted into DOM.
To have it behave as a dynamic template with Angular bindings, you would have to instantiate an Angular component in place of the static text.
It is possible to do in principle, using transclusion or even on-the-fly component compilation.
However, this would be a huge amount of work with little benefit in the library, so I have no plans to support it. Sorry.


BGDIINF_SB-2420: Fixed browser origin validation

The browser doesn't add the Origin header when the request is made from the
same origin. However it does always send the Sec-Fetch-Site header telling
if the request is from the same origin, cross origin or from user.
See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site.
Unfortunately this Sec-Fetch-Site header is not supported by Safari !
Moreover we cannot hack the web application to always set the Origin header as
most browsers don't allow it.
So we need to check 2 headers: Sec-Fetch-Site and Origin with a fallback to the
Referer for Safari.
Also to have the correct CORS header in case of same origin we need to add the
correct allowed origin in CORS header which is the same as the request. In case
of cross-site then we use the Origin header as allowed origin in CORS.

@pakb unfortunately we have to change the backend as we cannot tweak the application to set the Origin header (at least Chrome doesn't allow it).

Meaning we will have to do the same kind of things for every backend services we will be using with the viewer?

Yes but only for consistency. Qrcode already have the Referer fallback but I created a PR to be consistent with this service (https://github.com/geoadmin/service-qrcode/pull/47). For shortlink and kml the current implementation is not an issue because they are running on other domain name and the Origin header will be then always set. But we should consider updating them as well for consistency.


Make sure the Base AMI is ready for the VM template

Disable spotlight
Clean-up stuff in the home dir
etc...

check Anka recommendations

The image looked already quite clean. I removed the Brew cache (~6GB) and disabled spotlight.
AMI ID: ami-0863ffa4df7faae7e

The image looked already quite clean. I removed the Brew cache (~6GB) and disabled spotlight.
AMI ID: ami-0863ffa4df7faae7e


/user/:id do not change the page when :id has changed

I have a component like this!
import { Route } from "wouter";

// render-prop style
<Route path="/users/:id">
  {params => <UserPage id={params.id} />}
</Route>

Inside of UserPage i have a
<Link to="/users/anotherid">Click to go</Link>

When i do click in Link, simply the UserPage don't get again the new params.id
The url change but the component do not registry the change
Inside of UserPage
const [idUser, setIdUser] = useState(props.id)

But simply do not work, why?

Just add after
const [idUser, setIdUser] = useState(props.id)

if (idUser != props.id) {
   setIdUser(props.id)
}


Choose CLI framework

Need to investigate Python CLI framework.
Requirements:

Color support.
Autocomplete.
Automatic help generation.
Automatic parameters description generation.
Argument parsing and validation.
Support Linux and MacOS
Allow user to run command without calling it via python (ie '$ command arg arg', instead of '$ python command.py arg arg')

Hi @rtpro!
For now I think we will use Fire as CLI framework. And Rich for "pretty print" purpose.


Create separate global rank and global points for Rapid games

https://github.com/sopra-fs23-group-39/sopra-server/commit/b315f510737a4222d82c1603f2b1952f7780b91a


Support token-based authentication without a username

When there's a token configured, it's used as the value of the password:
https://github.com/spring-io/github-changelog-generator/blob/3e01a00fdfd94ee75af9cf6f8d334166b16e891d/src/main/java/io/spring/githubchangeloggenerator/github/service/GitHubProperties.java#L51
When deciding whether to configure authentication, there has to be a username:
https://github.com/spring-io/github-changelog-generator/blob/3e01a00fdfd94ee75af9cf6f8d334166b16e891d/src/main/java/io/spring/githubchangeloggenerator/github/service/GitHubService.java#L60-L62
With token-based authentication, a username isn't necessary. Instead, we should present the token as part of an Authentication: Bearer header.

GitHub no longer supports username and password based authentication. The password has to be a token, and when it is, the username is ignored. We should adapt to this by dropping support for github.username and github.password and requiring github.token instead.


Feature Request: Get value of STORED fader value

Currently the X32 module allows storing and restoring of a fader level. This works very well for my current uses, but is there a way to get the stored value that is used by the restore action, without using the restore action?
TIA

Now I know what I am asking... (Sitting in front of Companion computer now,,, lol)
I would like to be able to access the value of a level of channel to bus send as a variable. In the current module, This value can be stored and restored, but it's not possible to assign this bus send level to a variable, and isn't listed in the variables list as an option.
Sorry for the confusion.


Use wildcard or regex in cookie name in Cookie Authentication

Hi,
I need to use Cookie Authentication for my APIs, but the authentication cookie name's in my app changes every time you log in (only the cookie name prefix is known: shibsession).
I was looking for a way to specify cookies name pattern instead of the exact name. Is there such a feature?

We're looking at adding more powerful data modeling (including for headers) and security configuration in 3.3 (after a short 3.2 that excludes more complex issues like this).  I think part of the problem here is that the special treatment of Authentication (rather than modeling it like other headers) removes some features that would be useful.  Another part might be that we just don't model cookies all that well in general.


Refactor content requirements.

Currently, the needlemanwunsh.py content method requires too much knowledge on the part of the programmer trying to create problems, more work should be delegated to the problems.py using a decorator or something of the sort. Specifically:

There is no need to handle post requests.
The templates file should not require the problem programmer to import scripts for problem loading, this should be done for them.
There might be the need for some matrix helpers to load from HTML? This part of the API is still up in the air... (More specifically, the matrices differ vastly in internal structure, is there a clean way to encapsulate all of them?)

This is now "done", but I should probable make the manage_content (pseudo-)decorator cleaner.


Not considering azure.activedirectory.tenant-id

I have multiple directories configured in my organization's azure  AD.
I have specified azure.activedirectory.tenant-id in my application.properties file but when i try to access my app, it takes other tenant-id instead of what is configured with azure.activedirectory.tenant-id

Thanks for your feedback, can you give particular steps to reproduce your problem? I  don't quite catch your meaning.

@CatchSandeepVaid, could you also provide more details, like:

which starter are you using?
which version of spring and java?
what's your main scenario interact with Azure AD?


Swapped flake8 linter with pre-commit hooks

Description
Updated GitHub ci.yml file to run pre-commit hooks on all files instead of manually installing and running flake8.
Checklist:

[X] I've made sure that tests/test_cookiecutter_generation.py is updated accordingly (especially if adding or updating a template option)
[X] I've updated the documentation or confirm that my change doesn't require any updates

Rationale
A more DRY way of running code-quality tools would be to add them all in the .pre-commit-config.yaml file and then invoke pre-commit in CICD. This has a couple of benefits:
1) 1 central place for all code quality tools
2) No discrepancy on code quality tools that run in CICD versus on one's local dev env.

I personally find pylint and mypy to be very useful and very thorough albeit a bit annoying at times too.

I'm -1 on pylint, but we can discuss in a separate PR/issue if you feel like it worth exploring... We can definitely add mypy though, we are using it in CI, so should be in pre-commits as well. Doesn't have to be done in this PR.

travis.yml and gitlab-ci.yml would also need to be updated but I haven't ever used either so I'm a bit apprehensive

That's fine, we can do it in a follow up PR

Also one should set up caching for the pre-commit hooks

Sure, why not. Another potential incremental improvement.

Thanks 🎉


CUDA 11.0 ++

Will this repo compile with cuda 11.0 and above?

This repo can be compiled with Cuda 11.0.

Can you write a description of the document about the steps of compiling and training ？After compiling problem was resolved by Cuda 11.0 . It also appears that runtimeError: CUDA error: no kernel image is available for execution on the device


python310Packages.mistune: 3.0.1 -> 3.0.2

Description of changes
Changelog: https://github.com/lepture/mistune/blob/v3.0.2/docs/changes.rst

Things done

Built on platform(s)

[x] 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

[x] Fits CONTRIBUTING.md.


New menu bar created

Closes Issue #146
Changes Made
I created an interactive menu bar with icons and social handles.
Describe the changes you've made

Added Icons.
Made MenuBar according to the theme of the website.
Transferred the Get Started button from Navbar to MenuBar (only for mobile and tablet view)
Added social handle icons.

Type of change
What sort of change have you made:

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

Checklist

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented on my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

Screenshots (if applicable)
Original -

Updated -

Code of Conduct

[x] I agree to follow this project's Code of Conduct

@Varghab This pr is reverted due to "Get Started" button doesn't work on larger devices and link the issue that will be resolved through this pr.

@Deepu178 Shall I fix this issue and create a new PR?

@Varghab fix the fix and create a new pr with linking the issue that you are resolving through this pr.

@Deepu178 okay, can you please tell me how the get started button is behaving on larger screens?

@Varghab It doesn't perform any action and opens the modal for auth.