EFCore 6 support (Method not found exception)

Get the following exception with EFCore 6 preview 2. BulkExtensions works fine with EFCore 6 preview 1 (as far as I can see so far).
I know you haven't tested/updated for EFCore 5 yet, let alone 6, but just thought I'd ping this FYI. No urgency.
System.MissingMethodException: Method not found: 'Microsoft.EntityFrameworkCore.Metadata.IEntityType Microsoft.EntityFrameworkCore.ModelExtensions.FindEntityType(Microsoft.EntityFrameworkCore.Metadata.IModel, System.Type)'.
   at EFCore.BulkExtensions.TableInfo.LoadData[T](DbContext context, Type type, IList`1 entities, Boolean loadOnlyPKColumn)
   at EFCore.BulkExtensions.TableInfo.CreateInstance[T](DbContext context, IList`1 entities, OperationType operationType, BulkConfig bulkConfig)
   at EFCore.BulkExtensions.TableInfo.CreateInstance[T](DbContext context, Type type, IList`1 entities, OperationType operationType, BulkConfig bulkConfig)
   at EFCore.BulkExtensions.DbContextBulkTransaction.Execute[T](DbContext context, IList`1 entities, OperationType operationType, BulkConfig bulkConfig, Action`1 progress)
   at EFCore.BulkExtensions.DbContextBulkExtensions.BulkInsert[T](DbContext context, IList`1 entities, BulkConfig bulkConfig, Action`1 progress)

Actually I have made test with EF 5 and nugets update, just haven't published the new version yet.
Want to clean up some issue before changing Target to .NetStandard 2.1.
It will be updated soon.
As for the EF6, don't plan to make those changes before it is fully released.
Still thx for the info.
I'll reference it on EF5 issue and close this issue.

Same issue here. Please consider fixing this before the EF Core 6 release, if possible. BulkExtensions is really useful, and we're trying to keep up with the EF Core 6 previews for some of the improved features/performance.

I'll take a look after finishing migration to .Net 5.

Lib is upgraded to v5.0.0 with support for .Net 5 for EF Core 5.
Target in v5 is .NetStandard 2.1.
And I've tested it with EF Core 6 prev.2 in Test project where it fails with this error.
However I haven't found a solution to that.
Also I event tried updating nugets, in the library project itself, to this prerelease version just for test but I wasn't albe to install nugets, returns error:

Package Microsoft.EntityFrameworkCore 6.0.0-preview.1.21102.2 is not compatible with netstandard2.1, supports: net5.0

@borisdj you need the latest VS preview!

It looks like at the time of EF Core 6 Preview 2, the ModelExtensions class was mostly empty. That's why we're getting "Method not found".
In the latest code, the class has some methods back. FindEntityType is there, but it has a different signature (returning IReadOnlyEntityType?) so we'll likely still run into issues even when the next preview comes out.
The method is marked obsolete, and the recommendation is to use IReadOnlyModel.FindEntityType(Type type). This did not exist at all in EF Core 5, so there's no obvious fix that will be compatible with both current and preview versions.
EF Core 6 now targets .NET 5 rather than .NET Standard, which is explained in this blog post. Perhaps the best option would be a multitargeting approach?

Tracking here https://github.com/borisdj/EFCore.BulkExtensions/issues/485

Any news on EFCore 6 support yet? It's only a couple of months until it'll be fully released. :)

Same here, we are making ready for .NET 6 upgrade and this package is blocking. Appreciate the effort and we will wait patiently.

@borisdj EF Core 60 is already RC1. I'm pretty sure - no API changes will be in the release.
So if you start migrate it now - with it's official release  you'll need to update only library version in dependencies.

I'll take a look at it next week with RC2.

.Net 6 fully released.

It is broken on net 6.0.0

I'm using dotnet 6, EFCore 6, and bulk extensions, and it all works just fine.

I created a NuGet package based on net 5.0.13 using EF core 5.0.12. I used the package from an net6.0 project. In the net6 project I forced the EF core version to 6.0.0. Then I receive the Method not found exception.
I solved it now by adding a net6.0 target for my package based on ef core 6.0.0. When using that from the net6 project the error is not occuring.
I checked al namespaces and type names. There are no differences that can explain the Method not found. One possible cause may be a difference in nullability. The linker may see different types due to differences in nullability.

It is broken on net 6.0.0
Still having ----> System.MissingMethodException : Method not found: 'Microsoft.EntityFrameworkCore.Metadata.IEntityType Microsoft.EntityFrameworkCore.ModelExtensions.FindEntityType(Microsoft.EntityFrameworkCore.Metadata.IModel, System.Type)'.
Using ALL EF packages set to 6.0.0 while the library using it was built on 5.0.13.

Not working for me in .NET 6.0 either - I get the same error. All EF packages are version 6.0.24.


test: retry CreateInstance test on Unavailable

The CreateInstance test should be retried if the error that is returned is Unavailable. Unavailable can be returned by any RPC, and should normally be retried automatically for idem-potent RPCs. CreateInstance is not idem-potent, and is therefore not retried automatically. In this test however we can safely retry it without checking the status of the backend, as the test expects an AlreadyExists error to be returned.
Fixes #1332

Failures are unrelated and being tracked in #1272


AMQP-762: Reliably Release Channel Checkout Permit

JIRA: https://jira.spring.io/browse/AMQP-762
When using channelCheckoutTimeout to limit channels, if a permit was aquired
but a channel not actually created (e.g. because the broker is down), the permit
was not released.
Add a try catch around getCachedChannelProxy() and release the permit.
cherry-pick to master and 1.6.x

Merged as https://github.com/spring-projects/spring-amqp/commit/0621b2464863cd7c5d0e0550ffeddf86057ffa15, cherry-picked to 1.6.x as https://github.com/spring-projects/spring-amqp/commit/58a05e6091c64c209076257791abef0f89f30847 and into master as https://github.com/spring-projects/spring-amqp/commit/42051d9596861946d561ba11a8839efef21f0882 after resolving conflicts.


Validate LLM output #432

Used JSON-Schema to validate the LLM's output.
the same thing can be done with YAML with yamale library

Thank you for your work on this MR. It looks great! I made a few suggestions.
Could you please update your branch with the latest changes from the main branch? There's a small import conflict in extractors.py, and a larger one in navigation.py due to indentation - for this one I would recommand to accept changes and then add the validator again.

Hi, thank you for the review. I solved the conflicts and added your suggestions, one thing i removed the json validation from the navigation since you moved to YAML, i'll look for how to implement the same thing  with YAML

That you for the updates, I think there was some issues while merging? I see some additional changes that are related to work recently merged on the main branch

Thank you again. It looks like when i merged with main branch the navigation.py did not sync., the conflict should be solved now if not i'll refork and add the changes again

Thank you! Conflicts are resolved and this branch is merged


Support for custom CSS

Termynal can be customized quite heavily with CSS alone.
For example, I replace the MacOS-like modal buttons with standard '- ⛶ X' text.
And I replace the title "bash", with plain "shell".
And if the language is "powershell", I set the prefix to  'PS >'.
Similarly, for "python", the prefix is '>>>'.
Rather than baking all this into this tool, if this tool could allow me to point to a custom CSS file, it would simplify the Termynal-related markdown I maintain today.

Would you like to use your css file instead of Termynal's?

For example, I replace the MacOS-like modal buttons with standard '- ⛶ X' text.

And I replace the title "bash", with plain "shell".

And if the language is "powershell", I set the prefix to 'PS >'.

Similarly, for "python", the prefix is '>>>'.

I can add settings for this cases and you don't need to use your css

I was thinking support for external CSS files would provide the capability without so much development burden. If you can elegantly bake all that into this tool, that'd be awesome too :metal:

You can try to apply this configuration in 0.7.0.a1
markdown_extensions:
  - termynal:
      title: "powershell"
      prompt_literal_start:
        - "$"
        - "PS >"  # later it will be "PS >"
        - ">>>"

<!-- termynal -->

```
PS > pip install termynal
---> 100%
Installed
```

Also in the future i will try to add a configuration like this for each code block. Like this
<!-- termynal :: title:"shell" :: prompt_literal_start:["$", ">>>"] -->

For example, I replace the MacOS-like modal buttons with standard '- ⛶ X' text.

It will be later

That's dope! Yeah, being able to configure each prompt is essential, as a bash-, powershell-, or python-termynal could all exist in the same page.
Thank you!

I added new feature in v0.9.0.
You can override configs for each block. If you set a part of the settings, another part will be set to the default value.
<!-- termynal: {"prompt_literal_start": ["$", ">>>", "PS >"], title: shell} -->

```
PS > python
>>> import json
```

:star_struck:

Well... I wrote a simple code for this result. What do you think?
<!-- termynal: {"prompt_literal_start": ["$", ">>>", "PS >"], title: powershell, buttons: windows} -->

```
PS > python
>>> import json
```

I admire you working to make this just right. That looks very good! I find the default MacOS buttons to be too distracting when the focus should be on the code. The position of those buttons looks good, but for Windows/Linux, I would expect at least a X to close.
You don't have to implement my preferences, of course, but FWIW, here is the minimalist approach I took, and the pertinent CSS.

[data-termynal]:before {
    content: '- ⛶ X';
    color: var(--termynal-color-text-subtle);
    top: 5px;
    right: 7px;
    left: unset;
    width: unset;
    background: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

I appreciate your interest and effort in making these enhancements! :fist_right::fist_left:


Web 3 Domain Provider For Flow

<Web 3 Domain Provider For Flow>
Grant category
Please select one:

Open source maintenance

Description
Supplying Flow with interoperable Web3 domains that operate across any Dapp.
More importantly, that help enable mass-adoption through usability and enhance the web 3 experience.
Problem statement
The Web3 space is still growing, and Flow is doing an incredible job to facilitate mass-adoption.
However, the blockchain space as a whole still have some challenges:
1 - Crypto is still a little bit complicated for some users.
2- NFTs still have a problem with copies and Theft.
3 - Web 3 Domains (Identities) can operate on certain Dapps/Chains but not others.
4 - Merchants still find some challenges with accepting Crypto, despite all the innovation (QR codes..etc)
What if we could address all these problems, all while enhancing the user's experience?
*P.S: We’re talking about supplying FLOW’s users (and Dapps built around the ecosystem) with both FREE and paid options since some users prefer to purchase their own Custom domains.
In which case Flow gets immediate on-chain revenue split.*
Below, we’ll explain how we can solve all these aforementioned problems.
Proposed solution
Problem 1: FIO domains removes complexity and makes sending crypto as easy as sending an email.
Problem 2: FIO Domains have a functionality called NFT signature where the users can sign  their NFT with a click, thus verifying their authenticity on chain.
(This is great for tickets sales, or for artists trying to protect themselves against forgery)
Problem 3: For merchants, FIO domains have a FIO request functionality where the vendors can set the price, request the payment from the clients in super user-friendly way.
All the client have to do is to slide accept or reject the payment making their crypto experience seamless.
Other advantages:
FIO Protocol is compatible with all blockchains:
FIO Protocol is blockchain-agnostic, meaning every FIO Crypto Handle you create on your FIO Domain can be used to transact with any DAPP built upon Flow.
By the same token, it’s super easy to onboard users from other blockchains into the Flow ecosystem.
Impact
Far more than just a URL, crypto domains are more akin to next generation digital identities. The very key that allows you to interact with the rapidly growing web3 ecosystem. User-friendliness is key in this regard.
From NFT marketplaces, to blockchain social media, gaming in the metaverse… your entire web3 experience will be accessed by your own personal crypto domain.
FIO Domains and handles have many groundbreaking usability features that makes the web 3 experience so seamless for novices and pros alike.
For more info, Messari has done an amazing job explaining how FIO domains are meant to accelerate mass-adoption through usability.
https://messari.io/report/fio-enabling-crypto-adoption-through-better-usability
In short, we think that usability will benefit the all the Flow ecosystems because historically, user-friendly products tend to accelerate mass-adoption,
Also, the free and affordable domain options could open the doors for many users in many poor parts of the world that may or may not afford to have their own web 3 domain and feel like a part of the community,
Milestones and funding

Note: Please consider adoption and/or maintenance milestones at the end of your project.

Milestone
Deliverables
Timeline
Risks
USD proposal

1 -
Integration
2 weeks
-
3000

2 - Education videos and Marketing
Producing 4 educational videos about Flow
2 weeks
-
2000

Total funding proposed: <5,000 USD>
Team

Adil Elias
Growth & Latam Lead
https://www.linkedin.com/in/thealien
<EMAIL_ADDRESS>

Wayne Marcel
Head of Business Development
https://www.linkedin.com/in/blockchainwayne/
<EMAIL_ADDRESS>

Hi @Da-Alien, we reviewed your proposal in detail and decided to pass because it is unclear if the impact on the developer ecosystem will be high enough.
Thanks for taking the time to submit your proposal and feel free to reach me directly on Discord in case you have further questions: alx-flw.find#6198.


convert(Images.Image{Gray}, img) does not change colorspace

The colorspace property of an Image should be changed to Gray once its converted to a grayscale Image.
julia> img = testimage("mandrill")
RGB Images.Image with:
  data: 512×512 Array{ColorTypes.RGB{FixedPointNumbers.UFixed{UInt8,8}},2}
  properties:
    colorspace: sRGB
    spatialorder:  x y

julia> img = convert(Images.Image{ColorTypes.Gray}, img)
Gray Images.Image with:
  data: 512×512 Array{ColorTypes.Gray{FixedPointNumbers.UFixed{UInt8,8}},2}
  properties:
    colorspace: sRGB
    spatialorder:  x y

Or just deleted, since in almost all cases colorspace detection is done via dispatch.


Clarify return value and use.

@definedrisk : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Run the Pre-trained Model (Error)

hi, I found this error when am trying to run the code

did I miss something?

Hi Brahman,   this error may because you are creating the same mode multiple times (for example in the jupyter notebook). You may run the scripts instead:
python dcrnn_train.py --config_filename=data/model/dcrnn_config.yaml
Besides, you may try to update the tensorflow-gpu to the latest version.


Feedback and Inquiry Regarding Index-1.9B

Dear Index Team,
I hope this message finds you well. Your contributions are highly valuable to the community, and I appreciate the effort you have put into this project.
I was wondering if you have considered comparing your model to other similar works such as CT-LLM, and MAP-Neo (which has also released a 2B size model). These models, like yours, contribute precious training resources to the open-source bilingual language model community. A comparison could provide interesting insights and further highlight the strengths of your model.
Thank you once again for your outstanding contributions. I look forward to seeing your future advancements in this area.
CT-LLM: Chinese Tiny LLM (chinese-tiny-llm.github.io)
MAP-Neo: MAP-Neo (map-neo.github.io)
Best regards,
M-A-P Team

Dear M-A-P Team,
Thank you for reading our technical report and for your valuable feedback. We appreciate your kind words and understand that our report may not have been as formal as it could have been. We apologize for any confusion this may have caused.
We greatly appreciate your suggestion to compare our model with CT-LLM and MAP-Neo. Your input is invaluable, and we will certainly take it into account as we move forward.
Once again, thank you for your interest in our work. We eagerly anticipate future opportunities to collaborate and exchange ideas.
Best regards,
Index Team

Dear M-A-P Team,
Thank you for reading our technical report and for your valuable feedback. We appreciate your kind words and understand that our report may not have been as formal as it could have been. We apologize for any confusion this may have caused.
We greatly appreciate your suggestion to compare our model with CT-LLM and MAP-Neo. Your input is invaluable, and we will certainly take it into account as we move forward.
Once again, thank you for your interest in our work. We eagerly anticipate future opportunities to collaborate and exchange ideas.
Best regards,
Index Team

Dear Index Team,
Thank you for your prompt and considerate response. We are pleased to hear that you found our suggestions helpful. We look forward to any future collaborations and the opportunity to exchange ideas with your team.
Best regards,
M-A-P Team


Modified CSharp Interop Test to Conform with Spec

Removed the check on the status detail returned when a csharp client tries to call a method that the server has not yet implemented.
The test used to verify that the returned detail was an empty string. However, some server languages (like python) return messages (like "Method not found!"), thus the test now only verifies the returned status code is UNIMPLEMENTED.
This conforms to the definition of the test found in https://github.com/grpc/grpc/blob/master/doc/interop-test-descriptions.md

Closing this for now. I realized that it would probably be better to standardize the message returned from the servers. I will address that later this week in another pull request


Add buflines()

Vim does not have a way to get number of lines for the buffer. Yes, we know len(getbuflines(nr, 1, '$')) but useless. This change add buflines().

Why not just add an argument to line()?

line() already have optional argument.

but useless.

Why is it useless?
Anyway, 99.999% of the time people would want to know the size of the current buffer, in which case line('$') would suffice.

Codecov Report

Merging #5370 into master will decrease coverage by 0.43%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #5370      +/-   ##
==========================================
- Coverage   82.23%   81.79%   -0.44%
==========================================
  Files         134      134
  Lines      147604   147607       +3
==========================================
- Hits       121385   120740     -645
- Misses      26219    26867     +648

Impacted Files
Coverage Δ

src/evalfunc.c
90.65% <ø> (-0.3%)
:arrow_down:

src/evalbuffer.c
96.08% <100%> (+0.03%)
:arrow_up:

src/gui_gtk_x11.c
49.01% <0%> (-9.05%)
:arrow_down:

src/gui.c
58.27% <0%> (-5.37%)
:arrow_down:

src/gui_gtk.c
28.57% <0%> (-2.89%)
:arrow_down:

src/os_unix.c
60.83% <0%> (-2.5%)
:arrow_down:

src/buffer.c
82.87% <0%> (-2.49%)
:arrow_down:

src/highlight.c
77.97% <0%> (-2.39%)
:arrow_down:

src/if_xcmdsrv.c
84.02% <0%> (-2.16%)
:arrow_down:

src/ui.c
68.98% <0%> (-2.15%)
:arrow_down:

... and 34 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 afc13bd...292c893. Read the comment docs.

Hm, perhaps enhancing getbufinfo() to include the last line number would be more useful?

@chrisbra Ah, right.
@chdiza line('$') does not accept bufnr and line('$') can not handle hidden buffer.
Anyway, getbufinfo is good to do this. Thanks.

@chrisbra Ah, I'll add "lines" into the result of getbufinfo.

Fixed patch to add getbufinfo(nr)[0]["lines"]

at the risk of bike shading, is lines perhaps to generic? What about lastline or linecount (matches partly with ml_line_count).


WARN TestMethodFilter - NoClassDefFoundError

Hi. When using the Flacoco project to analyze Closure project in the defects4j dataset, use closure_2_ buggy for example, because the file structure in this project is different from the default structure mentioned in the FlacocoMain.java file, I give "-- srcJavaDir", "srcTestDir", "binTestDir" and "binJavaDir" as arguments in the flacoco command line to indicate the location.
The version of defects4j is version 2.0.0. The JDK version is 1.8.0_45.
The closure_2_buggy is checkout from Defects4j with the instruction “defects4j checkout -p Closure -v 2b -w /home/arka/SLPRFL/Tests/defects4j/Closure/closure_2_buggy”，and The “binTestDir” and “binJavaDir” are generated by this instruction”defects4j test”.
There are two questions:

Many tests not reported by test-runner. In closure_2_buggy, only 833 tests are executed while total number of tests is 9949.
Many file , “SourceMapConsumerFactory.java” for example, exist in srcJavaDir and binJavaDir, but NoClassDefFoundError.

I saw the first question has been reported by others in issue 179. I want to know what caused the second problem. Is there something wrong with my compilation？Is there any bad influence here? I'm not very familiar with this.
Thanks!

Hi @FoxMakarov
We suspect that it could be an issue on the command line that you attached: It could not find the classpath parameter (See here, which allows to specify the classpath of the project under analysis).
Consequently, both issues you mention could be related to that.
Regards
Matias

Thanks for your reply!
Taking "WARN TestMethodFilter - NoClassDefFoundError: class com.google.debugging.sourcemap.SourceMapConsumerFactory" for example, I try to add the location of "SourceMapConsumerFactory.class" after this parameter "--classpath". I think that specifying classpath as the directory of this file may cause other errors, but this file should be found. But in fact, it couldn't be found.
I'm confused about this.

Thanks for your teaching!


Syr feature contact api

What: A part of iOS contacts API is being exposed

Why: Currently at the minimum to be able to request permissions and get Contact data.

How: Changes are implemented in SyrContactManager, which exposes two methods. requestContactPermissions which natively asks the user to access contact permissions. The other being fetchAllContacts. Which will get all the user contacts and return if available a contacts: FirstName, LastName, Birthday, Profile Picture, and Phone number.

Checklist:

[X ] Documentation
[ ] Tests N/A
[ ] Ready to be merged
[ ] Added myself to contributors table

Can someone check the document changes and let me know if the formatting is correct. It shows up weirdly to me but i just copy pasted other formatting so i'm wondering what i missed.

lg2m!


Regarding analysing wifi packets using wireshark (CON-995)

Describe the question/query that you have
Would like to know how to view the Wi-Fi packets using Wireshark and parse it into matter message format.
Additional context
I have a setup where a rpi4 acts a chip controller and a couple of ESP32C6 as the matter end device which is running the lighting example. I have a rpi4 with monitor mode running Wireshark and I am able to see the packets but it does not recognize them as matter format and I am not able to understand it. Especially since I am quite new to this. I can see the guideline of the message format in the matter core specification but am not able to compare it. I have attached just a screenshot of Wireshark just for understanding what type of messages I receive but I can send more detailed information if necessary.
Would also like to ask about the encryption of the data? Regarding the encryption on the router end I can disable the password on my router, and I think that will remove the encryption but as far as I understand the matter data itself is also encrypted. Any advice on how I can decrypt would be helpful.

@johnvigg You can refer here. On how to configure wireshark for matter protocol.
I was able to follow the steps and capture the packets while commissioning using CHIP tool.

It is far, far easier to print debug logs from both sides of the connection.  Almost everything you will care about is in the debug logs, if some obscure bit is missing, just add an occasional printf to the source code. All of the debug stuff prints before it gets encrypted.

@sayondeep , I tried using the matter-dissector before but I faced some issues. Could you tell me what OS you are currently using and maybe the wireshark version?
I tried it first on the Kali Linux running on the pi but that failed to run. I tried it again on an ubuntu 22.04 machine and followed all the steps the best I could. I am still new to this but the sudo apt-get build-dep wireshark command gave an output saying unable to find a source package for wireshark. other than that, all other commands seem to work fine.
Also at what point do I know if the plugin was installed properly? I have a pcapng file with some matter packets and when I open it in wireshark, it does not recognize as matter packets. Also wireshark seems to already have matter as one of the enabled protocols, could that somehow affect this?

@jonsmirl , that is true, but I want to analyse the packets and see the message format, not to debug but just understand more about how it works: So for me visualising the packets is the best option.

You are tilting a windmill. Each Matter node has its own private elliptic curve encryption keys (one per fabric) and those keys are inside ARM trustzone or hardware chips. You can probably decode a pair of test nodes talking, but you are not going to get general access to the Matter network. All of the protocol info with lots of diagrams and pictures is in the freely downloadable specification at csa-iot.org. Much, much easier to just read the spec.

@johnvigg I tested it on Ubuntu with wireshark version 3.6.2.
For the build-dep command. Please run software-properties-gtk and enable source code. Also run sudo apt-get update. This should fix it on Ubuntu.
Wireshark have added support for matter, see here. If you are using latest version it may already have that. But it is different from matter-dissector. On version 3.6.2 of wireshark it was not already present. OR

all other commands seem to work fine

if you follwed the other steps as you mentioned you have already installed the plugin.If you can see Matter IM Subscription and Matter Exchange under Analyze->conversation filter then it should be matter dissector plugin.

@sayondeep , Thank you for the detailed help.
I tried the commands you mentioned and I think I was able to setup the matter-dissector. I also downgraded it to Wireshark 3.6.2, just to be sure.
just few things to mention, when I go to Analyze->conversation filter I see matter IM Subscription and Matter Exchange, which I did not see before, so I think the plugin was installed.
Regarding the EAPOL messages I can only see 2 of the messages, namely 1 out of 4 and 3 out of 4. Is this an issue?
I am asking since it still does not recognize as a matter package. I added the wifi password as you mentioned, then I also removed all passwords from the wifi connection and tried. Still does not recognize.
Also regarding the encryption key mentioned in the github page of matter- dissector would that work for me? If not is there a way to disable encryption on matter? I am just working in the testing phase, so it should be possible right?
Also just to explain my current setup the rpi running Kali Linux captures the packets and then I copy this file to another system where I installed the matter dissector and here I try to parse. I am doing this since I was not able to set it up on Kali.

@johnvigg yes all 4 eapol messages are necessary if you are capturing in monitor mode. Just to be sure that the plugin is working, you can try capturing in managed mode on the same rpi that is running controller.

@sayondeep , Thank you for the quick reply, I tried with the same device (intel nuc) running the controller and the matter-dissector could recognize the different matter packets but the matter data is still encrypted because I have not modified the CHIP_CONFIG_SECURITY_TEST_MODE. I found it in the ESP files but was not able to find it on the controller / chip-tool, could not find it when I searched it online as well. Do you by chance know where to find it?
Regarding the rpi in monitor mode I am still not able to read the packets as matter even though I know the wifi packets are not encrypted. not sure what the difference is...

@johnvigg

For chip-tool you need to change #define CHIP_CONFIG_SECURITY_TEST_MODE 0  to #define CHIP_CONFIG_SECURITY_TEST_MODE 1 in /path/to/esp-matter/connectedhomeip/connectedhomeip/examples/chip-tool/include/CHIPProjectAppConfig.h and build the chip-tool again.
For application side Enable CHIP_CONFIG_SECURITY_TEST_MODE using idf.py menuconfig for the example.
Note: In both cases, If you get compilation warning just comment out the line that generates the warning i.e., the line with #warning .

@johnvigg regarding capture in monitor mode. If other device is connected to the network can you see other protocols like QUIC,TCP, TLS etc. If you cannot see anything other than 802.11 then wireshark is not able to decrypt the wifi packets.
Can you please try adding your wifi Password like this <password>:<SSID> in in Edit->Preferences->Protocols->IEEE 802.11->Decryption keys. Still capture of four-stage WPA/WPA2 handshake is necessary.

@sayondeep , Thank you for all your help.
I was able to successfully decrypt the matter message after changing the two defines. This was done on the device running the chip-tool controller.
I just want to confirm that this setup provides all the packets that I would have received using the rpi on monitor mode. Since the data sent back from the esp would route back to the controller. Is that correct?
Regarding the rpi in monitor mode I able to see packets from protocols like SSDP, TCP, ARP, IGMPv3. So i think removing the password does remove the encryption.

@johnvigg Yes this setup would contain all packets from controller to end device and from end device to the controller.
Feel free to close the issue if it is resolved.

@sayondeep , Perfect, thank you for your help again.


:robot: Add windump.vm

Automated PR from https://github.com/mandiant/VM-Packages/issues/948 :rocket:

This also fixes https://github.com/mandiant/VM-Packages/issues/186
We need to use the WinDump version that works with npcap due to issues I ran into with winpcap and it is also not maintained anymore.


can you add release version or builded version thanks

This project is just an example of what you can do with klhk.sys and you might want to hook other system calls since I'm only hooking NtCreateFile for demonstration purposes, so there's no point in releasing compiled binaries. Also the build steps are pretty straightforward.


Unnecessary scrollbars in mod options

@kianzarrin noticed this during in-game testing:

In the image above, there isn't any need for scrollbar.
Likely due to recent scrollbar updates (ref: #722, #742)

I think I fixed that issue in #742

No, that was double scrollbar issue fixed in #742 I think?

I changed scrollPanel height too, so it probably soled this issue too.
I didn't noticed that issue yesterday while testing.

I'll check next time I'm in-game

Already fixed in 11.1.1


fix(deps): add packaging requirement

Obsolete, requirement has already been added https://github.com/googleapis/python-compute/blob/01db23bc0af3ab30bfb5ad8205446ae49417f0f1/setup.py#L45


Importing sass from external files

Does this package include support for importing sass from external files and inputting it into style jsx tags, similar to https://github.com/vercel/styled-jsx#styles-outside-of-components?

Hey! :wave: @tmyers101
Yes, it should work.
It could be great if you can confirm that it actually works. :smile:

I just tried it and sadly can't get it to work. I am using a template literal in an external file and writing SCSS (see attached [code). I am importing it into a NextJS component and using this syntax: <style jsx>{styles}</style> in the jsx. The main issue I can see is that the jsx classes that are being added to the elements are 'jsx-undefined', which is affecting the nesting (see other attached).


🐛 Bug Report: The requested resource isn't a valid image for /img/logo.png received text/html; charset=utf-8

👟 Reproduction steps
Latest Docker version stop showing all logos image https://github.com/stonith404/pingvin-share/releases/tag/v0.18.0
with the following error message in the logs: The requested resource isn't a valid image for /img/logo.png received text/html; charset=utf-8
👍 Expected behavior
logos should be visible
👎 Actual Behavior
logos is not visible.
🌐 Browser
Chrome

This is probably because of the permission changes of the Docker container.
Please see the note in the release notes:

⚠ Warning
As the Docker image doesn't use the root user anymore, you might change the data directory permissions.
This can be done with sudo chown -R your-user data

This is probably because of the permission changes of the Docker container.
Please see the note in the release notes:

⚠ Warning
As the Docker image doesn't use the root user anymore, you might change the data directory permissions.
This can be done with sudo chown -R your-user data

I already set up permissions but this not works.

Also this breaking change ruined all the users installations. Btw,, this is another issue. Right now no logo images are shown.

Also, it's better to use PUID and PGID environment variables for users.

I already set up permissions as per the instructions but this not works.
Can you share the http status code of the images in the network tab in the dev tools?

Also, it's better to use PUID and PGID environment variables for users.

I was unable to implement this because the user gets created while the image build, but feel free to create a PR if you know how to implement this.

There is no issue uploading image etc. The only issues is there is no logo images available
https://pingvin.mariushosting.synology.me/s/k2NjkwN

Thanks.

Can you take a look at the Docker container logs? Are there any errors?

Thanks.
Can you take a look at the Docker container logs? Are there any errors?

Do you use a custom logo?

It seems like the image doesn't exist because https://pingvin.mariushosting.synology.me/img/logo.png returns 404.
Can you share me the output of ls data/images and your docker compose file?

It seems like the image doesn't exist because https://pingvin.mariushosting.synology.me/img/logo.png returns 404.
Can you share me the output of ls data/images and your docker compose file?

Here is the compose:
https://mariushosting.com/synology-install-pingvin-with-portainer/

Does it work with v0.18.1?

Does it work with v0.18.1?

Unfortunately not. Fresh installation clean browsers, only 17.5 version works we have issue on a Synology NAS there is something related to this update. I can't replicate this in 17.5 only in 0.18.0 and the same in 0.18.1

Strange, because I didn't change anything related to the logo in this release. Can you share me the output of ls data/images?

version: "3.9"
services:
pingvin:
container_name: Pingvin-Share
image: stonith404/pingvin-share
healthcheck:
test: curl -f http://localhost:3000/ || exit 1
mem_limit: 2g
cpu_shares: 768
security_opt:
- no-new-privileges:true
restart: on-failure:5
ports:
- 6090:3000
volumes:
- /volume1/docker/pingvin:/opt/app/backend/data:rw
- /volume1/docker/pingvin/public:/opt/app/frontend/public/img:rw

The images might not get copied correctly on the container startup. Can you try to copy them manually and let me know if this works? This can be done with:
docker compose exec pingvin-share cp -rn /tmp/img /opt/app/frontend/public

The images might not get copied correctly on the container startup. Can you try to copy them manually and let me know if this works? This can be done with:
docker compose exec pingvin-share cp -rn /tmp/img /opt/app/frontend/public

Yes this works!

Awesome. I have holidays now but I'll look into it in 2 weeks.

Probably related.
At first, no logo available, no big deal, I uploaded mine, then tried to update the site name but the the container crashed :
pingvin-pingvin-share-1  | The requested resource isn't a valid image for /img/logo.png received text/html; charset=utf-8
pingvin-pingvin-share-1  | The requested resource isn't a valid image for /img/logo.png received text/html; charset=utf-8
pingvin-pingvin-share-1  | [Nest] 44  - 09/30/2023, 3:43:39 PM   ERROR [ExceptionsHandler]
pingvin-pingvin-share-1  | Invalid `this.prisma.file.create()` invocation in
pingvin-pingvin-share-1  | /opt/app/backend/dist/src/file/file.service.js:65:36
pingvin-pingvin-share-1  |
pingvin-pingvin-share-1  |   62 if (isLastChunk) {
pingvin-pingvin-share-1  |   63     fs.renameSync(`${constants_1.SHARE_DIRECTORY}/${shareId}/${file.id}.tmp-chunk`, `${constants_1.SHARE_DIRECTORY}/${shareId}/${file.id}`);
pingvin-pingvin-share-1  |   64     const fileSize = fs.statSync(`${constants_1.SHARE_DIRECTORY}/${shareId}/${file.id}`).size;
pingvin-pingvin-share-1  | → 65     await this.prisma.file.create(
pingvin-pingvin-share-1  | Error occurred during query execution:
pingvin-pingvin-share-1  | ConnectorError(ConnectorError { user_facing_error: None, kind: ConnectionError(Timed out during query execution.), transient: false })
pingvin-pingvin-share-1  | PrismaClientUnknownRequestError:
pingvin-pingvin-share-1  | Invalid `this.prisma.file.create()` invocation in
pingvin-pingvin-share-1  | /opt/app/backend/dist/src/file/file.service.js:65:36
pingvin-pingvin-share-1  |
pingvin-pingvin-share-1  |   62 if (isLastChunk) {
pingvin-pingvin-share-1  |   63     fs.renameSync(`${constants_1.SHARE_DIRECTORY}/${shareId}/${file.id}.tmp-chunk`, `${constants_1.SHARE_DIRECTORY}/${shareId}/${file.id}`);
pingvin-pingvin-share-1  |   64     const fileSize = fs.statSync(`${constants_1.SHARE_DIRECTORY}/${shareId}/${file.id}`).size;
pingvin-pingvin-share-1  | → 65     await this.prisma.file.create(
pingvin-pingvin-share-1  | Error occurred during query execution:
pingvin-pingvin-share-1  | ConnectorError(ConnectorError { user_facing_error: None, kind: ConnectionError(Timed out during query execution.), transient: false })
pingvin-pingvin-share-1  |     at zr.handleRequestError (/opt/app/backend/node_modules/@prisma/client/runtime/library.js:122:8480)
pingvin-pingvin-share-1  |     at zr.handleAndLogRequestError (/opt/app/backend/node_modules/@prisma/client/runtime/library.js:122:7697)
pingvin-pingvin-share-1  |     at zr.request (/opt/app/backend/node_modules/@prisma/client/runtime/library.js:122:7307)
pingvin-pingvin-share-1  |     at async FileService.create (/opt/app/backend/dist/src/file/file.service.js:65:13)
pingvin-pingvin-share-1  |     at async FileController.create (/opt/app/backend/dist/src/file/file.controller.js:32:16)
pingvin-pingvin-share-1  |
pingvin-pingvin-share-1  | The requested resource isn't a valid image for /img/logo.png received text/html; charset=utf-8
pingvin-pingvin-share-1  | The requested resource isn't a valid image for /img/logo.png received text/html; charset=utf-8
pingvin-pingvin-share-1  | The requested resource isn't a valid image for /img/logo.png received text/html; charset=utf-8
pingvin-pingvin-share-1  | node:internal/process/promises:289
pingvin-pingvin-share-1  |             triggerUncaughtException(err, true /* fromPromise */);
pingvin-pingvin-share-1  |             ^
pingvin-pingvin-share-1  |
pingvin-pingvin-share-1  | [Error: ENOENT: no such file or directory, open '../frontend/public/img/icons/icon-48x48.png'] {
pingvin-pingvin-share-1  |   errno: -2,
pingvin-pingvin-share-1  |   code: 'ENOENT',
pingvin-pingvin-share-1  |   syscall: 'open',
pingvin-pingvin-share-1  |   path: '../frontend/public/img/icons/icon-48x48.png'
pingvin-pingvin-share-1  | }
pingvin-pingvin-share-1  |
pingvin-pingvin-share-1  | Node.js v20.7.0
pingvin-pingvin-share-1  |
pingvin-pingvin-share-1 exited with code 0

Also, buttons on the top bar don't do anything

On a brand new install, the cp did the job, but I had to use :
cp -rn /tmp/img/* /opt/app/frontend/public/img/

Possibly the img/directory was already there.

am also having the same problem with my code, image fail to display.

This docker-compose.yaml works perfect:
version: '3.8'
services:
  pingvin-share:
    image: stonith404/pingvin-share
    restart: unless-stopped
    ports:
      - 3000:3000
    volumes:
      - data:/opt/app/backend/data
      - images:/opt/app/frontend/public/img
volumes:
  data:
  images:

thankyou so much bro this worked :D

This docker-compose.yaml works perfect:
version: '3.8'
services:
  pingvin-share:
    image: stonith404/pingvin-share
    restart: unless-stopped
    ports:
      - 3000:3000
    volumes:
      - data:/opt/app/backend/data
      - images:/opt/app/frontend/public/img
volumes:
  data:
  images:

just one question if i try to change the location on left it breaks the image again
/home/pitchabyss/docker/pingvin-share/pingvin_share_data:/opt/app/backend/data
/home/pitchabyss/docker/pingvin-share/pingvin_share_images

This docker-compose.yaml works perfect:

version: '3.8'

services:

pingvin-share:

image: stonith404/pingvin-share

restart: unless-stopped

ports:

  - 3000:3000

volumes:

  - data:/opt/app/backend/data

  - images:/opt/app/frontend/public/img

volumes:

data:

images:

just one question if i try to change the location on left it breaks the image again

/home/pitchabyss/docker/pingvin-share/pingvin_share_data:/opt/app/backend/data

/home/pitchabyss/docker/pingvin-share/pingvin_share_images

You can try using the provided YAML file and modifying files in the Docker volume "/var/lib/docker/volumes/"

just one question if i try to change the location on left it breaks the image

You can try using the provided YAML file and modifying files in the Docker volume "/var/lib/docker/volumes/"

not so much knowledge of this i guess il pass or if u can help edit my code above i posted it would very helpful..thankyu

You need to SSH into your server, navigate to the /var/lib/docker/volumes/ directory, and locate the one with the "pingvinshare" images. Then, you can replace the existing files with your uploaded images.
# Connect to the remote server using SSH (example)
ssh<EMAIL_ADDRESS># Change directory to the specified path with docker volumes
cd /var/lib/docker/volumes/*images/_data/
# List all files and directories in the current directory
ls -la

You need to SSH into your server, navigate to the /var/lib/docker/volumes/ directory, and locate the one with the "pingvinshare" images. Then, you can replace the existing files with your uploaded images.
# Connect to the remote server using SSH (example)
ssh<EMAIL_ADDRESS># Change directory to the specified path with docker volumes
cd /var/lib/docker/volumes/*images/_data/
# List all files and directories in the current directory
ls -la

thankyou so much sir


Current Status

For anyone watching :wave:
Here's what it currently looks like.
https://kind-torvalds-1993bc.netlify.app/
EDIT :
Updated post first batch of fixes -- 9th Nov
EDIT2:
Updated for today's fixes -- 17th Nov (File field + field labels)

Is it me or is the horizontal form on the page not in the horizontal format.

Hi,
Thank you for this package :)
I'm wondering on what basis a template is no longer in the template pack for bootstrap 5 when it was in template packs for previous bootstrap versions. In that case I'm thinking more particularly about the checkboxselectmultiple.html template. Is it discarded on purpose?
Thanks for your reply.

We've been able to simplify the the radio/checkbox template logic by relying on more on Django's internal methods. This means that we've been able to create a single template that renders both radio and multiple check boxes.
Hope this helps.


How can I fully uninstall it and install again...

I am getting these errors:
How can I fully uninstall it and install again.
I am getting these errors:
biblehub find Matthew 2:4
Traceback (most recent call last):
File "/home/vagner/.local/bin/biblehub", line 6, in
from biblehub import get_versions, find_verse, search, styling, parse_str, find_passage
File "/home/vagner/.local/lib/python3.10/site-packages/biblehub/init.py", line 1, in
from biblehub.scrape_verses import find_verse, get_versions
File "/home/vagner/.local/lib/python3.10/site-packages/biblehub/scrape_verses.py", line 1, in
import requests
File "/home/vagner/.local/lib/python3.10/site-packages/requests/init.py", line 63, in
from . import utils
File "/home/vagner/.local/lib/python3.10/site-packages/requests/utils.py", line 29, in
from .cookies import RequestsCookieJar, cookiejar_from_dict
File "/home/vagner/.local/lib/python3.10/site-packages/requests/cookies.py", line 174, in
class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping):
AttributeError: module 'collections' has no attribute 'MutableMapping'

It is installed, though
$ which biblehub
/home/vagner/.local/bin/biblehub

Hm,try doing
pip install --upgrade --force-reinstall biblehub

Hm. One thing I would always recommend is never trying to manually do package management, that will always cause problems haha. If you want to uninstall something you installed with sudo, you would do sudo pip uninstall $PACKAGE_NAME.
I'm not really sure what you could to fix this. If the biblehub executable is not on your path, you could try to just install it for the user then it'll have the same affect


Lep 91 remove unused assessment errors table

What
Link to story
Describe what you did and why.

Created migration to remove the assessment_errors table
Removed the associated dependant option when deleting stale assessments

Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing: bundle exec rake
Github should not be reporting conflicts; you should have recently run git rebase main.
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.

wrong repo!


Fail on secure-boot enabled machine

Describe the bug
The kexec call during a run fails with kexec_load failed: Permission denied. Quick googling suggests that

It probably has to do with secure boot.
It can actually be made viable if the kexec call receives the -s flag.

To Reproduce
Steps to reproduce the behavior:

Take any sample nixos-anywhere config and try to apply it to a secure-booted target.
What I see in my case of an Ubuntu 23.04 target is the following

❯ nix run github:numtide/nixos-anywhere -- --flake .#myhost root@<my-ip>
...
+ /root/kexec/kexec/kexec --load /root/kexec/kexec/bzImage --initrd=/root/kexec/kexec/initrd --no-checks --command-line init=/nix/store/gqm5m9b7ywkckj6azs1x5y2vak73a1v5-nixos-system-nixos-23.05pre-git/init console=tty0 console=ttyS0,115200 loglevel=4
kexec failed, dumping dmesg
kexec_load failed: Permission denied
entry       = 0x7be2f7790 flags = 0x3e0000
nr_segments = 7
segment[0].buf   = 0x7fdeadafec10
segment[0].bufsz = 0x70
segment[0].mem   = 0x100000
segment[0].memsz = 0x1000
segment[1].buf   = 0x7fdeadafe830
segment[1].bufsz = 0x1b8
segment[1].mem   = 0x101000
segment[1].memsz = 0x1000
segment[2].buf   = 0x7fdeadafe660
segment[2].bufsz = 0x30
segment[2].mem   = 0x102000
segment[2].memsz = 0x1000
segment[3].buf   = 0x7fde98823400
segment[3].bufsz = 0x152da240
segment[3].mem   = 0x7a5d25000
segment[3].memsz = 0x152db000
segment[4].buf   = 0x7fdeadb03060
segment[4].bufsz = 0x958e20
segment[4].mem   = 0x7bb000000
segment[4].memsz = 0x3190000
segment[5].buf   = 0x7fde98815430
segment[5].bufsz = 0x40c3
segment[5].mem   = 0x7be2f2000
segment[5].memsz = 0x5000
segment[6].buf   = 0x7fde9881a420
segment[6].bufsz = 0x70e0
segment[6].mem   = 0x7be2f7000
segment[6].memsz = 0x9000
+ echo kexec failed, dumping dmesg
+ dmesg
+ tail -n 100
...
[1603986.053260] ima: impossible to appraise a kernel image without a file descriptor; try using kexec_file_load syscall.
+ exit 1
+ cleanup
+ rm -rf /root/kexec/kexec/tmp.F8l8LcGdu7

Expected behavior
nixos-anywhere succeeds.
System information

Host is NixOS (unstable), target is Ubuntu 23.04.

It can actually be made viable if the kexec call receives the -s flag.

man kexec says
       -s (--kexec-file-syscall)
              Specify that the new KEXEC_FILE_LOAD syscall should be used exclusively.

while by default (-c), the older KEXEC_LOAD syscall is used, but a '-a' flag for auto-configuration is provided:

       -a (--kexec-syscall-auto)
              Try the new KEXEC_FILE_LOAD syscall first and when it is not supported or the kernel does not understand the supplied image fall back to the old KEXEC_LOAD interface.

              There is no one single interface that always works.

              KEXEC_FILE_LOAD is required on systems that use locked-down secure boot to verify the kernel signature.  KEXEC_LOAD may be also disabled in the kernel configuration.

              KEXEC_LOAD is required for some kernel image formats and on architectures that do not implement KEXEC_FILE_LOAD.

So it seems like we could solve issue by just adding -a to our kexec invocation.

Looks like we once had it, but it's been removed because it broke on GCP? See https://github.com/nix-community/nixos-images/blob/ccc1a2c08ce2fc38bcece85d2a6e7bf17bac9e37/nix/kexec-installer/kexec-run.sh#L55
So a new flag might be the better option?

Oh, thanks for the deeper investigation! Ideally, the user could have a power to choose the interface on the level of flake arguments?

You can pass arguments to nix using the --option key value parameter.

Looks like we once had it, but it's been removed because it broke on GCP? See https://github.com/nix-community/nixos-images/blob/ccc1a2c08ce2fc38bcece85d2a6e7bf17bac9e37/nix/kexec-installer/kexec-run.sh#L55
So a new flag might be the better option?

I did not had a lot of time for testing and finding the root cause back than... if I can somehow detect what is causing to break this I could add a flag to check when to avoid this new auto flag.

You can pass arguments to nix using the --option key value parameter.

I'm sorry if I'm missing something, but are you saying it's currently possible to add the -s (or -a) flag to the kexec call via command line? I don't see any extra parameteres passed in https://github.com/nix-community/nixos-images/blob/ccc1a2c08ce2fc38bcece85d2a6e7bf17bac9e37/nix/kexec-installer/kexec-run.sh#L55

We now enable -a by default: https://github.com/nix-community/nixos-images/commit/f11fd49c78b1ec111a4d8ba0f7f4fc493658fafc

Awesome, thank you! I'll need some time to get to experimenting with it, so let's close this ticket for now, and I'll get back to you if something's still off for me.

Have you had any time to experiment @ulysses4ever running kexec on secure-boot enabled machines ?

@AkechiShiro  I'm sorry for the radio silence here. Unfortunately, kexec is still failing for me on that same machine with secure-boot. But in a different way. Maybe it's not connected to secure boot anymore but I don't have cycles to investigate. Here's what it says:
❯ nix run github:nix-community/nixos-anywhere -- --flake .#myhost root@myhost
...
+ init=/nix/store/66qrx0dvb1sdmrb7fzdmnfj0sd6gqlgr-nixos-system-nixos-23.11pre-git/init
+ kernelParams=console=tty0 console=ttyS0,115200 loglevel=4
+ readlink -f /root/kexec/kexec/run
...
+ kexecSyscallFlags=--kexec-syscall-auto
+ /root/kexec/kexec/kexec --load /root/kexec/kexec/bzImage --kexec-syscall-auto --initrd=/root/kexec/kexec/initrd --no-checks --command-line init=/nix/store/66qrx0dvb1sdmrb7fzdmnfj0sd6gqlgr-nixos-system-nixos-23.11pre-git/init console=tty0 console=ttyS0,115200 loglevel=4
kexec_file_load failed: No data available
kexec failed, dumping dmesg
+ echo kexec failed, dumping dmesg
+ dmesg
+ tail -n 100
[    4.189311] [drm] add ip block number 7 <sdma_v5_2>
[    4.189312] [drm] add ip block number 8 <vcn_v3_0>
[    4.189313] [drm] add ip block number 9 <jpeg_v3_0>
[    4.189323] amdgpu 0000:35:00.0: amdgpu: Fetched VBIOS from VFCT
[    4.189325] amdgpu: ATOM BIOS: 113-REMBRANDT-X37
[    4.189333] [drm] VCN(0) decode is enabled in VM mode
[    4.189334] [drm] VCN(0) encode is enabled in VM mode
[    4.189335] [drm] JPEG decode is enabled in VM mode
[    4.189358] amdgpu 0000:35:00.0: vgaarb: deactivate vga console
[    4.189360] amdgpu 0000:35:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[    4.189387] [drm] vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
[    4.189391] amdgpu 0000:35:00.0: amdgpu: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
[    4.189394] amdgpu 0000:35:00.0: amdgpu: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
[    4.189395] amdgpu 0000:35:00.0: amdgpu: AGP: 267419648M 0x000000F800000000 - 0x0000FFFFFFFFFFFF
[    4.189400] [drm] Detected VRAM RAM=2048M, BAR=2048M
[    4.189401] [drm] RAM width 128bits DDR5
[    4.189431] [drm] amdgpu: 2048M of VRAM memory ready
[    4.189433] [drm] amdgpu: 14903M of GTT memory ready.
[    4.189444] [drm] GART: num cpu pages 262144, num gpu pages 262144
[    4.189604] [drm] PCIE GART of 1024M enabled (table at 0x000000F47FC00000).
[    4.190513] amdgpu 0000:35:00.0: amdgpu: PSP runtime database doesn't exist
[    4.190515] amdgpu 0000:35:00.0: amdgpu: PSP runtime database doesn't exist
[    4.190564] input: HD-Audio Generic Mic as /devices/pci0000:00/0000:00:08.1/0000:35:00.6/sound/card1/input6
[    4.190649] input: HD-Audio Generic Headphone as /devices/pci0000:00/0000:00:08.1/0000:35:00.6/sound/card1/input7
[    4.191012] [drm] Loading DMUB firmware via PSP: version=0x0400002E
[    4.194756] [drm] use_doorbell being set to: [true]
[    4.195485] [drm] Found VCN firmware Version ENC: 1.23 DEC: 2 VEP: 0 Revision: 5
[    4.195495] amdgpu 0000:35:00.0: amdgpu: Will use PSP to load VCN firmware
[    4.217675] [drm] reserve 0xa00000 from 0xf47e000000 for PSP TMR
[    4.336886] amdgpu 0000:35:00.0: amdgpu: RAS: optional ras ta ucode is not available
[    4.345407] amdgpu 0000:35:00.0: amdgpu: RAP: optional rap ta ucode is not available
[    4.345411] amdgpu 0000:35:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[    4.346935] amdgpu 0000:35:00.0: amdgpu: SMU is initialized successfully!
[    4.347875] [drm] Display Core initialized with v3.2.215!
[    4.349256] [drm] DMUB hardware initialized: version=0x0400002E
[    4.350717] snd_hda_intel 0000:35:00.1: bound 0000:35:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    4.352255] [drm] kiq ring mec 2 pipe 1 q 0
[    4.355416] [drm] VCN decode and encode initialized successfully(under DPG Mode).
[    4.355437] [drm] JPEG decode initialized successfully.
[    4.357358] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[    4.357410] amdgpu: sdma_bitmap: 3
[    4.358993] mt7921e 0000:03:00.0 wlp3s0: renamed from wlan0
[    4.408304] memmap_init_zone_device initialised 524288 pages in 8ms
[    4.408309] amdgpu: HMM registered 2048MB device memory
[    4.409117] amdgpu: SRAT table not found
[    4.409118] amdgpu: Virtual CRAT table created for GPU
[    4.409253] amdgpu: Topology: Add dGPU node [0x1681:0x1002]
[    4.409255] kfd kfd: amdgpu: added device 1002:1681
[    4.409266] amdgpu 0000:35:00.0: amdgpu: SE 1, SH per SE 2, CU per SH 6, active_cu_number 12
[    4.409348] amdgpu 0000:35:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[    4.409350] amdgpu 0000:35:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[    4.409351] amdgpu 0000:35:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[    4.409353] amdgpu 0000:35:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[    4.409354] amdgpu 0000:35:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[    4.409356] amdgpu 0000:35:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[    4.409357] amdgpu 0000:35:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[    4.409358] amdgpu 0000:35:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[    4.409360] amdgpu 0000:35:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[    4.409361] amdgpu 0000:35:00.0: amdgpu: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
[    4.409363] amdgpu 0000:35:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[    4.409364] amdgpu 0000:35:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 1
[    4.409365] amdgpu 0000:35:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 1
[    4.409367] amdgpu 0000:35:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 1
[    4.409368] amdgpu 0000:35:00.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 1
[    4.411428] [drm] Initialized amdgpu 3.49.0 20150101 for 0000:35:00.0 on minor 0
[    4.416980] amdgpu 0000:35:00.0: [drm] Cannot find any crtc or sizes
[    4.417002] [drm] DSC precompute is not needed.
[    5.064809] Bluetooth: hci0: Device setup in 2524644 usecs
[    5.064816] Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
[    5.139382] Bluetooth: hci0: AOSP extensions version v1.00
[    5.139393] Bluetooth: hci0: AOSP quality report is supported
[    5.139581] Bluetooth: MGMT ver 1.22
[    5.155387] NET: Registered PF_ALG protocol family
[    5.294932] Bluetooth: RFCOMM TTY layer initialized
[    5.294938] Bluetooth: RFCOMM socket layer initialized
[    5.294943] Bluetooth: RFCOMM ver 1.11
[    5.748292] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[    5.802239] rfkill: input handler disabled
[   10.889181] igc 0000:02:00.0 eno1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[   10.889363] IPv6: ADDRCONF(NETDEV_CHANGE): eno1: link becomes ready
[  311.903573] rfkill: input handler enabled
[  312.824716] Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
[  312.970695] rfkill: input handler disabled
[  331.619475] loop15: detected capacity change from 0 to 265488
[  331.949040] kauditd_printk_skb: 44 callbacks suppressed
[  331.949042] audit: type=1400 audit(1710184786.232:55): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.julia.julia-docs" pid=3944 comm="apparmor_parser"
[  331.949069] audit: type=1400 audit(1710184786.232:56): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap.julia.julia" pid=3943 comm="apparmor_parser"
[  331.953930] audit: type=1400 audit(1710184786.240:57): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="snap-update-ns.julia" pid=3946 comm="apparmor_parser"
[  432.837654] audit: type=1400 audit(1710184887.125:58): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=3977 comm="snap-confine" capability=12  capname="net_admin"
[  432.837662] audit: type=1400 audit(1710184887.125:59): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=3977 comm="snap-confine" capability=38  capname="perfmon"
[  547.365396] audit: type=1400 audit(1710185001.658:60): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=4254 comm="snap-confine" capability=12  capname="net_admin"
[  547.365408] audit: type=1400 audit(1710185001.658:61): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=4254 comm="snap-confine" capability=38  capname="perfmon"
[  639.883287] audit: type=1400 audit(1710185094.182:62): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=4441 comm="snap-confine" capability=12  capname="net_admin"
[  639.883300] audit: type=1400 audit(1710185094.182:63): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=4441 comm="snap-confine" capability=38  capname="perfmon"
[  680.767888] audit: type=1400 audit(1710185135.063:64): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=4614 comm="snap-confine" capability=12  capname="net_admin"
[  680.767901] audit: type=1400 audit(1710185135.063:65): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=4614 comm="snap-confine" capability=38  capname="perfmon"
[19916.896916] audit: type=1400 audit(1710204372.281:66): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=5545 comm="snap-confine" capability=12  capname="net_admin"
[19916.896930] audit: type=1400 audit(1710204372.281:67): apparmor="DENIED" operation="capable" class="cap" profile="/snap/snapd/20290/usr/lib/snapd/snap-confine" pid=5545 comm="snap-confine" capability=38  capname="perfmon"
[20078.489533] PEFILE: Unsigned PE binary
[20078.489542] kexec_file: Enforced kernel signature verification failed (-61).


Feature RequestL msdfgen 1.4

This is a terrific tool. As a feature request, it would be great to upgrade the msdfgen binaries to version 1.4. I can not find documentation on how to compile msdfgen on MacOS, but you did this with the older version. Hopefully you can do the same with the modern version. I have noticed a few artifacts with this older version of msdfgen when gneerating lower-resolution bitmaps.

Hey @neurolabusc, could you try this branch and let me know if it works for you?
https://github.com/Jam3/msdf-bmfont/tree/msdfgen1.4
It seems to invert my test case font, weird.

Nice. You just need to change your shader for the new format, as shown on the msdfgen web page. This makes a huge difference in reducing artifacts when the font bitmaps are created with a low resolution or when normal sized bitmaps are scaled to be small.

Hmm, the new shader almost works, but I get rendering artifacts around the edges of my glyphs. Any thoughts? I've updated the msdfgen1.4 branch.

My solution was to increase the "x" position by 1/scaleW, the "y" by 1/scaleH and the decrease the width and height by the same amount, but this is a change with respect to how they are represented by Hiero. So perhaps the change could be put into the generator. I think the truth is that with Hiero's standard distance fonts the edges of the quads have no information (they are very distant from the character), but with the new version of msdfgen the hinting extends right to the border of the character's quad.

Any updates on this? Have the artifacts been resolved?

@gigablox a PR is in progress by @soimy here: https://github.com/Jam3/msdf-bmfont/pull/15
I'll get to thoroughly reviewing and probably merge in a couple weeks, but you can use the WIP branch for now if you'd like updated binaries sans-artifacts

Related: https://github.com/soimy/msdf-bmfont-xml/issues/16#issuecomment-356497904

You can check out https://github.com/soimy/msdf-bmfont-xml/tree/master/test for an example on how to use [msdfgen v1.4] generated atlas with three-bmfont-text


chore: update 2k24

[x] introduce auth
[x] introduce blog comments & replies
[x] redesign
[x] fix ci
[x] remove spotify stuff
[x] remove /about; (migrated to root route)
[x] remove kyseley
[x] remove planetscale
[x] introduce prisma

yeah! i'll merge it but now now.

i'm almost done! i promise i'll merge it


HHH-11119 Improve performance of StringHelper.qualify() and StringHelper.unqualify()

Fixes HHH-11119

Are you sure indexOf(char) is faster than indexOf(String)? This benchmark says it's the other way around.

Attached in the JIRA issue you can find the benchmark I did. So I'm pretty sure of the results I got there. As far as I can see the benchmark you shared uses @State in the benchmark mode, which will force all threads to use the same state, which I find a bit wrong here.
Nevertheless - even with the provided benchmark I get the expected results:

Benchmark
Mode
Cnt
Score
Error
Units

MyBenchmark.indexOfChar
avgt
30
16,772
± 0,171
ns/op

MyBenchmark.indexOfCharIndirect
avgt
30
17,803
± 0,781
ns/op

MyBenchmark.indexOfString
avgt
30
19,592
± 0,074
ns/op

MyBenchmark.indexOfStringIndirect
avgt
30
23,250
± 0,074
ns/op

Very interesting to see a comparison of JMH tests. Indeed I think the ones on SO could be better, the first one is definitely flawed as it's not consuming the output of function, and I agree the shared state in the second one looks at least suspicious.
thanks @dreis2211 ! Happy to merge this.

Merged. Thanks again!


Fix displaying default if required=True and no default is present.

This PR also better documents the behavior of Parameter.required flag.
Addresses #143

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.08%. Comparing base (4c4668d) to head (e4d1082).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #146      +/-   ##
==========================================
- Coverage   96.19%   96.08%   -0.12%
==========================================
  Files          16       16
  Lines        1789     1789
  Branches      453      453
==========================================
- Hits         1721     1719       -2
- Misses         31       32       +1
- Partials       37       38       +1

Flag
Coverage Δ

unittests
95.91% <100.00%> (-0.06%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


1.9 OSS download bits

Description

Adding link to 1.9 EA download (e.g. https://downloads.dcos.io/dcos/EarlyAccess/commit/fa0f7c0d724dbb9d74eb62b65b69c25efedc54f2/dcos_generate_config.sh).
Replace <hash> on line 46 with actual commit hash. @spahl to provide.
https://jira.mesosphere.com/browse/DCOS_OSS-644

Urgency

[x] Blocker
[ ] High
[ ] Medium

Requirements

Test all commands and procedures.
Build content locally and test for formatting/links.
Add redirects to dcos-website/redirect-files.
Change all affected versions (e.g. 1.7, 1.8, and 1.9).
See the contribution guidelines.

@emanic this is the placeholder for the hashed download URL.

I did this in a different PR.


R.assoc with int key sets a property, R.dissoc with int key does not remove it

This was unexpected behavior for me.
R.pipe(
  R.assoc( 1, 'a' ),
  R.dissoc( 1 )
)( {} )
// => { "1": "a" }

https://goo.gl/1j55Af
Perhaps a note in the documentation. I'm not sure if R.dissoc with an int key should remove the property from the object.

Actually the documentation's type signature shows that it expects a String value for the key.
String → {k: v} → {k: v}

I think there's a good question here about whether we should restrict assoc to Strings.   Or whether we should coerce the first parameter to a string in both functions.
I think this would be a good invariant to support:
// for all obj, name
R.equals(obj, R.pipe(
  R.assoc( name, 'a' ),
  R.dissoc( name )
)(obj); //=> true

Since R.assoc does do coercion (well, JS does the coercion) for the sake of symmetry I would think that R.dissoc would too.

I see no need to complicate this one. Use it as documented. If you use it in other ways, the result is unspecified. Following this principle keeps functions simple. Trying to "simplify" things by covering up all holes that can be found is the road to hell IMO.

I see no need to complicate this one. Use it as documented. If you use it in other ways, the result is unspecified.

@TheLudd that's why I quickly closed the issue. Saw the type signature and realized I need to make sure I provide a String.

In accordance with the specification ECMA Script, objects keys can be strings or symbols. I think it's worth considering. Of course right now it is dangerous to change the behavior of dissoc function. But it would be right.


When changing column width table scrolls back to the top

material-react-table version
2.12.1
react & react-dom versions
"react": "^18.2.0",     "react-dom": "^18.2.0",
Describe the bug and the steps to reproduce it
In the virtualization example scroll anywhere and then resize a column.
It'll jump back to the top.
(I tried it out in the mantine react table and it's the same behavior there.)
Minimal, Reproducible Example - (Optional, but Recommended)
https://www.material-react-table.com/docs/examples/virtualized
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
No, because I do not know how
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

+1


0.53.3 is hard to shake to turn out dev menu, my hand will be broken one day.

0.53.3 is hard to shake the phone to turn on dev menu, my hand will be broken one day. ^_^

I'm very sorry to hear that. Please take a look at v0.54 and let us know if things are looking a bit better there.


Adds HTML preview.

Resolves #41 - adds an HTML preview toggle-able with the 'Preview HTML' / 'Hide Preview' button in the bottom right of the response area.
When 'Preview HTML' is clicked, the HTML source is covered by a preview of the rendered HTML.
This button only shows when content type is HTML and a response has been submitted.
As always, you can test the changes here: https://nbtx.github.io/postwoman-vue/

Hey @NBTX,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: a118f400-c929-11e9-9f48-711252adc810

Oop - just found a bug, let me fix it real quick.
If you hit preview, and then load another link it doesn't hide the preview and it actually covers the response of the other link.

Okay, good to go!

Hey @NBTX,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 919a5c60-c92b-11e9-9f48-711252adc810


Codegen PostgreSQL timestamp column as DateTime type

PR Info

Closes #586
Closes SeaQL/sea-schema#50

Fixes

Consider database when deciding what is the corresponding Rust type for a db column

Maps PostgreSQL timestamp column as DateTime in Rust

It's awkward because NaiveDateTime has the exact same layout as DateTime, it's just a type system thing

It's awkward because NaiveDateTime has the exact same byte format as DateTime<Utc>, it's just a type system thing

Perhaps we can consult SQLx team on this?

besides, I think passing in db_backend during codegen completely broke the abstraction

besides, I think passing in db_backend during codegen completely broke the abstraction

But then how can we solve this db backend dependent type mapping?


Dash Comments

When I use the default comment style using NERDCommenter, the /*... */ is applied, while my Hive version only recognizes the standard SQL -- comments.
Is there an easy way to change that? (Sorry, I'm a newbie in terms of vim scripting).
Thanks!

This plugin probably just needs to set comments and commentstring:
setlocal comments=:--
setlocal commentstring=--\ %s

(borrowed from https://github.com/vickenty/vim-hive/blob/master/ftplugin/hive.vim)

Merged into my active fork as jparise/hive.vim@c19b22e.


Learn Model Bugs

The following two issues need to be analyzed and corrected.
For the parameter lm = 'PR', the convex optimization algorithm in learn model experiences overflow, a temporary fix may be just to define arrays with data type as np.float128 in the convex optimization method, but need to investigate why this is happening at all.
for lm = 'LS', there are often convergence warnings and numerics become NANs. Need to fix.

Changing the raveled matrix representation to dense takes care of the overflow/underflow issues in ridge regression. However this change might cause slower performance, will investigate during functional tests. (See commit 148).


De-sugar bang ! operator - part 3 - optional {} =

This PR adds to #6599 and replaces #6601 to make {} = optional for suffixed identifiers.
A statement is valid syntax if it beings with a suffixed identifier i.e. Stdout.line!.
Multi-line statements "should" have an increased ident for the following lines from the statement definition.
The {} = is applied as sugar so it is not required.
This PR was tested using the following programs (header excluded).
# Parses as three defs with a return expression
main =
    a = "Foo"
    Stdout.line! a

    b = "Bar"
    Stdout.line b

# Parses as two `Expr::Stmt` defs with a return expression
main =
    Stdout.line! "Foo"
    Stdout.line! "Bar"
    Task.ok {}

main = run |> Task.onErr \err -> Stdout.line "ERROR: $(Inspect.toStr err)"

run =
    Stdout.line! "Ahoy" # ok
    {} = "There" |> Stdout.line!  # also ok

    # check jq is available
    Cmd.new "jq"
    |> Cmd.arg "--version"
    |> Cmd.status
    |> Task.mapErr! UnableToCheckJQVersion

    Task.ok {}

Quick update... the approach here works, but only for one level deep in an expression. I'm working on changes so that it can de-sugar nested expressions.

Closing in favour of #6634


Refine API contract based on recent demo comments

Description
As we now have the first version of the API with request and response formats for the /workspaces resource, we've identified a few areas of improvements for increased usability.
Acceptance criteria

[ ] Additional issues created as needed to address below questions

Topics to decide on

[ ] Desired request and response formats for /workspaces resource.

Version, friendly name, resourceSpec vs workspaceSpec etc.

[ ] Should we query by sequential (human friendly) workspace id/name or system generated resource?
[ ] Bundle parameters that are not required/expected to be provided by end-user should not be part of request?

workspace_id should be generated and not provided by the user
core_id is static per TRE instance

the workspace resource should look as follows:
{
"id": GUID #generated by the API
"friendlyName": "Tess workspace",	# shown in the UI
"workspaceURL": ""	# default entry point to the workspace for the researcher (not filled in for right now)
"status": "not_deployed" # status of the workspace deployment
"description": "blabla" #provided by the user at request time
"resourceSpec": {
         "name" : "bundlename", # provided by the user
         "version": "0.1.0", # latest version CALCULATED BY API
         "parameters" : {
                  "location" : "westeurope"   # for now default TRE location (provided with ENV VAR)
                  "workspace_id" : "0001"     # 4 char string - continuous number - calculated by API
                  "core_id": "mytre-dev-3142" # ENV VAR (same for all workspaces in TRE instance)
                  "address_space": "<IP_ADDRESS>/24" # hard-coded for now - calculated by API in later issue
         }
    }
    "isDeleted": false # whether the request is deleted and should be cleaned up (ex. if service bus fails)
    "resourceType": "workspace"
},

GET /workspaces - returns a list of all the resources as is (if not isDeleted)
GET /workspace/{workspace_id} - returns a single workspace resource (if not isDeleted) - workspace_id here is the GUID
POST /workspace

INPUT: friendlyName, workspaceType (resourceSpec/name), description
OUTPUT: 202 - id (GUID)


Issue with the containers release

I noticed that the tags related to a release are not properly defined. As you can see in the following screenshot:

The tag latest correspond to the main docker image. But, the v0.16.0-beta4 should point to the same image and instead points to the debug version. We could also expect to find a v0.16.0-beta4-alpine version.
This can be observed also from the size of the images on docker hub:

The code in https://github.com/juanfont/headscale/blob/main/.github/workflows/release.yml seems good.

I don't know if someone did something to fix this but it now looks ok :


node interceptors corrupt incoming binary bodies

https://github.com/mswjs/interceptors/blob/c6f440a2b1abb3b230094b8c794a0dc35d2f1981/src/interceptors/ClientRequest/utils/getIncomingMessageBody.ts#L8
chunk here is normally(?) a Buffer, and += is silently calling .toString(encoding='utf-8') on it, which is lossy. This prevents the interception of transfer encoded bodies, as this corrupts gzip data.

Can confirm that
export function getIncomingMessageBody(res: IncomingMessage): Promise<string> {
  let responseBody = Buffer.from('');

  return new Promise((resolve, reject) => {
    res.once('error', reject)
    res.on('data', (chunk) => { responseBody = Buffer.concat([responseBody, chunk]); })
    res.once('end', () => {
      resolve(responseBody)
    })
  })
}

resolves my particular problem with gzipped response contents. I expect this would also resolve OP's problem. I think it's safe to say that the above does not represent an acceptable solution due to the likely overwhelming reliance on the response body being a string.
Some general thoughts:

let responseBody = Buffer.from(''); should be provided a fixed size based on the Content-Length header if at all possible, whereby we could avoid concatenating buffers needlessly. This falls over if Content-Length is unavailable or incorrect.
Could we default to returning a string, but provide the developer an option to receive the buffer instead? Not sure if there's the possibility of supplying such an option.

Alternately, we could handle the gzip compression ourselves. To me this seems to get into the weeds a bit too much, and risks broadening the scope of the library to handle other forms of compression, inflate/deflate, and other such things. But for the sake of the conversation, the following would potentially be an acceptable solution to this particular problem as it continues to return a string as the response body, as would be expected by existing users of this library:
import { createGunzip } from 'zlib';

export function getIncomingMessageBody(res: IncomingMessage): Promise<string> {
  let responseBody = '';
  let stream = res;
  if (res.headers['content-encoding'] === 'gzip') {
    const gzip = createGunzip();
    stream = res.pipe(gzip);
  }

  return new Promise((resolve, reject) => {
    stream.once('error', reject)
    stream.on('data', (chunk) => { responseBody += chunk); })
    stream.once('end', () => {
      resolve(responseBody)
    })
  })
}

Thoughts from contributors? Happy to wrap this up in a PR pending any amendments identified by the team.

Hey, @thomas-p-wilson. Thank you for the insights and suggestions above.
I think treating the response body as a buffer is a good direction to go.

the above does not represent an acceptable solution due to the likely overwhelming reliance on the response body being a string.

However, the current implementation treats the response body as a string anyway:
https://github.com/mswjs/interceptors/blob/573009ac5432c5464245770ab43a5241f62d3a46/src/interceptors/ClientRequest/utils/getIncomingMessageBody.ts#L4
So this isn't something the suggested solution introduces.

[response body buffer] should be provided a fixed size based on the Content-Length header

Completely agree.

Could we default to returning a string, but provide the developer an option to receive the buffer instead? Not sure if there's the possibility of supplying such an option.

The public API always returns the response body as a string in the IsomorphicResponse object:
https://github.com/mswjs/interceptors/blob/573009ac5432c5464245770ab43a5241f62d3a46/src/createInterceptor.ts#L25-L30
At the moment I don't see a reason to change this contract. If the response body is a buffer or a binary, it can be converted to a string and exposed in the isomorphic response for any further manipulations. Keeping the response body as a string also allows request interception in a child process, where the response body is being sent over IPC between parent/child processes (and thus must be a string).
I agree with your suggestions above and would love to see a pull request from you, @thomas-p-wilson! If I'm not mistaken, we could start by:

Adding at least 2 unit tests to getIncomingMessageBody function (string response body and gzipped response body, which surfaces the issue).
Treating the response body as a Buffer.from('') internally.
Setting a fixed size of the response body buffer based on the res.headers['content-length'] header. Adjusting the response body concatenation, if necessary, in the res.on('data') listener.

Hey @kettanaito! I accept your feedback, and will submit a PR in the next couple of days incorporating your bullet point requirements. Cheerio!

Digging through the test structure. As the test directory hierarchy doesn't match 1:1 with the source directory hierarchy, I'm unsure where you would like getIncomingMessageBody-specific unit tests. I see tests against that particular utility spread across six separate test files. Do you have a preference?

Feel free to ignore me. I'm clearly illiterate...

With respect to the following:

Treating the response body as a Buffer.from('') internally.
Setting a fixed size of the response body buffer based on the res.headers['content-length'] header. Adjusting the response body concatenation, if necessary, in the res.on('data') listener.

We need not change this. Can pipe the response through zlib.createGunzip() which makes it effectively transparent. The concatenation method remains suitable.

@kettanaito PR is up. It's a relatively simple change. Please review and let me know if it's up to snuff :)
For anybody landing here, a suitable workaround until this makes it to a release is to add the following somewhere prior to initialization of your interceptors:
import * as zlib from 'zlib';
import { Stream } from 'stream';
import * as incomingMessageBody from '@mswjs/interceptors/lib/interceptors/ClientRequest/utils/getIncomingMessageBody';

Object.defineProperty(incomingMessageBody, 'getIncomingMessageBody', {
  value: function(res) {
    let responseBody = '';
    let stream: Stream = res;
    if (res.headers['content-encoding'] === 'gzip') {
      const gzip = zlib.createGunzip();
      stream = res.pipe(gzip);
    }
    return new Promise(function (resolve, reject) {
      stream.once('error', reject);
      stream.on('data', function (chunk) { return (responseBody += chunk); });
      stream.once('end', function () {
        resolve(responseBody);
      });
    });
  }
});

This is the approach I have taken until the above PR lands in a release. It has so far served me well.


Is it possible to change http.timeout per route or per request?

I have some routes where it is normal for processing to take some time and so I need to increase the config parameter http.timeout to more than the default 30 seconds. But most routes, I'd be happier to have it much lower (say 5 seconds). I've not found anything in the API - it this possible?

Sorry, currently it is not possible to configure the timeout per route nor request.

Ok, thanks. I'll just use a higher default value.


Warn users where repeated or complex logic is found.

closes #102

Adds 2 utils functions:

a function that checks for repeated relevance expressions
a function that checks for complex relevance expressions

Complex_expression checker function implements a naive algorithm based on the number of variables in the expression that are operated on by or|and logical operators.

Codecov Report

Merging #322 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #322      +/-   ##
==========================================
+ Coverage   82.57%   82.63%   +0.05%
==========================================
  Files          23       23
  Lines        3375     3386      +11
  Branches      782      785       +3
==========================================
+ Hits         2787     2798      +11
  Misses        442      442
  Partials      146      146

Impacted Files
Coverage Δ

pyxform/constants.py
100% <100%> (ø)
:arrow_up:

pyxform/xls2json.py
78.29% <100%> (+0.29%)
:arrow_up:

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 75d39d5...5981623. Read the comment docs.

I think if we want to consider something of this nature we should take a step back and discuss a game plan. I think the complex check is likely useful and the duplicate one is likely best to avoid. In fact, JavaRosa/Collect already optimizes away those duplicates so they would not affect Collect performance.


ClearArea and ClearUILayer should have the same API

Need to be able to easily clear sections of the display and ui layer. Make these APIs match and clean them up.

This has been fixed.


sqlite provider try to create foreign keys

Hi,
I created a small ef model using sqlite adding a few relationship among entities. I see when I create migrations tries to create foreign keys, giving error trying to update the db.
It is possible to avoid the creation of these commands? Currently I have to remove manually every time.

Feel free to edit the Migration and remove the calls to AddForeignKey. This is a known limitation of SQLite.

As noted, this is just a limitation of SQLite - it does not support adding FKs to existing tables.


add cleos option to unpack data when forming transaction, useful for …

…example when signing the transaction with trezor wallets

Change Description

Add an option for cleos to unpack data when forming transaction, useful for example when signing the transaction with trezor wallets #8205
Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

Need to resolve conflict


docs: Use tools.mdx to ensure navigate to the next page correctly

I noticed that the Next Page of the Using tools page is wrong. It should navigate to /docs/modules/, but it goes back to /docs/expression_language/

I didn't find what caused this special case. I think the faster solution is to use the mdx file instead of the ipynb file and add pagination_next: modules/model_io/index to the header. If anyone can find a better solution I would be grateful.

Another case:

closing because cookbooks aren't in docs anymore - just links to github


Query on whether following format is supported in netopeer2 parsing.

Hi @michalvasko,
I am able to configure and give algorithm   <algorithm>rsa2048</algorithm> but do we have support to configure leaves in this format as below <algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-crypto-types">ct:rsa2048</algorithm>in Netopeer2. If so from which version as I did not see in 1.1.70.
Please refer page 6 of https://datatracker.ietf.org/doc/html/draft-ietf-netconf-ssh-client-server-13 for the exact permission
     <client-identity>
       <username>foobar</username>
       <public-key>
         <local-definition>
           <algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-crypto-types">ct:rsa2048</algorithm>
           <private-key>base64encodedvalue==</private-key>
           <public-key>base64encodedvalue==</public-key>
         </local-definition>
       </public-key>
     </client-identity>

No, this is not supported in the drafts we have implemented. But I am puzzled because these algorithms are defined as identities in the ietf-crypto-types module published in a draft on 02-07-2019, which should be the one we are using. But it is an enumeration in our local copy but I am pretty sure I have extracted the YANG modules directly from the drafts so like I said, I have no idea where this difference originates from.
In any case, we will not be spending time on any updates of these modules. We are waiting until all these modules are finally published as RFCs and only then will implement the final modules.

Hi @michalvasko,
Can you please update on this thread after implementing even if it takes time? Thanks for your time.

Not sure when that is going to happen but I will try not to forget. Like I said, the first condition before we can even make some plan as when to implement this is the publication of RFCs from the current drafts.

Hi @michalvasko ,
For ietf-crypto-types.yang with revision 2019-04-29 , these algorithms are defined as identities. is there anyway to support the old revision? Or could it both support 2019-04-29 and 2019-07-02?

Hi @michalvasko
After checking history, this change was made  in commit 5333569, where the 2019-04-29 yang files are changed to 2019-07-02.
Some organizations, like ORAN, are still using 2019-04-29 yang files. Is there any way for backwards compatible?
Many Thanks!

Sorry, but keeping backwards compatibility for draft YANG modules is simply not worth it. It is unfortunate these modules are taking such a long time to be properly published.


add examples to commands help

usage examples in a command line help menu is a must, not sure how to do that properly with commander though

Implemented in #14 with an example of an example.

fixed by b14c5ef and a0d98dd :tada:


closes #115

Coverage remained the same at 96.501% when pulling 512a028fde2c338135dd9361677d1a0d96b7d3b1 on 9636565:develop into dc3b91fa30aecd1834f00b390959cd4190a92497 on adonisjs:develop.


Introduction of metapackage

Changed the package name from grid_map to grid_map_ros and made grid_map a metapackage.

:+1:  nice!


🐛 Bug: Styling of Socials links on mobile has alignment issues

Bug Report Checklist

[X] I have tried restarting my IDE and the issue persists.
[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Expected
It should have smaller logos that are aligned with the text for the social media titles (LinkedIn etc) and be aligned throughout.
Actual
See image below - alignment is off on mobile

Additional Info
No response

@all-contributors please add @git-megan for bug.

🤖 Beep boop! This comment was added automatically by all-contributors-auto-action.
Not all contributions can be detected from Git & GitHub alone. Please comment any missing contribution types this bot missed.
...and of course, thank you for contributing! 💙


Can't install modules with wireshell

Hi there,
I'm using the 1.0 version of wireshell.
If I run from the site's root directory:
wireshell module:download TracyDebugger
I get:

[RuntimeException]
Directory name must not be empty.
module:download [--github [GITHUB]] [--branch [BRANCH]] [--] []
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory

Is anyone else having this issue?  Other wireshell commands work like wireshell new.
Strangely, I did have to change the commands from:
wireshell new --dbUser:dbuser --dbPass:dbpass --username:admin --userpass:admin<EMAIL_ADDRESS>--profile:languages
to:
wireshell new --dbUser dbuser --dbPass dbpass --username admin --userpass admin --useremail<EMAIL_ADDRESS>--profile languages
The wireshell new command also gives this error message, but it seems to download Processwire anyway.

Nevermind, I opened a new iterm tab and ran the same command and it worked this time.


Migrate framework to VitePress

There's a few things about docsify that have been personally bothering me and (IMO) are hampering the wiki a bit. There's some details in #12 and #26.
Basically:

SEO is not great, and we're only limited to the default page for SEO and embeds
Docsify isn't super modern, and these problems aren't fixable without migrating frameworks
Adding new things (like search) is going to be significantly more complicated than it should be using Docsify

This PR converts the wiki to use VitePress, a similar framework that also uses .md files
There were minimal markdown-changes that had to be made, I simply

Added description/navigation metadata to pages
Moved from old warning/infobox system (! >) to vitepress's formatting (::: warning)

This will make embeds look significantly better, and help the site a LOT on google rankings, hopefully getting the wiki recommended instead of random outdated articles
Here's a preview of how the new styling looks:

Embeds also look significantly better now, here's before and after (notice how each linked page will now actually show proper page-specific metadata)

This also adds the following features:

Search box to easily find specific pages
"Edit this page" button at the bottom of each page that links to a convenient GitHub editor
New beginners guide page

This PR is feature complete except for:

Live Thunderstore version
Translation
automatic CI deployment

all of which I will be added to this PR shortly
if you'd like to preview the new wiki locally run npm i then npm run docs:dev

I would love any specific thoughts on this @MaxWasUnavailable @Xilophor. I have tried to make the transition as smooth as possible: hosting and writing new articles should be essentially identical
Contributing should also be more directly accessible with the "Edit this page" button. I'd like to write up a contributing guide like bsmg.wiki has at some point

Adding new things (like search) is going to be significantly more complicated than it should be using Docsify

Docsify already has a search, which seems to work fine. Could you elaborate?

This PR is feature complete except for:
* Live Thunderstore version system

* Translation

* automatic CI deployment

all of which I will be added to this PR shortly
if you'd like to preview the new wiki locally run npm i then npm run docs:dev

What do you mean by Live Thunderstore version system?

After quickly going through a local preview, it looks and feels significantly better than the docsify version. I'm happy that this process allows better SEO. From the article writing side, I'm glad that it's virtually identical.

What do you mean by Live Thunderstore version system?

This, no?

Adding new things (like search) is going to be significantly more complicated than it should be using Docsify

Docsify already has a search, which seems to work fine. Could you elaborate?

Ah yeah I dropped a word there, I specifically meant Algolia search so we can have more relevant search than just "search the exact phrase"
What docsify has works alright, but I do think having something that supports synonyms/more complicated queries would be nice, especially as the site grows

What do you mean by Live Thunderstore version system?

The r2modman page runs a query to thunderstore to get the latest r2modman version, I just need to reimplement it for the new framework
Honestly we might want to remove this at some point, it's fairly minor and I don't want to accidentally burden thunderstore with traffic - i'll probably make an issue later

Adding new things (like search) is going to be significantly more complicated than it should be using Docsify

Docsify already has a search, which seems to work fine. Could you elaborate?

Docsify did have a search function, although it doesn't seem great.

Looking at the exact same search in the new one, it gives a much better preview (if enabled).

Ah yeah I dropped a word there, I specifically meant Algolia search so we can have more relevant search than just "search the exact phrase"

Looking at a potential search, it does seem to better support/sort based on complicated searches that don't exactly match the content. Example search: how do I load the network object into the scene
Docsify

VitePress

Right now it's just using vitepress's (solid) local search, but once it's deployed and had some time to simmer I'll try to set it up with Algolia, which should be even better

Right now it's just using vitepress's (solid) local search, but once it's deployed and had some time to simmer I'll try to set it up with Algolia, which should be even better

If that's just the local search, I can't wait to see what Algolia looks like. Any timeline on when you plan to add that as a PR/to this PR?

If that's just the local search, I can't wait to see what Algolia looks like. Any timeline on when you plan to add that as a PR/to this PR?

One of the people I consulted with about frameworks specifically said it's a bit of a process to set up, so it'll probably be a week or two

The r2modman page runs a query to thunderstore to get the latest r2modman version, I just need to reimplement it for the new framework
Honestly we might want to remove this at some point, it's fairly minor and I don't want to accidentally burden thunderstore with massive amounts of traffic - i'll probably make an issue later

I've just removed this for now. It's neat but I'm worried it's not helping with the thunderstore downtime
I'll look into doing it on build time in a separate PR

Translation also needs to be fixed in a separate PR because I think the only way to get crowdin to register the new changes is pulling them into main

Looks superb! Great work @legoandmars


[TASK] Serialize externalROMloader instances

Issue Description
Some ROMs can fail to serialize when wrapped by externalROMloader instances. This could be fixed by a decent get-set state.

For Change Control Board: Issue Review
This review should occur before any development is performed as a response to this issue.

[x] 1. Is it tagged with a type: defect or task?
[x] 2. Is it tagged with a priority: critical, normal or minor?
[x] 3. If it will impact requirements or requirements tests, is it tagged with requirements?
[x] 4. If it is a defect, can it cause wrong results for users? If so an email needs to be sent to the users.
[x] 5. Is a rationale provided? (Such as explaining why the improvement is needed or why current code is wrong.)

For Change Control Board: Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[x] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest release branch? If yes, is there any issue tagged with release (create if needed)?
[x] 5. If the issue is being closed without a pull request, has an explanation of why it is being closed been provided?

Closure checklist passed...
Closure approved via #1560