Fix Kinesis should not increment throwAway count on EOS record

Fix Kinesis should not increment throwAway count on EOS record
Description
Druid writes a record with the sequence number "EOS" to Kinesis stream when Kinesis stream is re-shard (i.e. number of shard increased). Druid then consume this record (with the sequence number "EOS") and see that it is empty and increment the "throwAway" count. We should not increment the "throwAway" count as the record was generated by Druid and incrementing the "throwAway" count makes it very difficult to determine if any data was actually lost during a resharding event.
This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[x] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[x] added integration tests.
[x] been tested in a test Druid cluster.

LGTM after CI (KinesisIndexTaskTest.testEndOfShard also needs to be updated)

@jon-wei Fixed KinesisIndexTaskTest.testEndOfShard and also ran ITKinesisIndexingServiceSerializedTest (in group=kinesis-index) to verify that the IT pass (I ran locally since Kinesis IT is not run in Travis)


wifiloader has some console.log statements in it

wifiloader.js has some console.log statements on lines 214-216. These should probably be removed in production builds.

@onion2k , are you interested in raising pull request?

@ashutosh1919 I can make PR regarding this

@satyampandeygit , go ahead and create a PR. I will be happy to review.

@onion2k , closing this as it is solved in #7 .


devnet-0

Ship devnet-0 support

dupe of https://github.com/paradigmxyz/reth/issues/7363?

Closing in favor of devnet-1 planning: https://github.com/paradigmxyz/reth/issues/8788


clone and replace non upgraded fixtures

Fixes #518, #505.
PR #506 did provide a fix that worked only when Custom Elements are declared via customElements.define. This PR fixes also the case when they're defined via document.registerElement.
CHANGELOG.md doesn't need an update (is already mentioning the workaround).
This change needs to be shipped in 6.x and 5.x

@rictic feedback incorporated, WDYT?


Translation improvements (es_ES)

@javierllorente is it okay for you if we close this PR since @victorhck already sent changes? Unless you have improvements to the new translation provided by victor.
Let me know and thank you for your contribution.

@victorhck has reviewed my improvements and they are OK now. I am going to create a new pull request.

Done. Pull request: https://github.com/cyntss/opensuse-landing-page/pull/8


Small clarifications

@andresnava : Thanks for your contribution to the Azure documentation! The author, @cgillum, has been notified to review your proposed change.

@andresnava Thanks!

#sign-off


changed per_gpio function arguments to const for more flexibility

I was just trying to something like this:
class ButtonReader
{
public:
    ButtonReader()
    {
        dsy_gpio_init(&leftBttnGpio_);
    }
    // ...
private:
    static constexpr dsy_gpio leftBttnGpio_ = { { DSY_GPIOA, 0}, DSY_GPIO_MODE_INPUT, DSY_GPIO_NOPULL };
};

But it doesn't work because dsy_gpio_init  takes e non-const pointer...
So I though I'd change it to a const pointer and make a pull request.

I changed the function arguments in AdcChannelConfig to const ptrs to be in line with the rest of libDaisy. It also allows to supply nullptr for unused mux pins.
I moved the mux pin initialisation from AdcChannelConfig to AdcHandle. Only the required pins are initialised. I find this more consistent, I hadn't expected AdcChannelConfig to be anything more than a POD struct with some fancy setter functions. Also, you could manually write to the member functions of AdcChannelConfig and your pins wouldn't be initialised.

I don't have hardware yet, please test the changes before merging.

Since this relies on the gpio one (that I already fixed docs for) I can just get both of these in a PR and merge. (I just brought in these changes).
I'm also going to change muxChannels to mux_channels to match the rest of the library's style, and fix a line in daisy_field.h that uses the mux.

As mentioned in #209 I'll lump these two into a single PR with a few minor changes.
Needed this one to test the ADC one. So easiest to merge them at once on my end.
I'll close this once its merged.


in tmux selected text remains hilighted after switching windows (cosmetic)

Linux, X11
When I select some text in a tmux window and I switch windows the selected/inverted block remains.
Thanks for fixing this small knit.
Han

I thought we already had an issue about clearing selection when clicking other windows, but I can't for the life of me find it. So we can just use this to track things.
This should definitely be optional though (none of my applications do it for example) and I think it's pretty much always better to keep it around, since it doesn't really break anything.
I could also see some good arguments to just not bother with this, but gathering some more feedback is probably a good idea. But even if it's going to land, that's probably not going to be anytime soon.


new rule - detect double negatives

if not 1 not in [1,2]: ...

Is this already in scope of some of the flake8 simplify rules? Whether we or those rules handle it properly or not is another question though.


Shorten lastAttributeNameRegex a bit

The Unicode control characters include all space characters except " ". So the attribute name character class doesn't need to include them, they're already part of the \x-\x1F range.

LGTM


Unable to load class 'org.gradle.api.internal.component.Usage'

gradle 失败，下面是log,请问这个这么破
Error:Unable to load class 'org.gradle.api.internal.component.Usage'.
Possible causes for this unexpected error include:

Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)

The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

@naivor
Have your local project recovered? I think the console log gave us some hints.
If you're still in trouble, try ./gradlew clean or ./gradlew cleanBuildCache or restart AS. After that, rebuild your project. I'm not sure but this may help.

Thanks,I have solved this problem! This problem appears because the gradle i used 's  version  is 3.4.1,and   it is  not  compatible with the plugin  'com.novoda:bintray-release:0.4.0' 's  gradle version,when i  upgrade it  to  0.5.0,it  works.

navior solution workout for me in android 3.0 thanks dude

yeah   thanks navior .

it can [https://github.com/novoda/bintray-release](the url to bintray)help you to solve the problem

It souved my problem, thanks


Camera not recording to NFS Share

So I went through the complete process, and all seems to be good. I am able to connect to the camera, and confirmed the NFS share is mounted. However, video is not being recorded to the NFS share. I did confirm the "Continues Recording" option is selected. I can see in the folder "Alarm" images are being recorded so it seems it is not a permissions issue. But I do not see video anywhere. Also, then I go to video playback it shows no video is available. I'm assuming this is user error in some way shape or form but I do not know where to look to resolve. Can someone shed some light on what the issue may be? Thanks in advance.

I have resolved the issue. This was caused by my VPN.

I’m having exactly the same issue w/ no VPN.
I see alarm and time lapse folders created, jpgs go into alarm, but no video files anywhere even though the camera is on continuous recording.  Any ideas?


Read-only Backend

Goal: Sets the backend image's file permissions to read-only in order to prevent unintentional modifications from qemu hotkeys.
Closes #77

This looks good for all images that we retrieve during normal usage. However, if we're building an image from scratch (via transient build) we need to ensure that the image is marked read-only before it is copied to the backend: https://github.com/ALSchwalm/transient/blob/master/transient/build.py#L657


[capture] trimmed capture of VkSurfaceFullScreenExclusiveWin32InfoEXT crashes

Describe the capture bug:
Capture of vkcube modified to add VkSurfaceFullScreenExclusiveWin32InfoEXT and VkSurfaceFullScreenExclusiveInfoEXT causes crash in GFXR
Build Environment:
Windows 10
dev, ed4b4b66da027efc8a4a1897f0ebc8d58be633bc
Capture Settings:
VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_gfxreconstruct VK_LAYER_PATH=$GFXR_ROOT/build/layer/Debug GFXRECON_CAPTURE_TRIGGER=F5  vkcube.exe
To Reproduce:
Apply the attached patch.txt to vkcube
Screenshots:
NA
System environment:
RTX 2070 Super, 551.76
However, crash is in GFXR and appears unrelated to the driver or GPU
Additional information (optional):
Capture succeeds in f6e175620b7fbf7554d60abc06c72a30223e809d
In particular capture succeeds if this line is commented, but that is just for investigation, not a fix:
https://github.com/LunarG/gfxreconstruct/blob/544fb679efa651542c3a1938a8221c2361967083/framework/generated/generated_vulkan_struct_deep_copy.cpp#L15211

For some additional details about the crash, an access violation is raised when a generated struct copy function specifies an opaque handle as the source parameter for a memcpy call.
This commit adds logic to the struct copy code generator to detect these types of opaque objects and avoid attempting to copy them: fb10c2bbc4b88969885389aa0aa58e17bea73049
There are some additional details in the commit message. The commit could be used as a starting point for a fix. There is also an additional consideration, as noted in the commit message, needed for VkPushDescriptorSetWithTemplateInfoKHR::pData, which would require a custom copy routine based on the layout of the descriptor update template.


Adding child elements in C# code behind

Hi,
I have done this in Xaml -
<PancakeView:PancakeView Margin="10"
                        Padding="10"
                        BackgroundGradientAngle="90"
                        BackgroundGradientEndColor="{Binding EndColour}"
                        BackgroundGradientStartColor="{Binding StartColour}"
                        BorderColor="{DynamicResource SecondaryColour}"
                        BorderThickness="0"
                        CornerRadius="15,0,0,15"
                        IsClippedToBounds="true"
                        VerticalOptions="CenterAndExpand">
    <Label HorizontalOptions="CenterAndExpand"
        Text="{Binding Item}"
        TextColor="{DynamicResource White}"
        VerticalOptions="CenterAndExpand" />
</PancakeView:PancakeView>

And im trying to do something similar in c# -
Label label = BreadCrumbLabelCreator(page, false);
label.TranslationX = Application.Current.MainPage.Width;

PancakeView pancakeView = new PancakeView
{
    Padding = 10,
    CornerRadius = new CornerRadius(15)
};
pancakeView.SetDynamicResource(BackgroundColorProperty, "BackgroundColor");

pancakeView.Content = label;

BreadCrumbContainer.Children.Add(pancakeView);

I saw that there is a ChildrenAdded event, but the normal function of view.Children.Add() is missing.

That is because PancakeView inherits from Frame. If you want multiple children in there you will have to wrap them in something like a StackLayout or Grid and assign that to the Content property.

@sthewissen Great thanks.
Didn't know that about frames.

@sthewissen If your interested I incorporated PancakeView into my control. This is the first control that I have open sourced and created a NuGet package for btw :) - https://github.com/IeuanWalker/Xamarin.Forms.Breadcrumb


Select box options have their value displayed instead of the proper name

The HTML
<select class="item-chooser" data-placeholder="Choose an item..." style="width:275px;" tabindex="1">
    <option value=""></option>
    <option data-img-src="data/images/0b6e033b-4207-4a74-a780-5005ef886429.png" value="0b6e033b-4207-4a74-a780-5005ef886429">Charcoal</option>
    <option data-img-src="data/images/2a18a6db-6495-4d0c-8d93-cba648d2523e.png" value="2a18a6db-6495-4d0c-8d93-cba648d2523e">Golden Apple</option>
    <option data-img-src="data/images/3a749f50-1f4a-4039-bb86-d1d2b2fc05e7.png" value="3a749f50-1f4a-4039-bb86-d1d2b2fc05e7">Carrot</option>
</select>

JavaScript:
$(document).ready(function() {
    $(".item-chooser").chosen({});
});

If I try to take a picture of the page using the PrintScreen button, the select box re-renders itself showing Charcoal, Golden Apple and Carrot but the images disappear. Otherwise the UUID in the value attribute is displayed instead of Charcoal or whatever. If I remove the ImageSelect script from my html file, the select box is rendered normally sans the images.
I'm using jQuery 2.2.3, Chosen 1.5.1 and latest IS.

Got the same issue.  A workaround is quite easy.  Edit line #52 in the .js file and change:
text = $(option).val();

to
text = $(option).text();

This will force the option text to be used instead of the value.

Thanks for your contribution @CyberFerret, let me know if you have other issue, UntouchedWagons

If I hit the PrintScreen button while the dropdown is open, the images disappear still.

Isn't that normal CSS behaviour .. try screen capture!


Display Privacy Stats on HTML New Tab Page

Task/Issue URL: https://app.asana.com/0/72649045549333/1208246350498754/f
Tech Design URL: https://app.asana.com/0/481882893211075/1208848285586302
Description:
This change adds support for displaying Privacy Stats on New Tab Page.
Steps to test this PR:

Clean app data and launch the app from Xcode, set internal user state and enable HTML NTP via Debug Menu -> Feature Flag Overrides.
Optionally import bookmarks to have some easily accessible websites for visiting quickly.
Open a new window to have NTP in one window and do web browsing in another.
Visit a website and watch the NTP privacy stats widget reporting blocked trackers.
Expand the widget to see the breakdown of blocked trackers.

Test that reporting multiple blocked trackers concurrently works well:

This is simple because we have a second implementation in place (for the old Privacy Feed) which we can use as a benchmark.
Open multiple websites at the same time (tip: I use right click on bookmarks folder - open in new tabs) and watch the stats get populated.
Use Debug Menu to switch back to native NTP and verify that the number of reported trackers is the same.

Test evicting old stats:

Pro tip: close Outlook app prior to changing system date or it will go crazy with notifications.
Move system date to + 1 day torward.
Visit a website, verify that stats are bumped.
Move system date to +6 days forward (so +7 days in total from now - extra tip: make sure you update month to December or you'll actually move back by 4 weeks 😂). This will cause the first day stats to get deleted.
Visit a website and verify that stats are updated to lower values.
Reset the system date to current.
Visit some websites to populate the stats.
Press fire button and verify that stats are cleared.

Definition of Done:

[x] Does this PR satisfy our Definition of Done?

Internal references:
Pull Request Review Checklist
Software Engineering Expectations
Technical Design Template
Pull Request Documentation

Ran through tests @ayoy and it works great, nice work! 👍🏼


Fixes FUZE-855: adds a restriction info object that the UI can pull if it is present

I didn't add additional null checks, which could be added as tests into AuthorizationsTests.
It felt less clean to ingest the singular test into AccessExpressionTest or AccessEvaluatorTest, but happy to get feedback. I'm new to this particular project so this is kind of a feeler.

I think there's more value in explicitly throwing an error if a user tries to supply a duplicate authorization, rather than silently remove duplicates.

What the behavior should be in this case is very subjective.  My preference would be to dedupe, however I am not opposed to throwing an exception.  One interesting thing is that the behavior is inconsistent between the two public static of() methods.  Currently before this change one method will dedupe while the other throws an exception.  It would be nice to make the two methods have consistent behavior, document the behavior for dupes, and test it.  Whatever change is made, getting it consistent will  be nice.

I think we can just change the API so that the user must provide us with a deduplicated set of authorizations. Then we don't have to worry about it or throw an exception. My suggestion on the issue - https://github.com/apache/accumulo-access/issues/66#issuecomment-1979782116

Created another possible solution in #68 that will either dedupe or throw an exception based on a new input parameter.

These changes look good and re the test location, I think creating the new test class makes sense.
I don't understand the PR description.

Sorry about the description. Copy and pasta error. I'll close this out since @dlmarion submitting a good middle ground.


Deployment failed with err ELIFECYCLE

Describe the bug

A clear and concise description of what the bug is.
I have been trying to deploy a simple react based web app to the Azure static web app via Github actions , but it failed several times responding with error code ELIFECYCLE. As said in official documents and google searches, I have tried deleting package-lock.json and reinstalling npm as well, but it didn't worked.
To Reproduce
Steps to reproduce the behavior:

Go to my github repository : https://github.com/Shruti700/betterbuys
Click on 'Actions/ Build and deploy job'
Scroll down
See error

Azure workflow file:
`name: Azure Static Web Apps CI/CD
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- main
jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_MANGO_BUSH_0A3A34510 }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
action: "upload"
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/" # App source code path
api_location: "" # Api source code path - optional
output_location: "build" # Built app content directory - optional
###### End of Repository/Build Configurations ######
close_pull_request_job:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
name: Close Pull Request Job
steps:
- name: Close Pull Request
id: closepullrequest
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_MANGO_BUSH_0A3A34510 }}
action: "close"`
Expected behavior
It should have deployed without error

Screenshots
If applicable, add screenshots to help explain your problem.
Device info (if applicable):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Looks like it failed to compile? It is important that in the CI environment, warnings are treated as errors. You can manually switch this to false to allow warnings if you'd like.
Relevant logs from your action run:
Treating warnings as errors because process.env.CI = true.
Most CI servers set it automatically.

Failed to compile.

src/components/CheckoutForm/AddressForm.jsx
  Line 41:6:  React Hook useEffect has a missing dependency: 'checkoutToken.id'. Either include it or remove the dependency array                          react-hooks/exhaustive-deps
  Line 49:6:  React Hook useEffect has missing dependencies: 'checkoutToken.id' and 'shippingCountry'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

src/components/CheckoutForm/Checkout/Checkout.jsx
  Line 36:6:  React Hook useEffect has missing dependencies: 'activeStep' and 'history'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

src/components/CheckoutForm/PaymentForm.jsx
  Line 19:20:  'paymentMethod' is assigned a value but never used  no-unused-vars

src/components/Navbar/Navbar.jsx
  Line 2:42:  'MenuItem' is defined but never used  no-unused-vars
  Line 2:51:  'Menu' is defined but never used      no-unused-vars

@Shruti700 Hi! Just wanted to follow up on this issue to see if Mitch's reply helped unblock you or if you are still blocked, since I didn't see much action on this thread!

Hello @mkarmark I did tried to according to Mitch's comment but unfortunately it didn't work. Eventually I switched and directly deployed it through the azure  app services via azure portal. Presently my application is up and running. Thank you and also sorry for my delayed response.


Document manual k8s certificate rotation process

In https://github.com/kinvolk/lokomotive/issues/309 we plan to automate the renewal of k8s certificates. In the meantime, we should document how to rotate the certificates manually.

Perhaps see https://github.com/kubernetes/website/issues/23323 ?

Status update:
I've made some progress. Looks like we have the following covered:

Generate a new k8s CA.
Generate keys and certificates for kube-apiserver and the admin kubeconfig.
Update kube-controller-manager with the new CA information.
Update all SA token secrets with the new CA information.
Update kube-apiserver with the new CA information as well as the new client+server certificate and key.
Update the admin kubeconfig file with the new CA information as well as the client certificate and key.

Following the above the kubelets no longer trust the API server (which makes sense since they don't yet know about the new CA) so things like kubectl logs or kubectl exec aren't working. I'm on it right now.
Things left to do:

[ ] Update kubelets.
[ ] Regenerate aggregation CA and update all relevant services.
[ ] Regenerate etcd CA and update all relevant services (likely just kube-apiserver and etcd).

Ordering seems to matter a lot in the cert rotation process and there are certain times where the user needs to wait for things to converge, which makes scripting the whole thing a bit trickier.
The guide has proved to be very unreliable and not 100% applicable to our use case (because we have a self-hosted control plane). In addition, some code snippets in the guide are broken at the syntax level, which makes me suspect the author hasn't actually tried following the guide...

I've updated the previous comment with the latest status. I'll try to make as much progress as I can on this until the next sprint and then we'll what work is left to do.

Made some progress around making kubelets trust kube-apiserver again after rotating kube-apiserver certs. It doesn't work yet but I have a much better understanding of the moving parts and I think I may have found the right order of operations to rotate the kubelet certs without getting into an unrecoverable cluster state.

My very messy WIP is here: https://github.com/kinvolk/lokomotive/commits/johananl/k8s-cert-rotation
This is the latest state of the notes I've been writing for myself while trying to figure out the correct "recipe" for rotating the certs safely. In case someone else picks this up, please don't treat this document in its current state as a user-facing document or even a developer document as it needs to be completed, organized and cleaned up. Same goes for my "creative" commit messages :slightly_smiling_face:

Note: we should think about a rollback process in case the manual rotation breaks.

I took a stab at understanding how the certificates work as well as how to go about rotating them especially if the CA is also to be rotated. However I eventually got a lot more confused than I expected and hence couldn't make significant progress on this task.
One thing I want to make note of this we should not be doing the certificate creation using the tools(openssl etc) rather we should be utilizing terraform to generate the certificates to make the certificate generation process easier and since we have terraform generating the certificates when the cluster is bootstrapped it only makes sense to utilize further when rotating certs.

Yes @ipochi, this is a tough one.
I've opted for openssl for two reasons:

I was hoping to get a better understanding of how the PKI works at a low level.
I wanted to eventually have a set of commands which can be executed as a script rather than asking the user to follow instructions.

In my experience the tricky part isn't generating the certificates but rather rotating them in a way which doesn't break the cluster. That said, if using Terraform helps in any way, we can go that route of course.

I'll continue with this task.

One thing I want to make note of this we should not be doing the certificate creation using the tools(openssl etc) rather we should be utilizing terraform to generate the certificates to make the certificate generation process easier and since we have terraform generating the certificates when the cluster is bootstrapped it only makes sense to utilize further when rotating certs.

100% agree :+1:
Given the size of this task, I think it's reasonable to break it down into smaller tasks, so we can accomplish it step-by-step. I'll start from this.

Given that private keys do not expire, I think in a first step we can skip rotating them. We should focus on expiring certificates, which may break cluster functionality.
WIP PR which will be BIG: https://github.com/kinvolk/lokomotive/pull/1198.

Closing in favor of #1215


caretPosition is always null when using 'email' type of an input

React-simple-keyboard version
3.0.75
Describe the bug
After 24 hours of searching for the bug, I finally found it! If you use type="email" in the input, caretPosition will always be null. I do not know what this is related to, but it is a critical issue for me.
Codesandbox: https://codesandbox.io/s/react-simple-keyboard-demo-forked-655ue?file=/src/index.js

Hello @phen0menon,
Flagging this as a duplicate of #247. Please check out that issue for details.
Thanks!
Francisco Hodge


Fix can not find source files in CMakeLists.txt

Because the source files are *.cpp, not *.c. This fixes building issue with gradle.

Thanks for the fix. Landing now 👍


Metadata in python dataclass cause warning when transformed to pydantic dataclass

Initial Checks

[X] I confirm that I'm using Pydantic V2 installed directly from the main branch, or equivalent

Description
When I convert a python dataclass that contains fields metadata to a pydantic equivalent, these metadata seems to be passed as extra kwargs to Field constructor, which is deprecated.
I did not find a relevant section in the docs about this behavior. If this is intentional to specify extra field configuration, it should maybe be optional (and maybe scoped in a "pydantic" key inside the metadata dict, to avoid clashing with other user metadata).
Example Code
## Run with python -Wd

from dataclasses import dataclass, field
import pydantic.dataclasses

@dataclass
class Test:
    value: int = field(metadata={'info': 'Some int value'})

PydanticTest = pydantic.dataclasses.dataclass(Test)

test = PydanticTest(value=4)
print(test)

# Outputs:
# .local/venv/lib/python3.9/site-packages/pydantic/fields.py:710: PydanticDeprecatedSince20: Extra keyword arguments on `Field` is deprecated and will be removed. use `json_schema_extra` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.0/migration/
# Test(value=4)

Python, Pydantic & OS Version
pydantic version: 2.0
        pydantic-core version: 2.0.1 release build profile
                 install path: .local/venv/lib/python3.9/site-packages/pydantic
               python version: 3.9.16 (main, Apr 25 2023, 19:52:38)  [GCC 9.4.0]
                     platform: Linux-5.15.0-1041-azure-x86_64-with-glibc2.31
     optional deps. installed: ['typing-extensions']

Selected Assignee: @dmontagu

The value of "extra" (that stored extra kwargs to Field function) at said line 710 is:
{'info': 'Some int value'}


%filename% placeholder for wrap-start end wrap-end

Added %filename% placeholder for wrap-start and warp-end. It's useful when compiling many templates in a single javascript file.

I think #4 would allow you to do this easily, and I think that solution is a bit more flexible.

Works with me :+1: