[Bug] Prompt a user to login when trying to run fern generate without being authenticated

Describe the bug
Unhelpful error message when trying to run fern generate --docs --preview without logging into fern first.
To reproduce
Steps to reproduce the behavior:

Go to a fern docs project without first being logged into fern.
Run the command 'fern generate --docs --preview'
See error:

Expected behavior
A "You must first log in to fern with fern login" type message.
Version
Fern Version: 0.16.22

Closing - tracking internally.


enable proxy protocol

Changes

:gift: enable proxy protocol

/kind enhancement

This patch will help users to retreive connection information from the source requesting the connection, especially the source IP address
Release Note

net-kourier supports proxy protocol
action required

Docs

[README.md]: <https://github.com/RamyChaabane/net-kourier/tree/SRVLESS-7277-proxy-protocol#proxy-protocol-configuration>

/assign @evankanderson
I will add some tests if this is approved, thx

/assign @carlisia
For a second set of eyes / experience

Isn't this proxy support feature a must have if you are using AWS NLB ? I have everything working with Knative + Courier expect that all the request IPs are the same (the load balancer).
Am I missing something? Has any of you able to get original IP address without this feature using a Layer 4 LB (AWS NLB in this case)
I can't wait for this to be merged in.

Hey @mcastilho, unless someone gets to this first, I'll review the PR tomorrow.
I haven't used net-kourier, but we do have conformance tests that run frequently for all components, although they might only be hitting GCP now that I think about it. I'll check on that.

@RamyChaabane Thank you for your PRs. Do you have any plan to add an e2e test for this feature? If I understand correctly, we need to setup a L4 proxy (which supports proxy protocol) in front. How will you tackle it?
Also, if we support further Envoy features in Kourier (like this PR and pull/759), Kourier will become Istio Gateway or Contour eventually... Frankly speaking, why you want to add the features into Kourier rather than using Istio (or Contour)? Please don't get me wrong. I am happy to improve Kourier and glad to see your PRs but I am curious about it.

@nak3 Thank you for your comment. We've tested Istio Gateway and Contour and we've noticed issues when it comes to deployment time and even scaling, especially for Contour: it does not scale pretty well when we have reached arround 500 KSVC and the deployment was taking too much time. Adding those features does not change much to Kourier.
Regarding tests, I'm planning to add some units tests if this feature will be accepted. For e2e tests, I can do that, but we will need, as you said, to setup a L4 proxy and rerun eventually all the existing tests, so we migh need to setup another cluster(s) for that

/retest

/retest

@nak3, I've updated the code and now ports 8090 and 9443 are the prob ports by default, can't wait for the feedback

Thank you! And sorry I will be day off until next week but will take a look at it.

Thank you for the update.
I learned curl command has --haproxy-protocol option and it works against your change.
So, I guess we can add e2e test under test/proxyproto by using https://github.com/pires/go-proxyproto or library?

@nak3 Thank you for the feedback
I updated the code according to your comments, if you feel it's ready to go, I can start add some tests

Thank you @RamyChaabane I left one more comment but I think it is ready to go. Let's add some tests.

@nak3 I've added some units tests and now we have a good coverage, I'll start working on e2e tests once you're OK with these changes

Thank you! Sure, it should be alright to start adding the e2e tests.

@nak3 e2e tests has been added and passed successfully

Thank you so much! I will look at it early next week.

/hold cancel
/lgtm
/approve
Thank you so much for your patience and this improvement @RamyChaabane
Let's merge this.


Migrate to ratatui

tui-rs is no longer maintained and was forked a year ago to become Ratatui. Come check us out...

Website: https://ratatui.rs
Crate: https://crates.io/crates/ratatui/
Docs: https://docs.rs/ratatui/latest/ratatui/index.html
Repo: https://github.com/ratatui-org/ratatui
Discord: https://discord.gg/pMCEU9hNEj
BREAKING-CHANGES doc.

Fixes #1

ping @shuoli84

@joshka hi, josh, thanks for the pr, i'm more than happy to add you as maintainer~


Localise content (l10n) for non-English languages

+1
Support for I18n would be great. I'll try to find someone from @kodujdlapolski (Code for Poland) interested to support it.

I commented in the PR, but I just wanted to share this again here: http://l20n.org/ is a good starting point for adding l10n + i18n to a site. Might be useful to use.

I was looking into i18n libs half a year ago and I've found Yahoo supported http://formatjs.io/ as one of the best.


Hidden tags with content don't get removed

We ran into an issue when doing the following:
Hello <param>world</param>

Which through markdown produced:
Hello <param />

This is because by default the output format is set to xhtml which is going through serialisation and removing any tag with content that is in the HTML_EMPTY, so we set the ouput_format to html and then the following happens:
Hello <param>world

So this fix now fixes this issues and produced valid html when output_format='html':
Hello <param>world</param>

I should point out that the tests also fully pass:
$ python -m unittest discover tests
................................................................................................................................................s....................................................................................ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...........................................................................ss..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 980 tests in 2.106s

OK (skipped=71)

I haven't yet taken a close look at your changes (I'll get to the when I have some time), but I did notice that you have modified some legacy tests. Note that any changes should be tested using the newer markdown.test_tools.TestCase. If the existing tests are in the legacy tests, then we move and reformat them to use the new framework as part of the change. Note that all new tests are under tests/test_syntax. The only changes made to any other tests is to remove them.

I haven't yet taken a close look at your changes (I'll get to the when I have some time), but I did notice that you have modified some legacy tests. Note that any changes should be tested using the newer markdown.test_tools.TestCase. If the existing tests are in the legacy tests, then we move and reformat them to use the new framework as part of the change. Note that all new tests are under tests/test_syntax. The only changes made to any other tests is to remove them.

Got it, I can look at the new test and make sure the new behaviour is added there as well, I will update my PR

@waylan I can't find any test in the new framework that test the output_format, so I see the following options:

I have missed where this is being tested in the new framework, if so please let me know where to add the tests.
A test does not exist in the new framework, let me know where to add it and I can do that. If you choose this option, do you want me to delete the tests I added in legacy?
The test in legacy is fine as no tests exists in the new framework, and there is nothing to do.

Please let me know which direction you want to go and I am happy to oblige.

That is fair, but my use case is producing XML, can we instead add an output_format=xml that allows tags to be tags, rather than HTML? Would this then be an acceptable solution?

We do not provide an XML serializer and we have no intention of doing so. However, if you want to provide your own you are welcome to with no need to alter the Markdown library at all. A quick hack might look something like this:
md = markdown.Markdown()
md.output_formats['xml'] = your_serializer_function
md.set_output_format('xml')
xml = md.convert(src)

Be care though, some extensions may change behavior based on which output format is selected. As you are changing the format after extensions have loaded, this could cause trouble. YMMV. Probably the better approach would be to subclass markdown.Markdown and redefine the output_formats attribute directly.
class YourSubclass(Markdown)
    output_formats = {
        'html':   to_html_string,
        'xhtml':  to_xhtml_string,
        'xml': your_serializer_function
    }

md = YourSubclass(output_format='xml')
xml = md.convert(src)

That works, happy with your proposal, I will close the PR. If I run into issues I can come back to you.


Rotated tiled 4x 8x8 CJMCU if upgrade firmware

Hi everyone. thanks for you Pixelit project. I am using it with four tiled 8x8 CJMCU matrix, and the latest  firmware version  I can properly use is  0.3.20. If I upgrade the firmware and set "type 3 - tiled 4x 8x8 CJMCU" as the matrix type, each matrix appears rotated 90 °, I have tried other "matrix type" settings but none works well. The only solution could be to rotate the matrix, but I can't solve the problem in this way, they are glued on the support.

Thats fascinating. My four tiled 8x8 CJMCU matrix doesn't work since i fixed it in 0.4. I think we have connected the tiles differently. Could you send me a picture of the back so I can see how the tiles are connected? I suspect that your pin headers are arranged verticall - this results in a continuous zigzag arrangement across the entire matrix. On my matrix, the pin headers are horizontally, the result is, that the zigzag must jumps after each tile.
tl;dr: send me a picture for confirmation and that we could add a second "8x8 CJMCU matrix" type which work as before.
(DIN is in the top right corner in the image)

Of course, I hope the image is clear, unfortunately I put a lot of glue. DIN is in the bottom right corner of each matrix

Please test this version. Select Type 3.
firmware_v1.2.0_d1_mini.zip

Works perfectly! Thank you very much


[JDO-709] Enable Element.TYPE for @Convert - TCK test

This PR is based on PR #60 . This PR adds @Convert tests to the PointAttributeConverterTest in the TCK.
The convertible point class is called ConvertiblePoint and is used in a new persistent class is PCRectPointTypeAnnotated.
Questions:

Does the converter or the convertible class need to be declared in one of the .jdo or .orm files?
Do we need to initialize the ConvertiblePoint fields in PCRectPointTypeAnnotated?

Current status: The test fails. It appears that the converter is not called.

Apparently the fields do not get initialized
Even when they are initialized, they don't appear to get stored/loaded.

dsid-converter-junit.txt
dsid-converter-tck.txt

I filed a ticket for the Datanucleus reference implementation: https://github.com/datanucleus/datanucleus-api-jdo/issues/127


Bug: Upcoming buffered URLs don't get cleared

If you try to remove a url, if it is buffered it doesn't get cleared (which happens a few seconds before it plays). I had a use case where I needed to clear the upcoming urls without stopping the current playing one and had to put in a work around to avoid the next one from playing as sometimes it would have moved to buffered state. I would suggest when you remove an upcoming URL it also removes it if it's buffered so it's not timing dependant.

A sample app could really help to pinpoint this issue, could you provide one please?
I want to make changes so that the library better support queue, but been busy

having the same issue here


SSR error during $style injection on cached components

Version
2.5.17
Reproduction link
https://github.com/henriqemalheiros/vue-ssr-cached-component-css-modules
Steps to reproduce

yarn install
yarn run ssr:build
yarn run ssr:start
Open http://localhost:8000/
Refresh the page

The error is also reproducible in development mode with yarn run ssr:serve.
What is expected?
The app should render properly, as it rendered before refreshing the page.
What is actually happening?
error during render : /
TypeError: Cannot set property '$style' of undefined
    at CachedComponent_injectStyles (src/components/CachedComponent.vue:8:0)
    at hook (node_modules/vue-loader/lib/runtime/componentNormalizer.js:53:0)
    at c:\[...]\vue-ssr-cached-component-css-modules\node_modules\vue-server-renderer\build.js:7467:15
    at c:\[...]\vue-ssr-cached-component-css-modules\node_modules\vue-server-renderer\build.js:2487:40
    at c:\[...]\vue-ssr-cached-component-css-modules\node_modules\vue-server-renderer\build.js:7465:11
    at c:\[...]\vue-ssr-cached-component-css-modules\node_modules\vue-server-renderer\build.js:2487:40
    at renderComponent (c:\[...]\vue-ssr-cached-component-css-modules\node_modules\vue-server-renderer\build.js:7463:7)
    at RenderContext.renderNode (c:\[...]\vue-ssr-cached-component-css-modules\node_modules\vue-server-renderer\build.js:7418:5)
    at RenderContext.next (c:\[...]\vue-ssr-cached-component-css-modules\node_modules\vue-server-renderer\build.js:2436:14)
    at cachedWrite (c:\[...]\vue-ssr-cached-component-css-modules\node_modules\vue-server-renderer\build.js:2295:9)

If you remove the serverCacheKey from the cached component and try again, the app renders properly.
Originally I thought this was a Nuxt related issue (nuxt/nuxt.js#3868). I then forgot about the issue, since I ditched component caching, but now I was able to find the time to reproduce it with plain Vue.

Thanks for reporting this, we will have a look as soon as we can.

@LinusBorg do you have any news about the issue?

I have same issue :(

any news?

It is very sad news that using "nuxt": "2.11.0"  I still have the same bug

any news?

I faced the same problem

I faced the same problem

any news?

any news?

why is the problem still not solved?

any news?

any news?

Actually, I don't think this is going to be fixed because both Nuxt2 and Vue2 are EOL already. As far as I know, there is no such thing as component-level cache in Nuxt3.


bug: wrong $index in slider when does-continue=true

Type: bug
Platform: all
I used the slider with two images like this:
<ion-slide-box on-slide-changed="currentSlide=$index" auto-play="true" does-continue="true" show-pager="false">
    <ion-slide ng-repeat="image in images">
        <img ng-src="{{image.src}}" width="100%"/>
   </ion-slide>
</ion-slide-box>

when outputting the currentSlide value, it turns out to show 0,1,2,3,0,1,... instead of only 0,1,0,1,... I helped myself with
(currentSlide || 0) % images.length

I needed to add the || 0 because the change event does not fire before any rotation happened.

Greetings @richidd!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Greetings @konsultaner!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.

has anyone ever reviewed this bug? seems to be a very simple one?


fzf does not allow input to be a named pipe

Category

[x] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

I'm trying to asynchronously feed data into fzf via a named pipe.
However, it drills down to two options which don't fully work:
tail -f /tmp/my_fifo | fzf - This works, allowing me to incrementally input data into the fifo that appear on fzf, but after choosing the result, I must force close the tail command, which makes this method inviable for use within vim.
fzf < /tmp/my_fifo - This reads the first occurrence of data and immediately closes the fd.
Are there other options for reading data from a named pipe?

(tail -f foo & echo $! > pid) | fzf; kill -9 $(<pid)

Makes sense?

Works!
Cheers


Disassembly view: do not piggy back on existing step commands, introduce new ones

fyi @yuehuang010, @xisui-MSFT
Code pointer https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/browser/debugCommands.ts#L265
I already mentioned this in the PR review but it seems like we did not address this.
We should not check the value of the context inside the command, but we should have special STEP commands for the disassembly view.
That way the solution will be cleaner.

Thanks for the feedback. The reason I changed this back this way is step commands are registered in the debug tool widget in a way that seems can only accept one command for each button. And I was not sure how to make the stepping command in debug tool decide to do instruction stepping or source line stepping. Any suggestions?

Yeah I think that the current step commands need to change their context key such that they are not registered when the disassembly view is focused.
And when it is focused that your new commands get registered instead.
I think we should not tackle this this week, so assigning to next milestone when you can hopefully look into this.


[#4584]feat(catalog-iceberg) Support loading custom catalog as backend in Gravitino Iceberg catalog

What changes were proposed in this pull request?
Support loading custom catalog as backend in Gravitino Iceberg catalog
Why are the changes needed?
Fix: #4584
Does this PR introduce any user-facing change?
add a property key
How was this patch tested?
add UT
manual test

In my case, I can reuse the JDBC catalog configurations for my custom catalog, but this approach doesn't cover other custom catalogs.
Now, we need to enumerate all configuration keys in IcebergCatalogPropertiesMetadata.
Should we accept all configurations, only those with certain prefixes, or wait until we encounter other cases?
@FANNG1  WDYT？

In my case, I can reuse the JDBC catalog configurations for my custom catalog, but this approach doesn't cover other custom catalogs.
Now, we need to enumerate all configuration keys in IcebergCatalogPropertiesMetadata.
Should we accept all configurations, only those with certain prefixes, or wait until we encounter other cases?
@FANNG1 WDYT？

I prefer to delay supporting the custom catalog backend for the Gravitino Iceberg catalog until there are real requirements.


DAWN-398 ⁃ User configurable generic security delay

Delayed Signed Transactions
As a user, I may be willing to trade immediate access to certain features for increased security in the event of an account compromise.  #922 outlines the procedures by which I, as the user, will respond to such a compromise and regain secure control over my account however, there is a period of time where an attacker may be able to sign certain transactions on my behalf.  Depending on my own values, it may be favorable to impose a delay on sensitive transactions on myself in order to ensure that an attacker cannot issue them without recourse.
Feature Description
Each named permission on an account is given a required delay which defaults to "no delay".
Updates to a permission that affect this delay must have been delayed by the existing delay.
When processing a newly learned transaction AFTER completely validating all necessary Authority
IF a permission which has a non-defaulted delay, is used on the transaction:

The transaction will be "boxed" into a deferred transaction, to be delivered no earlier than the current block time + maximum requested delay.
Storage for this will count as usage from the account requesting the maximum delay, breaking ties based on explicit ordering in the actions[]::authorizations[] (first mentioned).
The transaction's receipt in the block will have a new status code delayed
The deferred transaction can be cancelled by sending a signed action to config::system_account_name with an action name of canceldelay and a payload of the transactions ID (BDJ -- assuming this should be sender_id.

this action only succeeds if there exists a transaction with that ID that is delayed and the canceldelay action has the active permission authorization of one of accounts mentioned in the original transaction's  in actions[]::authorizations[]

When/if the delayed transaction is finally included in a block it will carry the normal excuted status flag, there should be no contract-based error handling required.

Example use cases
Alice has a "savings" account and wants to prevent the loss of any EOS, in the event of an account compromise assuming she notices the compromise within 30 days and is willing to delay withdraws from that account to guarantee this.   She sets up the sub-account with a permission named withdraw authorized by her primary account alice@active and having a delay of 30 days requested.   She uses linkauth to set the permission for any eosio::transfer action to withdraw (meaning that any transfer authorized by the savings account now has a 30 day delay).   She transfers her secure funds to the sub-account.
Alice suffers a breach and her active key is compromised.  The attacker, immediately issues change to alice's active key and then a  eosio::transfer from the savings account with the new attacker-key.  Due to previously set up permissions, this transfer is delayed by 30 days.  Meanwhile, the real Alice collaborates with her trusted 3rd parties to issue an update from owner to change active keys.  This process takes a week but otherwise completes as expected.  Alice now has 23 days of grace time where she has removed the attackers access and can still cancel the withdraw from savings before it takes effect.  Alice publishes such a cancellation and loses no tokens in the attack
Tasks

[ ] Add delay to permission_object
[ ] Apply rules, boxing transactions that request a delay and accounting for storage appropriately
[ ] Implement eosio::canceldelay native contract endpoint
[ ] implement use case(s) as unit tests

➤ Brian Johnson commented:
This talks about applying the delay for the permission that is linked if the permission is being updated, I'm also presuming the same delay applies for linkauth(from existing link on permission to another link) or unlinkauth for permission.

➤ Brian Johnson commented:
[~bart.wyatt] [~dan.larimer]  How should happen for inline actions and deferred_transactions that have delays?  I would think the answer could be more nuanced if the transaction that is currently being processed has a published time that satisfies the delay (Transaction was already boxed and delayed for required time and is now executing and now creating a follow on action).  Simple requirements for inline deferred_actions would be to check if delay is already satisfied and execute or delay the rest of time.  Would also like to know if the delayed status is set on the transaction_trace.

➤ Bart Wyatt commented:
Ok, talked with [~dan.larimer] and came to the following conclusion.
We are not going to execute the transaction to determine implied actions because it is trivial to write a stateful contract which changes those results.  So, the delay for auto-boxing will not be based on execution results.  However, as a nod to these situations we want to add the concept of a semantic actions which are no different than normal actions but may carry additional meaning at the chain level.  In this case mindelay@config::system_account_name.  During our check for minimum permissions etc we should also scan the explicit actions on a transaction for this action and interpret the data for that action as an additional factor in the minimum delay calculation.
NOTE: when executing an action, if an inline_action is sent and the implied minimum delay is non-zero for the permissions associated with that the transaction should FAIL if it has not already been delayed for an amount of time that satisfies that delay.
while cludgy this gives us a few good things:

we don't have to execute transactions to box them
complex scenarios where delay is dependent (aka unknowable until deliver) can be handled with user-tools specifying a conservative value
This doesn't add any information to transactions until the feature is needed (as opposed to a reserved header field)
This is still hashed and included in consensus

RE delayed status.  Please extend transaction_receipt::status_type to include a "delayed" enumeration.  The amount of the delay should be deterministic and if one producer attempts to apply a block with a deferred transaction before that transactions delay has expired it should fail the block

➤ Brian Johnson commented:
[~dan.larimer] [~bart.wyatt] [~phil.mesnier] First peer review was merged with "#warning TODO..." for processing of delayed transactions in net_plugin_impl::handle_message, since these requirements are not clear.

Alice has a "savings" account assuming she notices the compromise within 30 days and is willing to delay withdraws from that account to guarantee this.
She sets up the sub-account with a permission named withdraw authorized by her primary account alice@active and having a delay of 30 days requested.
She uses linkauth to set the permission for any eosio::transfer action to withdraw(meaning that any transfer authorized by the savings account now has a 30 day delay).
She transfers her secure funds to the sub-account.

If her active key is compromised. The attacker, immediately issues change to alice's active key and then a eosio::transfer from the savings account with the new attacker-key.
Due to previously set up permissions, this transfer is delayed by 30 days. Meanwhile, the real Alice collaborates with her trusted 3rd parties to issue an update from owner to change active keys.
This process takes a week but otherwise completes as expected. Alice now has 23 days of grace time where she has removed the attackers access and can still cancel the withdraw from savings before it takes effect. Alice publishes such a cancellation and loses no tokens in the attack.

ATC Passes.
The above ATC scenario has been performed in delay_tests/link_delay_permission_change_test and verified to pass


What's blocking openraft from using stable rust?

I noticed that with cargo build is ok with stable rust 1.65, then what's blocking openraft from using stable rust?

Nothing blocks it.
But openraft depends on some features to build error backtrace. If you want to enable backtrace, you have to use nightly or use stable with env variable 'RUSTC_BOOTSTRAP="1"':
#![cfg_attr(feature = "bt", feature(error_generic_member_access))]
#![cfg_attr(feature = "bt", feature(provide_any))]
#![cfg_attr(feature = "bench", feature(test))]

Thanks.


Add ability to link items (i.e. specific pcb with a specific daughter board)

It would be great if the user would be able to easily link two or more items together. Something like a build but "weaker".
For example I have a PCB with connector for Raspberry Pi. I have the PCB and the RPi as stock items. Now I need to say that this RPi has been put into that PCB....

@Kedarius this is a great idea, and one that I have been trying to work out how to do "simply".
Currently the StockItem model has a field installed_in which is set-aside for this exact purpose. However the "business logic" side of things has not been worked out yet.
What features / implementation details would be of particular interest to you here?

@Kedarius , if this functionality was added around the build object, would that work for your use case?
I am envisioning a workflow where you stock components, make a build with the assembly level part, and the components that are allocated then "belong_to" that build. Then we can include functionality to "modify a completed build" which will let the user uninstall and install new items into that same build and the "belongs_to" identifier will change appropriately.
I'm still scoping out what this would look like and would like to make any changes as useful to others as I can so any input would be appreciated.

@wolffam there is an additional consideration which may make this very complex
Let's say you have a "build" which (as its output) makes 15 serialized widgets. Each serialized widget is tracked individually in the system. Each of these widgets has installed in them 1 serialized sub-widget (so 15 sub-widgets in total).
So, each serialized sub-widget must be "installed_in" the serialized widget. We cannot simply assign the sub-widgets to the build, as that does not provide tracking of each individual item.
I think a user-interface on the build which forces the user to assign any serialized stock to a particular serialized output is required.

Can you describe the workflow within Inventree to replicate that scenario?  I'm still trying to grok the project as a whole and want to make sure I understand the intended use of builds.

I suggest you have a look at ANSI/ASME Y14.44 Reference Designations for Electrical and Electronics Parts and Equipment. Use Figure 7 Typical System Subdivision with proper reference designator prefix(s) assigned. In the scenario where you have a PCBA plugging into a socket on another PCBA (motherboard), your motherboard parts list (PL)/BOM would have all the parts for the motherboard including the socket with ref des XA1 and the plugged in PCBA (RPi) that would be reference designated A1. If there are variances you take care of this with the part number, which is a suffix number added to the assembly drawing number. As far as tracking serial numbers you would do this with the manufacturing traveler.
--Larry

@wolffam @SchrodingersGat  The ability to link items would be great at two levels: part and stock.
The part one would be rather uncomplicated as it would be "just" a named link between two parts. For example: "ATMEGA328pb" is alternative to "ATMEGA328p" or "PAM2319" is successor of "PAM2306".
The stock one should be able to take into account the serialized parts. Basically the "RPi serial 1234" is in "PCB 567". I do understand that is is similar to a build but as @SchrodingersGat said, it would mean that I would need to build it one by one as I need to keep track of which RPi is in which PCB.

@Kedarius , I have the logic coded up for the latter use case but only when the build has a quantity of 1 (as you point out).  Would it be sufficient to only allow "installed_in"/"belongs_to" functionality when you are only building 1 output at a time?  Otherwise I agree with @SchrodingersGat , there would need to be a user interface built to support "this serialized component goes with that serialized build output" when there are more than one build outputs being generated.
As of now, I am aiming to build out the functionality to add the "belongs_to"/"installed_in" tracking for a single build output (I think this is pretty much done) and then figure out how to best approach "modifying" a completed build output

@wolffam One more thing to consider is that if you would need to have more things combined into one. For example if you would have a PCB for RPi and/or Arduino. Or more simple example a desktop computer with RAM, CPU, HDD and Graphics Card (optional). You want to be able to build a "combined" part using zero, one or more sub parts and still be able to change any of them without the need to care about the rest....

Sorry if I was unclear.  The solution that I am currently working on can handle N number of components for a single assembly.  Let's use the PC example:
In order to assembly PC #7, you will need RAM #5, HDD #6, and 10 (untracked) screws.  [Obviously we are simplifying here for the purposes of the example].  After those parts are allocated and the build is completed, the stock items of RAM #5, HDD #6, and the 10 screws used will show they "belong_to" PC #7 (by reference of PC #7's stock item ID).  I haven't thought about how the "modifying" will work just yet as that will probably require some UI which is not my forte.
The scenario that I am not currently covering is if you wanted to make two or more PCs (8, 9, etc) at the same time.

@wolffam No you made it clear, it was me who was unclear :-) The thing I mentioned is that when you make such a build and then you need to change for example the HDD then you do not need to undo the whole build but just be able to replace one of the components.
And with this comes one more complication that you can have an optional part and/or partial build. For example one person inserts CPU and RAM and the other inserts HDD and optionaly GPU.

Exactly.  Being able to "modify" a build in the way you described is my end goal (See #977 ).  I think for a first cut, allowing the user to modify a completed build would only be available to single output builds (along the same lines as the PR above) and the user can move the completed build into a new state for modifying (either "In Progress" or some new "Being Modified" state).  In that state, the user can uninstall subparts (which then go back into stock but maybe with a new status if they're broken) as well as install new subparts.  We'll see how much progress I can make on that before I need UI help!

@Kedarius this feature has now been implemented - https://github.com/inventree/InvenTree/pull/1019
We are working to make the "install stock item" process work automatically with the "Build Order" functionality. For now, you can install (and uninstall) stock items manually from the StockItem view


SSL issue

https://github.com/isaacs/github/issues/156
GitHub Pages does not support SSL for custom domains. We may have to move away from github pages if they will not create a way for people to use their own certs.

I was just turned on to a way we can offer https for gis.utah.gov. Netlify has an open source account that listens to commits to github and publishes to http://general-manager-ant-30663.netlify.com. They have lets-encrypt support. I think all that we need to do is update our domain to point to this url and we'd be good to go. @BGranberg would you be interested in pulling the trigger on this?

Just popping in to 👍 Netlify!
You can rename the account reference for example:
https://lodash.netlify.com/
https://master--lodash.netlify.com/
For my custom-domain, https://lodash.com/,  I pointed "https://lodash.netlify.com/"

@jdalton did you create the lets-encrypt cert after pointing the domain to netlify?

Yes, after. It will warn you to ensure the domain is working without HTTPS first. I had HSTS enabled previously so used IE9 (which doesn't support it) to confirm the site was reachable without HTTPS and then just clicked it on it and ✨ instant TLS/SSL.

More info on setting up the custom domain:
https://www.netlify.com/docs/custom-domains

@brigsz will you schedule a CNAME change for our website?

For reference my settings are:

@steveoh If I understand you want me to do an actual change request to change the CNAME from whatever it is now...agrc.github.io to gis-utah-gov.netlify.com  Is that correct?

INC0548516

🔓 👉 🔒


Issues with ddev craft up

Description
I just tried to install this starter-blog, but as soon as I get to the ddev craft up instruction, I'd like to see the demo site with fake content, but it seems to throw this error.
ddev craft up
🔒 Acquiring lock ... done

Checking for pending Craft and plugin migrations ...
No new migrations found. Your system is up to date.

Checking for pending content migrations ...
Total 1 new migration to be applied:
	m210104_175929_sample_content

Apply the above migration? (yes|no) [no]:yes
*** applying m210104_175929_sample_content
Blog section does not exist.*** failed to apply m210104_175929_sample_content (time: 0.049s)

0 from 1 migrations were applied.

Migration failed. The rest of the migrations are canceled.
🔓 Releasing lock ... done
Failed to run craft up: exit status 1

Additional info

Craft version: 4.4.5
PHP version:
Database driver & version:
Plugins & versions:

Hi! Thanks for reporting.
I believe I've fixed the issue that was causing the bundled project config data to be discarded during installation. (When making updates last month, I must have missed the updated system.schemaVersion setting!)
If you're able:

Run ddev delete to tear down the current environment and database (DDEV will capture a backup before doing this);
Remove the vendor/ directory (for good measure);
Follow the setup guide again;
Apply the migrations with ddev craft up;

This ought to produce a working installation! If not, ping me here and we'll get you sorted. 💕


Icon state color does not work at all (with fix)

Hi
The state-color: true does not work at all. There are two issues.
One is a bug in the code. You use an opening ha-svg-icon and close it with /ha-icon-button. It is the opening that is wrong.
And the other is that the css still use the now obsolete paper states. Now the state-cover-active-color and state-cover-inactive-color css names should be used for covers.
I am not a CSS or JS expert at all.
But I still managed to fix it. It is 3 lines of code changes. I am not skilled in github so please accept that I contribute a good old diff -u
--- shutter-row-before.js	2023-04-23 12:05:51.073611800 +0200
+++ shutter-row-after.js	2023-04-29 15:32:33.006417400 +0200
@@ -697,7 +697,7 @@
 ha-icon.active-icon,
 ha-icon-button.active-icon {
     color: #fdd835 !important;
-    color: var(--paper-item-icon-active-color, #fdd835) !important;
+    color: var(--state-cover-active-color, #fdd835) !important;
 }
 div.content {
     cursor: pointer;
@@ -714,7 +714,7 @@
     display: inline-block;
     text-align: center;
     color: #44739e;
-    color: var(--paper-item-icon-color, #44739e);
+    color: var(--state-cover-inactive-color, #44739e);
     width: var(--ha-icon-height);
     height: var(--ha-icon-height);
     line-height: var(--ha-icon-height);
@@ -1021,7 +1021,7 @@
         let getIconElementByPath = (path) => {
             return y`
                 <ha-svg-icon-box>
-                    <ha-svg-icon path="${path}" class="${getClassName()}"></ha-icon-button>
+                    <ha-icon-button path="${path}" class="${getClassName()}"></ha-icon-button>
                 </ha-svg-icon-box>
             `;
         };

Sorry for replying so late. I fixed this issue with v0.3.5, also they added in the native entity card another color so this card will also use it.
I am currently working on a new card which also includes cover entities, so this project won't be developed further. Just maintaining it as long as possible with bug fixes for incoming HA changes.

Thanks a lot. Looking forward to your new toy.


Error reporting should be smoother

Testing #17040

Have some error in your test file
Notice the error

I see the following problems:

We are piggy backing on the test infrastructure and vscode thinks this is just another test directory. Which is incorrect, thus the hover information is off and VS Code offers commands to Run All tests
Clicking on the error does not take you to Python / Output
Should we introduce some infrastructure for error reporting, or do we maybe already have something @connor4312

The markdown supports command links, could that be used to show error details here?

If you hover on that item you should see the full error details. But I think if we can get a output channel (just like for runs) to report discovery issues that would be great. Since there is already a "Show Output", I think having a way to add discovery errors to that should help with reporting these. /cc @connor4312
Previously we had a custom logging channel that captured both the discovery and run output. Now those two are separated, because there is a way to capture run output for each run.

It seems like the error is pretty large and textual, maybe it should be written and opened in the editor from a temp file (or custom TextDocumentContentProvider)?

If users close it accidentally, that error will be lost right? I feel like it needs to be in the logs. Just need to isolate it from the rest of the python logs. Otherwise it might be to difficult to find the issue.
/cc @luabud

we have completed item 2, there is a potential Connor and I might discuss better error reporting but I think for now im going to close this issue since it is stale (pre python testing rewrite), and will move to the updated conversation happening here: https://github.com/microsoft/vscode-python/issues/22154


Anerdw: Blacklist 0852-1421-034

Anerdw requests the blacklist of the number 0852-1421-034. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by tripleee in Charcoal HQ


Using internal URLs

Hey @erikw,
thanks a lot for the lib ! I'm quite new to jekyll and I'm trying to use your library.
I would like to use the glossary.yml definitions to redirect to internal urls, such as:
- term: GFP
  definition: Global field power
  url:  gfp.md

where gfp.md would be a page of my website (where I can also define permalink:  gfp if needed)
However, in order to link to internal pages, I'm using this solution:
https://stackoverflow.com/a/41213193/7148402
- term: GFP
  definition: Global field power
  url: {{ site.baseurl }}{% link docs/gfp.md %}

But this is not a valid yml file anymore.. and have this error while building:
/github/workspace/vendor/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/load.rb:143:in `parse': (/github/workspace/site/_data/glossary.yml): did not find expected key while parsing a block mapping at line 1 column 3 (Psych::SyntaxError)

see the complete build here: https://github.com/vferat/jekyll_collab_demo/runs/8177180594?check_suite_focus=true
Do you know if your library allow to use variable in the yml file ? If not, did you ever encounter this problem and/or find a workaround ?
Thanks a lot again for the lib and your help !

Hello @vferat, great that you find some use for this plugin!
You are correct in that liquid syntax in the YAML file is not supported. For my own website I've only had the use case for simple URLs so I don't think I've even considered it.
As you can see here the URL is used directly as written in the YAML file without processing (entry["url"]):
https://github.com/erikw/jekyll-glossary_tooltip/blob/d77dddc6c93550b3ae5fa59ebd4551a4901c5b17/lib/jekyll-glossary_tooltip/tag.rb#L33
I can definitely see you use case though and why this would be useful.
To support this the following would be needed:

Quote the liquid tags properly in the YAML file. Examples can be found here: https://documentation.platformos.com/use-cases/using-liquid-markup-yaml
Parse the string as liquid in the context of Jekyll. It's not enough to do  Liquid::Template.parse(entry["url"]) because we want to refer to site as in site.url. I'm not sure how to achieve this part

@vferat actually, I might have fixed it already. Could you please try this branch by changing your entry for using this plugin in your Gemfile to be like this
gem 'jekyll-glossary_tooltip', github: 'erikw/jekyll-glossary_tooltip', branch: '3-embedded-liquid-tags'

and let me know if that works out for you? :-)
You will need to do $ gem install after changing your Gemfile, and maybe $ bundle exec jekyll clean just to be sure the build is clean.

Hey @erikw ,
Thanks a lot for the quick and thorough answer and the quick change in code ! I really appreciate
I tried you recommendations and it works perfectly on my side !
I hope it will be useful to many people
Thank you again,
Victor

@vferat thanks for testing. I've merged the change and made a new release v1.5.0. You can revert you Gemfile to
gem 'jekyll-glossary_tooltip'

or
gem 'jekyll-glossary_tooltip', "~> 1.5.0"


Appsmith design system improvements.

[ ] Search bar should be in the top bar + it doesn’t look completed here.
[ ] “+” icons are taking too much attention and are repetitive in the entity explorer. A light color for the buttons (grey 3 for example). This way they stay visible, but don’t take too much attention. On hover they can get grey 8 color.

[ ] The tabs seem to have an extra line that doesn’t exist in design files

[ ] The height of the dropdown and the URL field are different.

[ ] The color of the inherited headers are wrong

[ ] The fields for inherited headers and other key value pairs are mis-aligned

[ ] There’s no hover state for ‘Add more’ button below the key value pairs(screenshot)

[ ] The three dots beside ‘snippets’ and ‘run’ show an old style menu(screenshot)

[ ] No hover state for ‘edit datasource’ or ‘save datasource’(screenshot)

[ ] The edit datasource page still follows the old styling(screenshot)

[ ] There’s a box that appears inside the field on hovering over the dropdown to select a datasource in the generate page flow. See screenshot 1 and 2.
[ ] The height between the ‘generate page’ and the previous dropdown is too low. (Screenshot)
[ ] There’s a gap between the last item in the entity explorer and the end of the page

.

The debugger filter doesn’t look good.

The canvas demarcation colour look odd to me. The white is merging with the explorer.
Share icon is grey, next to white text.
Active state on API inputs is wrong. Stroke should be visible on all four sides.
The deploy button has a hover state, but the dropdown does not. The dropdown does not feel clickable.
Is the extra line above tabs on api pane required? It's not a part of the tabs component.
Gutter line count on Body component is misaligned.
Still seeing the green dropdown button on Multi-part Body on API pane.
The snippets button has a strange hover state. The icon has a hover state of it's own.
Add Button text is still white, so unreadable on DB Structure.
DB Structure colour needs to be updated to grey/black.


Token build fails.

Build fails with tokens that reference other token values in JSON file. Please take a look at below JSON file.
https://github.com/Danishkhurshid/create-tokens/pull/1/commits/e74e9f17d5fa191292df5dcf58bfd3107eb1cb43

After some debugging. I think the build when values are refrenced as {fontFamilies.display} instead of old notation $fontFamilies.display


Doesn't work anymore on Firefox Developers Edition

Since Firefox Developers Edition 54.0b14 (32bit / Win7) this extension can't be loaded anymore temporary by using "about:debugging". This seems to be a general issue, extension type 256 isn't recognized as a valid type.

You've opened this issue on multiple repos, only one is needed. Please refer to the comments in web-ext-experiments/about#14


Job#getQueryResultsStream fails when passed a startIndex

Environment details

OS:
Node.js version:
npm version:
@google-cloud/bigquery version: latest

Steps to reproduce

Pass startIndex to Job#getQueryResultsStream
First request to populate the stream is successful and starts at the correct index.
Second request fails with When using a page token, you cannot specify an arbitrary startIndex

It seems this is simply because startIndex should be used on the first fetch, and then discarded once page tokens can be used for the next query.

Can you provide the code you're running that produces this error?

Sure!  You can reproduce by simply creating a BigQuery job stream with startIndex. It will work for the first request and start at the right startIndex,  then throw if there's a second page to be fetched in the result set because the library also forwards pageToken in the second request and the server doesn't accept both.
const job = new BigQuery(...).createJob(...);
const stream = job.getQueryResultsStream({ startIndex: 2000 });

for await (const chunk of stream) { // throws on the second page
  // ...
}

Since the library forwards the pageToken cursor parameter on the second request, startIndex becomes obsolete. Therefore, if we use a pageToken from a server response, we can simply discard startIndex.

Hey @steffnay, any progress on this? We currently have to run a fork and would like to get back on HEAD at some point :)


Fix several bugs

Please, check and correct following:

rename the "save" method  to the "create" method  like in others (it concerns such classes as PostController,PostControllerIntTest and  interface PostApi, );
correct javadoc in exception package (at the beginning of class, and set author);
in interface NodeApi and classes NodeServiceRealization, PostServiceRealization and TagServiceRealization optimize imports;
in classes LangType, NodeType add the annotation @SuppressWarnings("unused");
in classes LangType, NodeType and StatusType correct javadoc ("this").

Aproved.


Respect individually option

Hi there again,
opening this PR because I have two issues. One is major and a feature request. I have:
...
package:
  individually: true

JS code is zipped correctly so I have two lambdas. However the serverless-cljs-plugin just packages everything in a zip.
I saw the implementation and it is no handling it. That's ok, is there anything I need to know if I want to tackle this problem?
For instance, there is an index.js there, which is generated. What was the purpose of it?
Thanks a lot for your patience :smile:
PS.: I was able to create a zip with the lumo compiler but I am still finishing it off.

index.js
With this example serverless.yml:
functions:
  abc:
    cljs: example.core/abc

cljs-lambda'll generate an index.js with a function called abc (from this template, or one like it, depending on the optimisation level - see the parent directory), which loads the relevant namespaces and invokes example.core/abc.
Knowing this, the serverless plugin updates the handler in your function's config so it's effectively:
functions:
  abc:
    handler: index.abc

This is because for a variety of reasons it's not practical to instruct the Lambda runtime to load a module of JS that's been directly compiled from cljs, so we have index.js to intermediate.
individually: true
I'm not averse to supporting this, but I'm not sure the effort is worth the reward.  What would you hope to get out of it?

individually: true
I observed what serverless does and it basically just creates two equal zips - same handler.js (say):
-rw-rw-r-- 1 arichiardi arichiardi 15427638 Aug 18 01:58 bunyan-lambda-js.zip
-rw-rw-r-- 1 arichiardi arichiardi      361 Aug 18 01:58 cloudformation-template-create-stack.json
-rw-rw-r-- 1 arichiardi arichiardi     7719 Aug 18 01:59 cloudformation-template-update-stack.json
-rw-rw-r-- 1 arichiardi arichiardi 15427638 Aug 18 01:58 console-stamp-lambda-js.zip
-rw-rw-r-- 1 arichiardi arichiardi  9354994 Aug 18 01:59 logpoc.zip  <-- produce serverless-cljs-plugin
-rw-rw-r-- 1 arichiardi arichiardi    11418 Aug 18 01:59 serverless-state.json

So this might easy to do then, the only concern is when you have both index.js and handler.js...shall we merge the two?

The name handler.js or index.js is arbitrary, it just has to correspond to the prefix of the handler values passed to aws, so it knows which module to load.  With cljs-lambda, the contract is that the module is always called index.js.
While in your example it creates two identical zip files, there are almost certainly per-function options you can set (e.g. include/exclude) in your serverless.yml which would affect the contents of zip files, otherwise the feature would be completely useless.
I'm still not sure I understand the utility of making the change in the context of this plugin.

No sorry I have not explained my concern properly.
At the moment I have:
functions:
  bunyan-lambda-js:
    handler: logpoc.bunyanLambdaJs

  console-stamp-lambda-js:
    handler: logpoc.consoleStampLambdaJs

  bunyan-lambda-cljs:
    cljs: logpoc.core/bunyan-lambda

plugins:
  - serverless-cljs-plugin

So I have a handler.js and the generated index.js. I wonder if the plugin should merge the two, or append them. It does not seem to be confused when I deploy.

Sorry the discussion has derailed a bit, so I guess my question is whether I need to change something in order to have a mixed JS + cljs setup.

I see, apologies for the misunderstanding.  In theory bunyan-lambda-cljs will invoke the handler in index.js, and the other guys will invoke the handlers in handler.js, which is what you want.  Something else may well break though, I haven't tried this.  And it may work for simple setups, but break if you wanted to do some preprocessing on the js code, using babel, or whatever - I would personally have two different projects / serverless.yml files.

I was also wondering another thing about the famous index.js. If it were generated dynamically and not by the template, one could append things to whatever handler.js is there. This would require to parse serverless.yml probably, but I am sure it wouldn't be that complicated.

How much more dynamic could the generation be?  cljs-lambda avoids running any user code, it just invokes the compiler and builds a zip file.  The inputs to the template are obtained by parsing serverless.yml.
The thing about appending to handler.js is a red herring - whatever problems may exist with having js and cljs live side-by-side in a single serverless.yml, they don't have anything to do with index.js vs handler.js.  There is no requirement in serverless or lambda that there's a file called handler.js - you created a file called handler.js, possibly because you were working from an example which used handler.js.  You could rename it to anything you wanted, as long as the handler keys in serverless.yml were updated from handler.xyz to new_name.xyz.  You could even put each handler in a different top-level js module!
If you want this to work, please create a public github repository with a serverless.yml and some js + cljs functions, which doesn't do what you expect when you invoke them after deploying, and I will try to help you with it.

I guess you are right I am overengineering.
Sent from my Android device with K-9 Mail. Please excuse my brevity.


Literal Type and function overloads

Is it possible to allow function overload based on literal type like below?
function getArea(shape: { kind: "circle", radius: number }): number {
    return Math.PI * shape.radius ** 2;
}

function getArea(shape: { kind: "square", size: number }): number {
    return shape.size ** 2;
}

const a = getArea({ kind: "circle", radius: 5 });
const b = getArea({ kind: "square", size: 5 });

Since overloads only have one implementation signature, you'll want this:
function getArea(shape: { kind: "circle", radius: number }): number;
function getArea(shape: { kind: "square", size: number }): number;
function getArea(shape: { kind: "circle", radius: number } | { kind: "square", size: number }): number {
    if (shape.kind === "circle") {
        return Math.PI * shape.radius ** 2;
    }
    return shape.size ** 2;
}

But really, overloads aren't useful here. You should prefer to use a union type when two overloads only differ by parameters and return the same type (i.e. number in this case)
Also, since our repo gets a lot of issues, we encourage questions to be directed to StackOverflow or our Gitter channel.

Thank you @DanielRosenwasser for quick reply although we haven't met.
I am actually suggesting this as a TypeScript language feature to allow function overload based on literal type. It will allow us add a function for rectangle and so on without modifying the if/switch structure. And it likes the pattern matching in Elixir.
function getArea(shape: { kind: "rectangle", width: number, height: number }): number {
    return shape.width * shape.height;
}

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


Detect using the .yesodroutes suffix

.yesodroutes is the recommended file extension (https://github.com/yesodweb/yesod/pull/1686)

Nice, thanks!


Add Javadocs

Added documentation and updated the maven source plugin to its latest version available.

Hey! @cesarsotovalero,
I want to know that can I continue to improve JavaDoc as it is also helping me in understanding the project.
Thank you
Abhay

I want to know that can I continue to improve JavaDoc as it is also helping me in understanding the project.

@ABHAY0O7 Adding documentation in the form of JavaDoc is a form of contribution. And all contributions are welcome, so go on!


Source code preview causes very slow TXT file preview in Explorer

Microsoft PowerToys version
0.75.1
Installation method
Microsoft Store
Running as admin
Yes
Area(s) with issue?
File Explorer: Preview Pane
Steps to reproduce
Enable File Explorer add-ons
Enable Source code files preview
Enable Preview pane in Explorer
Browse a folder and select a TXT file
Instead of the usual instantaneous preview, there is a green "Loading" progress bar for a second or two and then the file is previewed. This occurs even if it's only a 1 character test file. It's orders of magnitude slower than the default preview. It may be less noticeable on high-end rigs, but is painful on a basic laptop, like mine.
Theory: The delay is happening because the source code previewer is checking the file contents to determine what syntax colorizer to use.
Suggestion: Do not handle TXT files. Let Explorer's default previewer handle them. If a file has a TXT extension, it's perfectly OK to display it as plain uncolored text, regardless of content.
Alternative solution: Replace the preview code with faster code. There really should be no delay. For example, I use Notepad2, which syntax highlights all source code, and it's instantaneous on my laptop.
✔ Expected Behavior
Instant preview of text files.
❌ Actual Behavior
Slow preview of text files.
Other Software
No response

Had the exact same issue today. I was blaming the antivirus and Windows 11. Uninstalled the AV didn't change. Uninstalled powertoys, my explorer seems faster and previews are immediate. I suspect powertoys explorer extensions to slow down explorer even outside the preview pane.


featureOverColumns brings all date fields back as null

CartoJS 4 latest version
If you use the featureOverColumns option and give it a field name that is a date column in carto then the data that comes back from the carto API in the grid.json file has null values for anything that is a date.
If I tweak my source.SQL to select a date field as a string like this "to_char(start_date, 'YYYY-MM-DD') as start_date" then it comes back with the correct data.

This issue won't be fixed at Windshaft level (https://github.com/CartoDB/Windshaft-cartodb/issues/946)[https://github.com/CartoDB/Windshaft-cartodb/issues/946#issuecomment-385003198] so the workaround pointed by @gingemonster it's the way to go.

is something going to be added to the documentation to reflect this, otherwise support are likely to get asked this repeatedly

You're right. Added this issue https://github.com/CartoDB/carto.js/issues/2174 to tackle it.


Feature: add icon to the Windows exe file

that would be prettier

It was there in 2.8 release and disappeared sometime afterwards, probably with a change in branding (previously a realistic leaning icon, now a schematic upright one)


Can't access Crypto class

When calling eztz_pocket.crypto.extractKeys("edsk38wgA9MEezJSjs6K1r7bA3JtVpt2ysn6jMizAFrGt9Qqsruw2b") it returns an error, but when you look inside /eztz/src/main.js the method exposed in the class(see below).
After testing eztz.crypto.extractKeys I encountered the same issue. This could be a bug in the EZTZ library. Still debugging and will let you know if I found any more issues.
eztz_pocket = {
  library: library,
  prefix: prefix,
  watermark: watermark,
  utility: utility,
  crypto: crypto,
  node: pocket_node,
  rpc: pocket_rpc,
  contract: contract,
  trezor: trezor,
  tezos : tezos
}; ```

The error I was getting was:
eztz_pocket.crypto.extractKeys is not a function


Translated to Gujarati

ignore first two commits, the one I want merging is "e9fb7be".
"I have created a folder in translations which includes readme from English to Gujarati".

Great, thanks!

Welcome!


how can I add another mounted sub-application?

how can I add another mounted sub-application?
app = FastAPI(
    title='My Versioned API',
    description='Look, I can version my APIs!'
)

subapi = FastAPI()

...

versions = versionize(
    app=app,
    prefix_format='/v{major}',
    docs_url='/docs',
    redoc_url='/redoc'
)

app.mount("/subapi", subapi)

I would like to achieve the following endpoints:
    - /openapi.json
    - /versions
    - /subapi

    - /v1/docs
    - /v1/redoc
    - /v1/do_something
    - /v1/do_something_else

    - /v2/docs
    - /v2/redoc

but app.mount("/subapi", subapi) not work

The mounting functionality is working. However, it seems that the "/subapi/docs" endpoint is not being generated. Nonetheless, I appreciate your efforts in creating this excellent library. Thank you!


Python wrapper

Similar to #16 and #15 we need at least Python 3 wrapper exist.
I've made some code already https://github.com/denismakogon/hotfn-py
Need further testing.

This would  almost done within fdk-python

Closed via https://github.com/fnproject/fdk-python/pull/1


EMERGENCY (sort of): randomprime patcher, malicious?

This is what happens when i try to execute the randomprime patcher, and if i choose to run it anyway, it closes automatically.
i don't know what the issue is, but it was like that the moment i tried to execute it. No threats were detected on download though, and scanning the file shows no threats either.

False alarm: sorry. i realized i could open it in command prompt.


Incorret generated JSON for a model containing a 'set' -> error on validation model

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Hello,
the JSON generated from a model containing a 'set' is not correct.  It is impossible to validate it.
It seems that the generated JSON is not correct:
{'my_set': ['bbb', 'aaa']}

instead of
{'my_set': {'bbb', 'aaa'}}

When I validate the model (with strict mode), I have the following error
Input should be a valid set [type=set_type, input_value=['bbb', 'aaa'], input_type=list]
  For further information visit https://errors.pydantic.dev/2.4/v/set_type

Example Code
from pydantic import BaseModel

class MyObject(BaseModel):
    my_set: set[str]

me = MyObject(my_set={"aaa", "bbb"})

model_as_json = me.model_dump(mode='json')

# validate the model, an error is thrown
model = MyObject.model_validate(model_as_json, strict=True)

Python, Pydantic & OS Version
pydantic version: 2.4.2
        pydantic-core version: 2.10.1
          pydantic-core build: profile=release pgo=true
                 install path: /home/yoann/.local/lib/python3.9/site-packages/pydantic
               python version: 3.9.16 (main, Apr  3 2023, 12:39:37)  [GCC 8.5.0 20210514 (Red Hat 8.5.0-18)]
                     platform: Linux-4.18.0-477.10.1.el8_8.x86_64-x86_64-with-glibc2.28
             related packages: email-validator-2.0.0.post2 typing_extensions-4.7.1 fastapi-0.103.1

{'my_set': {'bbb', 'aaa'}} isn't valid JSON (there's no such things as sets, so pydantic uses arrays instead).
So yes, trying to use model_validate with strict=True will raise a ValidationError because the set was "converted" to an array. Instead, you can do:
model_as_json = me.model_dump_json(mode='json')

model = MyObject.model_validate(model_as_json, strict=True)


SECRET key revealed in User.js

What would you like to share?
The secret key used to sign JWT has been revealed here. It should be moved in .env.
Additional information
No response
🥦 Browser
Google Chrome
👀 Have you checked if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

Are you willing to work on this issue ?
No response

Can I work on this?

i would like to work on this issue

Hmm we need to  Just change the value to process.env.JWT_SECRET wherever we are using the SECRET
And also Delete the line which has the secret value.
@SteveSayantan Will you be working, or should i give this to someone else ?

I would love to!!