[WIP] Update bootstrap config to use stats_matcher to filter metrics gen

This PR attempts to reduce the memory and cpu burden imposed on envoy proxies deployed in an Istio mesh by filtering the set of stats that Envoy generates and maintains down to a minimal set that are in-use within Istio today.
Full quantification of the impact is needed, especially at scale. I'm hoping to work with the perf WG on that assessment. @mandarjog has suggested this should be fairly straightforward.
For a rough estimate, I noticed that the number of individual metrics tracked by Envoy for a quiescent basic deployment of the bookinfo app went from 5479 metrics down to 152. I saw a corresponding reduction of ~20M of memory usage by the proxy. I did not attempt to assess latency impact, etc., nor did I look at CPU reduction in Prometheus processes, etc.
A few notes:

This PR does not provide any way to configure stats_matcher bootstrap config, even at install time. I don't know what the best way would be to provide such a feature, but I imagine that this will be desired by some Istio customers. Perhaps in a follow-on.
I did not attempt to remove the existing stats_tag configuration, which may not be need at all with this configuration and could potentially further reduce resource usage.

Marking as a WIP to investigate impact on testing and perf and to allow for more discussion of overall approach/utility.
Related issue: #9942
/hold

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: douglas-reid
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
If they are not already assigned, you can assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-unit-tests

prow/e2e-simpleTests-cni.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-unit-tests

prow/e2e-simpleTests-cni.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-unit-tests

prow/e2e-simpleTests-cni.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-pilot-multicluster-e2e

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-pilot-multicluster-e2e

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-unit-tests

prow/istio-pilot-multicluster-e2e.sh
a223506b7a8b7e1ed9f5ea56ef5c912325445263
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

LGTM, other than for the broken tests expecting empty StringMatcher.
Also, could you refer to the https://github.com/istio/istio/issues/7912 in the commit message? Thanks!

Thanks for the reviews and comments. I'm going to close this in favor the 1.1 version that went in (with proper golden file updates, etc.). Hopefully, that will be merged back to master soon.


feat: rate limit on login api

Fixes: #584
if simultaneous wrong login attempts exceed 5, backend stops checking creds for 5 minutes and gives 1 attempt once every 5 min until right creds are entered.
currently, time and number of attempts are hardcoded, but organizations could be given a choice to customize them.

@MayankMittal1 can you work on this issue instead? https://github.com/casdoor/casdoor/issues/604


[DRAFT] RFC 0014: Binding Injection

readable
This is an early draft open for feedback, but not ratification.

This looks like a good starting point. Using CNB bindings seems like a good idea, but it still forces the app to know about that in some detail. I would like to be able to inject other things to adapt apps from a specific stack to the CNB layout. An init container, and an environment variable are the two examples that come to mind that I have needed to adapt Spring Boot apps to CNB bindings.
I added some comments inline as well.

I would like to be able to inject other things to adapt apps from a specific stack to the CNB layout. An init container, and an environment variable are the two examples that come to mind that I have needed to adapt Spring Boot apps to CNB bindings.

@dsyer injecting other elements is out of scope for this RFC, but is something that should be relatively easy to do by creating other Knative Bindings with a PodSpecable subject.

Closing, as CNB Binding is deprecated in favor of Service Bindings. Will open a new RFC

Updated at #1390


Fix incorrect dependency in prod parquet bucket

There was an incorrect dependency specified in our prod stack for a very long time... it hasn't caused any issues until, apparently, now and is blocking #95 !

Looks like you'll have to fix your tests though...

@thomasyu888 I found a few bugs that were causing inconsistent pass/fail behavior with the unit tests. I filed a separate JIRA here to address. Re-running the tests is enough to get them to pass right now, but addressing that JIRA should provide a fix going forward.


Omnikey 3021 support

Hello, tnx for developing this plugin!
I'm trying to use it to encrypt KeePass db using a self-signed digital id stored on a smartcard.
I'm using Omnikey 3021 to read the sc and SafeSign Token Administration Utility to manage it. I used openssl following to https://www.scottbrady91.com/openssl/creating-rsa-keys-using-openssl to create the digital id (pfx) and successifully imported it to the sc.
But when I go on Browse certificate store, the sc is read (it blinks 3 times) but PIN isn't requested and the Windows Security dialog opens saying no certificate is available.
For testing, I also followed https://www.sonicwall.com/support/knowledge-base/how-can-i-import-certificates-into-the-ms-windows-local-machine-certificate-store/170504615105398/ to import the certificate do Windows local store. I imported it to Current User and then it was found.
Might I be doing anything wrong? Maybe Omnikey isn't supported?

Hello I'm happy that you like the plugin  :)
Do you have those Windows Services running / configured as I have on screenshot?

Because Windows OS uses some common communication so it should work.


Alert user if they've incorrectly capitialized the function name

Currently when the user has a template with a function name and it's incorrectly capitalised they'll be told the symbol doesn't exits.
This PR adds a little bit of extra output to let the user know they should try the capitalised version.
This arose from an issue someone had: https://github.com/stevenjack/cfndsl/issues/82

@howech thoughts?

Looks fine to me.


Cannot read properties of undefined LSTM

It works well in my browser (outside node environment) only with numerical data(arrays) but the string method does not work which returns
Cannot read properties of undefined LSTM.
Any reason why this fails?
Thanks.

It sounds like you forgot to import the LSTM class:
import { recurrent } from 'brain.js'
const net = new recurrent.LSTM()

It sounds like you forgot to import the LSTM class:
import { recurrent } from 'brain.js'
const net = new recurrent.LSTM()

Expanding on LuciferianInk (🤘)'s comment, if you can provide an abbreviated snippet of your code -- at least your imports -- we can get you squared.
But all of the recurrent implementations can be accessed with the above import statement.


no-resolve when retrieving the ARP table

Although this is a very tiny change, when he option no-resolve is not set the results can be quite detrimental: in the context of routers with very long ARP tables combined with slow DNS, sometimes this can take even 8 minutes, which is ridiculous.

Coverage remained the same at 84.524% when pulling 14526790d9b9b08648068804657a3fc84bcd98cb on mirceaulinic:CF-ARP-NO-RESOLVE into 144bef88eff92eae0d501c92954b340b9732bd52 on napalm-automation:develop.


completion without keyboard and no scrolling

Thanks for your great library. I can make good use of it in my project. I have added two - in my eyes - improvements:

Code completion is planned with keyboard using CMD-Space. Not reachable from iPad without keyboard. So I have enabled the intellisense. Not completely happy with it, but still better than without
Disable scrolling of the underlying ScrollView. If onscreen keyboard has popped up, then the CodeView could be moved, which does not make sense.

Please have a look, if you have time.

Seems the intellisense part creates some issues. In the moment have deactivated it in my project.


Optional Tao Text Boxes to be required once tickbox checked

Once ticked the checkboxes under CoderDojo Tao e.g. 'Set up Background Checking for all Mentors' all have a drop down text box so Champions can justify how their Dojo is meeting the condition.
Once a checkbox for Tao is checked it must be required that they fill out this textbox to prove they are completing the step. This requirement needs to be added so you cannot move past the page without adding this justification.

@adhorrig is there any update on this? I know you were looking at requirements on this page recently.

@rosalanghammer still open, i made the page more user-friendly but never submitted a pr for it

@DanielBrierton if we are rebuilding Tao this can be closed. If we are just going to build upon the neverending checkbox page then it needs to remain as this is still a requirement for Tao.

Closing, Tao is being reworked apart from the Start a Dojo process


fcitx5-with-addons: fix not found liblua.so

Signed-off-by: ercao<EMAIL_ADDRESS>Description of changes
fix: when start fcitx5-daemon.service show the not found liblua.so.5.3
E2022-12-05 22:13:53.805405 luaaddonloader.cpp:21] Failed to load lua library: liblua.so.5.3: cannot open shared object file: No such file or directory
E2022-12-05 22:13:53.805440 addonloader.cpp:61] Failed to create addon: luaaddonloader Failed to resolve lua functions.
I2022-12-05 22:13:53.805449 addonmanager.cpp:188] Could not load addon luaaddonloader

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Here is another possible solution for this issue. You can use patchelf in the fixup phase of fcitx5-lua to add lua into its rpath. This method can avoid to edit nix wrapper.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1539


Add support for external Op public key resolution

To be able to verify signatures once Op public keys have rotated, it's necessary for the verifier to consult a log.
This PR adds a wrapper/decorator so that public key resolution can be delegated to a custom function.
It might make more sense to make breaking changes to the provider APIs rather than wrapping like this given we are not at 1.0 yet though.

I'm good with making breaking changes to provider APIs.

Yeah I agree, breaking changes are OK at this stage. What did you have in mind?

Thanks both. Closing for now as clients can just as easily decorate


OCM-12402 | fix: increase hcp cluster readiness timeout

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story (OCM-xxxx):
Fixes #
Change type

[ ] New feature
[x] Bug fix
[ ] Build
[ ] CI
[ ] Documentation
[ ] Performance
[ ] Refactor
[ ] Style
[ ] Unit tests
[ ] Subsystem tests

Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.

/lgtm

/test e2e-presubmits-rosa-sts-advanced-critical-high-presubmit

/test e2e-presubmits-rosa-sts-advanced-critical-high-presubmit


Repository structure for v1.0.0 is not compliant

Removed and then added the new repo.
When trying to install, I get the above error.

With v1.0.1 it is working now.


rapsberrypi-eeprom: Include magic symlinks so command runs

The rpi-eeprom-update commands relies on a default
symlink. This is purely relative and points to critical, but is in fact
published by upstream.
Without this, the rpi-eeprom-update command fails with an error message
and has no help options to make it easy to figure out the magic flags
to get it to do the right thing.

Motivation for this change
My code that updates raspberry pi firmware used to work, this was broken at some point, and this diff fixes it.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Eh? I don't run on stable so I don't have an opinion - the command is basically broken, and it's super simple to backport to stable. I'm also not sure how many people a) run rpi with nixos, and b) update firmware. I guess it might make the wiki a little simpler re: how to update firmware for usb booting.


Update Archlinux PKGBUILD

This is similar to #137 but bumps to 2.8.1. @xatier could you please take a look?
Also I'd like to revisit this comment of yours:

as a side note, when users build the package with the makepkg tool, the pkgver function will be invoked and the variable pkgver will be automatically updated. We don't necessarily need to update this every single commit, but it's nice to have it to be updated once in a while.

What does it mean to me? Is there any action on my part?
Thanks!

I'm traveling at the moment, will review it once I'm back to my computer (next week).

What I mentioned was that for Arch users, when we install this package with the makepkg tool, since this is a VCS-based package, the tool will automatically fetch the latest pkgver (using the bash statement printf "%s" "$(git describe --long | sed 's/\([^-]*-\)g/r\1/;s/-/./g')"). We do not necessarily need to keep this line up-to-date for every commit, but just a nice to have it to be somewhat updated (major versions, for instance).

What I mentioned was that for Arch users, when we install this package with the makepkg tool, since this is a VCS-based package, the tool will automatically fetch the latest pkgver (using the bash statement printf "%s" "$(git describe --long | sed 's/\([^-]*-\)g/r\1/;s/-/./g')"). We do not necessarily need to keep this line up-to-date for every commit, but just a nice to have it to be somewhat updated (major versions, for instance).

Makes sense. Thanks for the clarification!


Strip objectId out of responses from HooksController

Saw this during testing today:
Results from api.parse.com query to /hooks/triggers:
{
  "results": [
    {
      "triggerName": "beforeSave",
      "className": "blah",
      "url": "https://xxx"
    }
  ]
}

Results from parse-server query to /hook/triggers:
{
  "results": [
    {
      "objectId": "57464f6830ba6971a3025cbc",
      "triggerName": "beforeSave",
      "className": "blah",
      "url": "xxx"
    }
  ]
}

Approach seems ok-ish...

Makes sense to me. Can you add a regression test then merge?

[Current coverage][cc-pull] is 91.86%

Merging [#1925][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

File ...uters/HooksRouter.js was modified. more

@@             master      #1925   diff @@
==========================================
  Files            91         91
  Lines          6391       6397     +6
  Methods        1111       1115     +4
  Messages          0          0
  Branches       1338       1338
==========================================
+ Hits           5870       5876     +6
  Misses          521        521
  Partials          0          0

Powered by Codecov. Last updated by [dd1d18d...9699a92][cc-compare]
[cc-base-branch]: https://codecov.io/gh/ParsePlatform/parse-server/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/ParsePlatform/parse-server/compare/dd1d18dbe6623ff98bf73e100d10a952955043ad...9699a928756eafaa9cab8f8366a87b8e57c149de
[cc-pull]: https://codecov.io/gh/ParsePlatform/parse-server/pull/1925?src=pr

Id put it in the hooksController instead of the router no?

Sure, we can do that.

Ok, new codes, much simpler.

@TylerBrock updated the pull request.

@TylerBrock updated the pull request.


Support for ANSI colors in helm/NOTES.TXT

It would be nice to have well printed helm info which is easy to distinguish from the rest helmwave output.
It makes bigger sense when you use helmwave in a pipeline ( e.g. gitlab) that have a lot of output and it is quite hart to see the crux of the actions.
As an option suppose supporting ANSI colors in helm/notes.txt.
The solution is entirely up to you though.

What do you mean by "helm info"?

It is supported


Does keydb work with redisearch?

Does keydb work with redisearch?

in another issues, do all redis modules work with keydb?

Hi @hiqsociety,
In general, KeyDB is compatible with Redis modules, so RediSearch should work.

in general <- can u specify the edge cases where redismodules wont work?

What I mean is that KeyDB is designed to be a drop-in replacement for Redis, and as such is intended to be fully compatible with the Redis ecosystem, including modules. However, bugs can arise from running Redis modules in KeyDB, particularly when modules employ their own threading model which runs alongside KeyDB's threads. The intended behaviour is that all modules run the same in KeyDB as they would in Redis, so if you encounter a bug when using any Redis modules (I'm guessing RediSearch in this case), I encourage you to open an issue so we can fix it.

@hiqsociety to reiterate what Vivek mentioned, we aim to make KeyDB fully compatible with modules.  Note however modules often don't get a speedup with KeyDB, as the threading model is designed to make core operations faster - not modules.


Update FUGR type

suggest using TYPE sy-mandt instead of the ddic data element MANDT

might want to disable the line_length rule for now, and add an option to allow long lines in comments

Here are the interfaces for the FUGR types. I think it is better to discuss about them before I update the object handlers.
I'm not very happy about some comments. Maybe they are too long.

what are the "object handlers"?

Maybe I shouldn't mention them here. They are our intern classes which shall work with our new types.

I updated ABAP Doc to my knowledge so that the titles and descriptions become shorter in some cases


Non-cryptographically secure PRNG use in the OWIN OAuth2 server docs

http://www.asp.net/aspnet/overview/owin-and-katana/owin-oauth-20-authorization-server
Here the GUID is used to generate security tokens.
Instead it should be a cryptographically strong PRNG used, eg RNGCryptoServiceProvider.

@blowdart

This is not an ASP.NET Core issue.
GUIDs are (at least on Windows) generated with input from a secure PRNG.

Combining the fact that this is ASP.NET 4.5 is only one Windows (point 1) and point 2, means this is a non-issue.

https://blogs.msdn.microsoft.com/oldnewthing/20120523-00/?p=7553 and https://blogs.msdn.microsoft.com/ericlippert/2012/05/07/guid-guide-part-three/
But yep, this is the wrong repository.


Page refreshes after submitting form

I'm using react-hook-form as mentioned in shadncn-ui docs and the page keeps refreshing everytime I try to submit the form. Is there anyway I can prevent default behavior of the form ?
"use client";

import { zodResolver } from "@hookform/resolvers/zod";
import { useForm } from "react-hook-form";
import * as z from "zod";

import { Button } from "@/components/ui/button";
import {
  Form,
  FormControl,
  FormDescription,
  FormField,
  FormItem,
  FormLabel,
  FormMessage,
} from "@/components/ui/form";
import { Input } from "@/components/ui/input";

const FormSchema = z.object({
  username: z.string().min(2, {
    message: "Username must be at least 2 characters.",
  }),
});
export default function Home() {
  const form = useForm({
    resolver: zodResolver(FormSchema),
  });

  const onSubmit = (data) => {
    console.log(data);
  };
  return (

      <Form {...form}>
        <form
          onSubmit={form.handleSubmit(onSubmit)}
          className="w-2/3 space-y-6"
        >
          <FormField
            control={form.control}
            name="username"
            render={({ field }) => (
              <FormItem>
                <FormLabel>Username</FormLabel>
                <FormControl>
                  <Input placeholder="shadcn" {...field} />
                </FormControl>
                <FormDescription>
                  This is your public display name.
                </FormDescription>
                <FormMessage />
              </FormItem>
            )}
          />
          <Button type="submit">Submit</Button>
        </form>
      </Form>

  );
}

Are there any errors when this happens either in your server console or browser console? The shadcn components shouldn't cause a pause refresh on their own nor should react-hook-form. From the example code you included, I don't see an issue. Perhaps it is in the configuration of the framework you're using.

Are there any errors when this happens either in your server console or browser console? The shadcn components shouldn't cause a pause refresh on their own nor should react-hook-form. From the example code you included, I don't see an issue. Perhaps it is in the configuration of the framework you're using.

no, no errors..
I am using Next.js v13.5.4, it should work fine, i really don't get it.
Have any other ideas maybe?

I have the same error.
After form submission, the page refreshes itself and appends URL params

I confirm, same error...

Try to create a reduced reproduction on CodeSandbox / JSBin / etc and see if the issue still happens. If it does, then drop it here!

Yes please share a reproducible copy. Thank you.

maybe preventing the default submit event on the form should work:
"use client";

import { zodResolver } from "@hookform/resolvers/zod";
import { useForm } from "react-hook-form";
import * as z from "zod";

import { Button } from "@/components/ui/button";
import {
  Form,
  FormControl,
  FormDescription,
  FormField,
  FormItem,
  FormLabel,
  FormMessage,
} from "@/components/ui/form";
import { Input } from "@/components/ui/input";

const FormSchema = z.object({
  username: z.string().min(2, {
    message: "Username must be at least 2 characters.",
  }),
});
export default function Home() {
  const form = useForm({
    resolver: zodResolver(FormSchema),
  });

  const onSubmit = (data, event) => {
    event?.preventDefault()
    console.log(data);
  };
  return (

      <Form {...form}>
        <form
          onSubmit={form.handleSubmit(onSubmit)}
          className="w-2/3 space-y-6"
        >
          <FormField
            control={form.control}
            name="username"
            render={({ field }) => (
              <FormItem>
                <FormLabel>Username</FormLabel>
                <FormControl>
                  <Input placeholder="shadcn" {...field} />
                </FormControl>
                <FormDescription>
                  This is your public display name.
                </FormDescription>
                <FormMessage />
              </FormItem>
            )}
          />
          <Button type="submit">Submit</Button>
        </form>
      </Form>

  );
}

This is how I managed to replicate it: link

You have to handle the default event from the form which is submission if you add an anonymous function like seen in the Code Sandbox included. The default behavior of a submitted form is to submit the data to the server then refresh the page.
onSubmit={(event) => {
  event.preventDefault();
  form.handleSubmit(onSubmit);
}

@steveafrost doesn't react-hook-form handle e.preventDefault() by default? @AvaYnE2 you don't need the have the onsubmit as a function, the code you've commented is the correct way of handling submit.

It will if you don't pass in an anonymous function. By passing in an anonymous function, the default behavior of a form will execute. If you pass in the react-hook-form method, then the event goes to that method and is handled by react-hook-form – though I can't find it in their documentation that's what I've observed. You can see further discussion in this issue.
Default event passed & prevented by react-hook-form's handleSubmit
onSubmit={form.handleSubmit(onSubmit)}
Default event not passed to react-hook-form's handleSubmit
`onSubmit={() => form.handleSubmit(onSubmit)}
Hope that helps!
This issue should be closed now. It is a non-issue and related to react-hook-form.

Still an issue for me.
onSubmit={(event) => {
  event.preventDefault();
  form.handleSubmit(onSubmit);
}

completely prevents the submission of the form.
Now:
onSubmit={form.handleSubmit(onSubmit)}

submits properly clicking on the submit button. It fails when pressing return. Really weird behavior tbh.

@steveafrost Sorry, I uploaded a bad code snippet. The dual onSubmit was me testing to see if onSubmit would work correctly on the Form component. I edited it to the correct thing.
So, without the two duplicate onSubmit it gives the problem as I described. I basically just copied the example from the docs, changing the form to accept username and password instead.
Thanks  for replying. I hope I can get a resolution to this.

@ronmegg are you sure, you uploaded the correct code? Because I can see the spread operator is (..form) instead of (...form)

@servesh-chaturvedi My mistake, I edited it in place to correct it from earlier.
Please allow me to instead submit the very code example used in the shadcn-ui docs. I have tested it just now, getting the same results.
"use client"

import { zodResolver } from "@hookform/resolvers/zod"
import { useForm } from "react-hook-form"
import * as z from "zod"

import { Button } from "@/components/ui/button"
import {
  Form,
  FormControl,
  FormDescription,
  FormField,
  FormItem,
  FormLabel,
  FormMessage,
} from "@/components/ui/form"
import { Input } from "@/components/ui/input"

const formSchema = z.object({
  username: z.string().min(2).max(50),
})

export function ProfileForm() {
  // 1. Define your form.
  const form = useForm<z.infer<typeof formSchema>>({
    resolver: zodResolver(formSchema),
    defaultValues: {
      username: "",
    },
  })

  // 2. Define a submit handler.
  function onSubmit(values: z.infer<typeof formSchema>) {
    // Do something with the form values.
    // ✅ This will be type-safe and validated.
    console.log(values)
  }

  return (
    <Form {...form}>
      <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
        <FormField
          control={form.control}
          name="username"
          render={({ field }) => (
            <FormItem>
              <FormLabel>Username</FormLabel>
              <FormControl>
                <Input placeholder="shadcn" {...field} />
              </FormControl>
              <FormDescription>
                This is your public display name.
              </FormDescription>
              <FormMessage />
            </FormItem>
          )}
        />
        <Button type="submit">Submit</Button>
      </form>
    </Form>
  )
}

As stated above, the page refreshed and the value of the input is displayed in the address bar as a URL query param: http://localhost:4321/signin?username=testuser.
(also the "use client" at the beginning doesn't actually do anything in Astro, but the code works the same with or without it).

Having this exact same issue https://github.com/shadcn-ui/ui/issues/1758#issuecomment-1837065050 despite having tried different things like proposed here or for dom events in general.

function onSubmit(values: z.infer<typeof formSchema>, event: React.BaseSyntheticEvent | undefined) {
   event?.preventDefault();
   // Do something with the form values.
   // ✅ This will be type-safe and validated.
   console.log(values)
 }

@r25s that should solve it by passing an 'event' extra parameter.

Hi, I'm working on a personal project and I face the same issue. I'm using Astro, Shadcn, Tailwind, Resend, React Hook Form, TypeScript and Zod for this one. It works fine without shadcn, once I try to use the form component, the form submit triggers a page refresh and I got the params in the url.
I tried the solution provided by darul75, it's actually included in the snippet below, but it doesn't change anything.
`import { type FormEvent } from 'react'
import { zodResolver } from '@hookform/resolvers/zod'
import { useForm, type SubmitHandler } from 'react-hook-form'
import { z } from 'zod'
import { Button } from '@/components/ui/button'
import {
Form as ShadcdForm,
FormControl,
FormDescription,
FormField,
FormItem,
FormLabel,
FormMessage,
} from '@/components/ui/form'
import { Textarea } from '@/components/ui/textarea'
import { Input } from '@/components/ui/input'
import { toast } from '@/components/ui/use-toast'
export default function Form() {
const formSchema = z.object({
name: z.string().min(5, { message: 'Name must be at least 5 characters.' }),
email: z.string().email({ message: 'Invalid email address' }),
message: z
.string()
.min(10, {
message: 'Bio must be at least 10 characters.',
})
.max(160, {
message: 'Bio must not be longer than 30 characters.',
}),
})
const form = useForm<z.infer>({
resolver: zodResolver(formSchema),
defaultValues: {
name: '',
email: '',
message: '',
},
})
const {
register,
handleSubmit,
formState: { errors },
formState,
} = useForm()
const onSubmit = async (
data: z.infer,
event: React.BaseSyntheticEvent | undefined,
) => {
event?.preventDefault()
try {
const res = await fetch('/api/sendEmail.json', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>subject: Contact de ${data.name}, ${data.email},
html: data.message,
text: data.message,
}),
})
const r = await res.json()
console.log(r)
} catch (error) {
console.error(error)
}
}
return (
<ShadcdForm {...form}>

<FormField
control={form.control}
name="name"
render={({ field }) => (

Name

<Input placeholder="Your name" {...field} />

)}
/>
<FormField
control={form.control}
name="email"
render={({ field }) => (

Email

<Input placeholder="Your email" {...field} />

)}
/>
<FormField
control={form.control}
name="message"
render={({ field }) => (

Message

<Textarea
placeholder="Your message"
className="resize-none"
{...field}
/>

)}
/>
Submit

)
}
`

Ok, so after some digging, I found out the solution for my case. I had a type import from a dynamic file that was part of the issue, I simply removed it.
After that, I had another problem coming from the Shadcn form.tsx. In fact, I had to add the type to few import: ControllerProps, FieldPath (which was the main problem) and FieldValues.
Now, my whole form is properly working.

On Astro, my resolution was to correctly use a client: directive on the Astro page/component which was responsible for importing the React component. The directive was missing, so my React component/layout was not hydrating, so the handleSubmit was not being called.

i just added the types on import ControllerProps, FieldPath, FieldValues, from 'react-hook-form'
import {     Controller,     type ControllerProps,     type FieldPath,     type Field Value,     Form Provider,     useFormContext, } from "react-hook form";
and it solved for me

i just added the type on import ControllerProps, FieldPath, FieldValues, from 'react-hook-form'
import { Controller, type ControllerProps, type FieldPath, type Field Value, Form Provider, useFormContext, } from "react-hook form";
and it solved for me

I have tried this but does not work for me unfortunately.
Keeps refreshing all the time

I had the same issue. I had 2 forms within my component tree. and outter form works well and for the inner one it will refreash the page.
Just use 2 different names for forms
const firstForm = useForm({
resolver: zodResolver(FirstShema),
});
const secondForm = useForm({
resolver: zodResolver(SecondShema),
});
Don't know exact reason. But worked for me. Hope this will help someone.

I have tried all the solutions above and also searched on the internet for a solution, but nothing so far has worked for me. If someone has solved this or can help me, I would be very thankful. While I am testing errors, such as the 'Email already in use' one in my code, the page only refreshes on the first submit. All the submissions after that work as expected, without refreshing:
'use client';

import { useState } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { useForm } from 'react-hook-form';
import { useToast } from '~/components/ui/use-toast';
import { useRouter } from 'next/navigation';
import { CreateUserInput, createUserSchema } from '~/lib/user-schema';
import { Button } from '~/components/ui/Button';
import { Input } from '~/components/ui/Input';
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '~/components/ui/Card';
import { Form, FormControl, FormDescription, FormField, FormLabel, FormMessage } from '~/components/ui/Form';
import Link from 'next/link';
import { cn } from '~/lib/utils';
import { signup } from '~/app/(auth)/actions';

const RegisterForm = () => {
  const [isPending, setIsPending] = useState(false);
  const { toast } = useToast();
  const router = useRouter();

  const form = useForm<CreateUserInput>({
    resolver: zodResolver(createUserSchema),
    defaultValues: {
      name: '',
      email: '',
      password: '',
      passwordConfirm: '',
    },
  });

  const { reset, handleSubmit } = form;

  const onSubmitHandler = async (values: CreateUserInput) => {
    setIsPending(true);
    const result = await signup({
      form: values,
      // emailRedirectTo: `${location.origin}/auth/callback`,
    });
    setIsPending(false);

    const { error } = result;

    if (error?.message) {
      toast({
        variant: error.message === 'Email verification pending. Check your email.' ? 'warning' : 'destructive',
        title: 'Error',
        description: error.message,
      });

      if (error.message === 'Email already in use. Try a different one or sign in.') {
        reset({
          name: values.name,
          email: '',
          password: values.password,
          passwordConfirm: values.passwordConfirm,
        });
      } else {
        reset({
          name: values.name,
          email: values.email,
          password: '',
          passwordConfirm: '',
        });
      }

      return;
    }
    toast({
      variant: 'success',
      title: 'Account created!',
      description: 'Please check your email to verify your account',
    });
    router.push('/login');
  };

  return (
    <Card className='mx-auto w-96 max-w-sm' data-aos='fade-down' data-aos-duration='1000'>
      <CardHeader>
        <CardTitle className='text-2xl'>Sign Up</CardTitle>
        <CardDescription>Enter your information to create an account</CardDescription>
      </CardHeader>
      <CardContent>
        <Form {...form}>
          <form onSubmit={handleSubmit(onSubmitHandler)} className='space-y-4'>
            <FormField
              name='name'
              render={({ field }) => (

                  <FormLabel>Name</FormLabel>
                  <FormControl>
                    <Input id='name' placeholder='Your Name' required {...field} />
                  </FormControl>
                  <FormMessage />

              )}
            />
            <FormField
              name='email'
              render={({ field }) => (

                  <FormLabel>Email</FormLabel>
                  <FormControl>
                    <Input id='email' type='email'<EMAIL_ADDRESS>required {...field} />
                  </FormControl>
                  <FormMessage />

              )}
            />
            <FormField
              name='password'
              render={({ field }) => (

                  <FormLabel>Password</FormLabel>
                  <FormControl>
                    <Input id='password' type='password' required {...field} />
                  </FormControl>
                  <FormMessage />

              )}
            />
            <FormField
              name='passwordConfirm'
              render={({ field }) => (

                  <FormLabel>Confirm Password</FormLabel>
                  <FormControl>
                    <Input id='passwordConfirm' type='password' required {...field} />
                  </FormControl>
                  <FormMessage />

              )}
            />
            <Button className={cn('w-full', isPending ? 'cursor-not-allowed' : '')} disabled={isPending} type='submit'>
              {isPending ? 'loading...' : 'Create an account'}
            </Button>

              Already have an account?{' '}
              <Link href='/login' className='underline'>
                Sign in
              </Link>

          </form>
        </Form>
      </CardContent>
    </Card>
  );
};

export default RegisterForm;

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.

I encountered the same issue. Initially, I couldn’t submit the form, and when I was finally able to, the page started to reload and add values to the query.
Fix: I was setting the default value of the form from a prop. Later, I realised that an attribute wasn’t receiving the correct value.


Operator repeatedly reconciles the Grafana service

Hello,
I'm trying to use the grafana-operator (v3.0.1), with a NodePort-type service, and it appears that the operator is repeatedly updating the grafana-service. Here's a 1 sec output to demonstrate the issue:
zvic@zvic-vbox:~/Workspace/decorus-operator (master)$ kubectl get service grafana-service --watch
NAME              TYPE       CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
grafana-service   NodePort   <IP_ADDRESS>   <none>        3000:32303/TCP   2m39s
grafana-service   NodePort   <IP_ADDRESS>   <none>        3000:31420/TCP   2m39s
grafana-service   NodePort   <IP_ADDRESS>   <none>        3000:32676/TCP   2m39s
grafana-service   NodePort   <IP_ADDRESS>   <none>        3000:32281/TCP   2m39s
grafana-service   NodePort   <IP_ADDRESS>   <none>        3000:31193/TCP   2m39s
grafana-service   NodePort   <IP_ADDRESS>   <none>        3000:31160/TCP   2m39s

(Note the repeatedly changing NodePort assignment which obviously renders it useless).
Watching with -o yaml confirms that the only changing bits in the service are the spec.ports[].nodePort, as well as the resourceVersion.
Looking at the operator log, here's what I see (excerpt, the 0-6 actions and "desired cluster state met" message repeat forever):
zvic@zvic-vbox:~/Workspace/decorus-operator (master)$ kubectl logs grafana-operator-66b44cd969-th8wm | head -n50
{"level":"info","ts":1577623864.9680684,"logger":"cmd","msg":"Go Version: go1.13.5"}
{"level":"info","ts":1577623864.968354,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1577623864.9684932,"logger":"cmd","msg":"operator-sdk Version: v0.12.0"}
{"level":"info","ts":1577623864.9685607,"logger":"cmd","msg":"operator Version: 3.0.0"}
{"level":"info","ts":1577623864.9689298,"logger":"leader","msg":"Trying to become the leader."}
{"level":"info","ts":1577623865.4359303,"logger":"leader","msg":"No pre-existing lock was found."}
{"level":"info","ts":1577623865.4416497,"logger":"leader","msg":"Became the leader."}
{"level":"info","ts":1577623865.8979354,"logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
{"level":"info","ts":1577623865.8982437,"logger":"cmd","msg":"Registering Components."}
{"level":"info","ts":1577623865.9006953,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"grafanadatasource-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1577623865.9013271,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"grafana-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1577623865.9015782,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"grafana-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1577623865.901804,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"grafana-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1577623865.9020362,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"grafana-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1577623865.902183,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"grafana-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1577623865.9024515,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"grafana-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1577623866.414084,"logger":"metrics","msg":"Metrics Service object updated","Service.Name":"grafana-operator-metrics","Service.Namespace":"default"}
{"level":"info","ts":1577623866.4142244,"logger":"cmd","msg":"Starting the Cmd."}
{"level":"info","ts":1577623866.8737087,"logger":"controller-runtime.controller","msg":"Starting EventSource","controller":"grafanadashboard-controller","source":"kind source: /, Kind="}
{"level":"info","ts":1577623866.873995,"logger":"controller_grafanadashboard","msg":"Starting dashboard controller"}
{"level":"info","ts":1577623866.874477,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
{"level":"info","ts":1577623866.9749553,"logger":"controller-runtime.controller","msg":"Starting Controller","controller":"grafanadashboard-controller"}
{"level":"info","ts":1577623866.9760575,"logger":"controller-runtime.controller","msg":"Starting Controller","controller":"grafanadatasource-controller"}
{"level":"info","ts":1577623866.9760916,"logger":"controller-runtime.controller","msg":"Starting Controller","controller":"grafana-controller"}
{"level":"info","ts":1577623867.0785172,"logger":"controller-runtime.controller","msg":"Starting workers","controller":"grafanadashboard-controller","worker count":1}
{"level":"info","ts":1577623867.0785792,"logger":"controller-runtime.controller","msg":"Starting workers","controller":"grafanadatasource-controller","worker count":1}
{"level":"info","ts":1577623867.0786958,"logger":"controller-runtime.controller","msg":"Starting workers","controller":"grafana-controller","worker count":1}
{"level":"info","ts":1577623867.0787594,"logger":"controller_grafanadashboard","msg":"no grafana instance available"}
{"level":"info","ts":1577623867.0789087,"logger":"controller_grafanadashboard","msg":"no grafana instance available"}
{"level":"info","ts":1577623867.0789275,"logger":"controller_grafanadashboard","msg":"no grafana instance available"}
{"level":"info","ts":1577623867.1853034,"logger":"action-runner","msg":"(    0)    SUCCESS update admin credentials secret"}
{"level":"info","ts":1577623867.1995697,"logger":"action-runner","msg":"(    1)    SUCCESS update grafana service"}
{"level":"info","ts":1577623867.203105,"logger":"action-runner","msg":"(    2)    SUCCESS update grafana service account"}
{"level":"info","ts":1577623867.2066414,"logger":"action-runner","msg":"(    3)    SUCCESS update grafana config"}
{"level":"info","ts":1577623867.2066796,"logger":"action-runner","msg":"(    4)    SUCCESS plugins unchanged"}
{"level":"info","ts":1577623867.2180324,"logger":"action-runner","msg":"(    5)    SUCCESS update grafana deployment"}
{"level":"info","ts":1577623867.2180629,"logger":"action-runner","msg":"(    6)    SUCCESS check deployment readiness"}
{"level":"info","ts":1577623867.235129,"logger":"grafana-controller","msg":"desired cluster state met"}
{"level":"info","ts":1577623867.2416759,"logger":"action-runner","msg":"(    0)    SUCCESS update admin credentials secret"}
{"level":"info","ts":1577623867.2580156,"logger":"action-runner","msg":"(    1)    SUCCESS update grafana service"}
{"level":"info","ts":1577623867.2635689,"logger":"action-runner","msg":"(    2)    SUCCESS update grafana service account"}
{"level":"info","ts":1577623867.2675772,"logger":"action-runner","msg":"(    3)    SUCCESS update grafana config"}
{"level":"info","ts":1577623867.2676094,"logger":"action-runner","msg":"(    4)    SUCCESS plugins unchanged"}
{"level":"info","ts":1577623867.2779772,"logger":"action-runner","msg":"(    5)    SUCCESS update grafana deployment"}
{"level":"info","ts":1577623867.278476,"logger":"action-runner","msg":"(    6)    SUCCESS check deployment readiness"}
{"level":"info","ts":1577623867.2840967,"logger":"grafana-controller","msg":"desired cluster state met"}

Also, here's my Grafana resource definition:
zvic@zvic-vbox:~/Workspace/decorus-operator (master)$ kubectl get grafana decorus-grafana -o yaml
apiVersion: integreatly.org/v1alpha1
kind: Grafana
metadata:
  creationTimestamp: "2019-12-29T16:04:04Z"
  generation: 1
  name: decorus-grafana
  namespace: default
  resourceVersion: "3044624"
  selfLink: /apis/integreatly.org/v1alpha1/namespaces/default/grafanas/decorus-grafana
  uid: 9acfae0f-cd8a-4d28-b9ec-a308e6033049
spec:
  compat:
    fixAnnotations: false
  config:
    auth.anonymous:
      enabled: true
    log:
      level: info
      mode: console
    security:
      admin_password: <REDUCTED>
      admin_user: admin
  dashboardLabelSelector:
  - matchLabels:
      decorus.name: decorus0
      decorus.namespace: default
  ingress: {}
  service:
    type: NodePort
status:
  adminPassword: ""
  adminUser: ""
  dashboards:
    default:
    - hash: 63f1d501cd64827e2c1a092062cddd70
      name: decorus-grafana-dashboard-main
      namespace: default
      uid: YfOSvD2Wz
    - hash: a2b33ac2b3d48a3dab851833bf1ef2f3
      name: decorus-grafana-dashboard-signal
      namespace: default
      uid: ujkoT0cZz
    - hash: e6ce0b223ef889455cd0dd8cf8c0bd26
      name: decorus-grafana-dashboard-interval
      namespace: default
      uid: HgJBLKhZk
  failedPlugins: null
  installedPlugins: null
  message: success
  phase: reconciling

Any help is appreciated :-)

Hey @zcahana , i found the issue: when the operator updates the service it doesn't assign the existing node port which forces Kubernetes to assign a new now. I have a fix for this which allows creating node port services. I saw a new issue where, if you don't create a route/ingress, the operator can't access the Grafana API through the node port service, still looking into that now.

@zcahana Should be ok now. Can you please try the tag fix-node-port (see https://quay.io/repository/integreatly/grafana-operator?tab=tags)? It should fix the problem and allow you to create a node port service.

I had the same problem and the fix-node-port tag worked for me

I can confirm too that the fix-node-port seems to fix the problem. I can now successfully access Grafana via the assigned NodePort.

Thanks for verifying the fix @zcahana and @evq


[GSSOC]: need proper alignment to map

On the right side, there should be a margin, pls assign this to me

I think adding a right-margin will reduce the viewing area of the map.
this screen width (1024px) is of "iPad pro" device

working


The trace file generated with pin is not available

Hello, thanks for the amazing work😊
I use pintenet to generate trace.log for calc.exe, but the trace.log looks like can't work.
I did the following:
ps: windows 10 + IDA 7.5 + pin 3.18
1、download pin and pintenet.dll/pintenet64.dll;
2、in a CMD execute:
pin\pin.exe -t pintenet.dll -w calc.exe -o "calc" -- "C:\Users\ml\Desktop\software\pin\calc.exe"
After successful execution, nothing is displayed on the CMD
3、a file named calc.0.log generated,the size of it is 988k
4、load the calc.0.log in IDA, The interface looks like this：

when I scroll while hovering over the timeline on the right side of the disassembler，
The code doesn't move forward or backward with it.
I did the same thing for BoomBox.exe, and it's trace file is available.
so I thought maybe there was something wrong with the trace files for calc.exe.

First, the problem here is most likely that the imagebase of the calc.exe that you traced does not match the calc.exe that you have loaded in IDA. You either need to rebase the executable in IDA to match that of your trace, and / or disable ASLR on the target binary so all traces will yield the same imagebase going forward.
Second, it is pretty easy to end up off in 'limbo' like you picture above when exploring an unfiltered trace. What is happening here is that Tenet is trying to navigate IDA to an address that is not actually loaded in the database. This is what happens when you try to 'step' into a function call to kernel32.exe, for example. Since that code / library is not mapped into the database, Tenet can't really 'navigate' to a suitable location.
There's definitely ways I can improve both of these behaviors by default, but they did not make it into the initial release. The project will need some time to mature before some of the rough edges like this can be smoothed out.

First, the problem here is most likely that the imagebase of the calc.exe that you traced does not match the calc.exe that you have loaded in IDA. You either need to rebase the executable in IDA to match that of your trace, and / or disable ASLR on the target binary so all traces will yield the same imagebase going forward.
Second, it is pretty easy to end up off in 'limbo' like you picture above when exploring an unfiltered trace. What is happening here is that Tenet is trying to navigate IDA to an address that is not actually loaded in the database. This is what happens when you try to 'step' into a function call to kernel32.exe, for example. Since that code / library is not mapped into the database, Tenet can't really 'navigate' to a suitable location.
There's definitely ways I can improve both of these behaviors by default, but they did not make it into the initial release. The project will need some time to mature before some of the rough edges like this can be smoothed out.

Thanks very much for your prompt reply
After I rebase the executable in IDA to match the  trace , it works.
And I also test another .exe，it also works too.
That's great. That's really helpful for static analysis. Thank you very much.😁

When loading your project, enabling the manual load option and entering the base address manually can synchronize the project with the log file.

This should mostly be resolved now by the following:
4902141df6bcffecdb5392c3aaf4d0d67cf98671 / 3511e9d745835b3f40d755633b733cb26d2a6aeb / 2155f0f47083eaf168af786e9367bde163989716
It's not perfect, but should at least be better than what Tenet currently does.
I'm hoping to finish up cleaning up the development branch and merge to master as v0.2 in the next day or two.


bmp180: promote to stable; fix bug in bme280

bme280: fix hang in Halt() if SenseContinuous() listener is hung.
bmp180: Add unit tests; increase test coverage to 96%.
bmp180: Remove Reset(). There's no known use case.
bmp180: Implement SenseContinuous().
Consistently wrap errors in both packages.
Various typos.

Codecov Report

Merging #152 into master will increase coverage by 1.2%.
The diff coverage is 94.44%.

@@            Coverage Diff            @@
##           master     #152     +/-   ##
=========================================
+ Coverage   84.63%   85.83%   +1.2%
=========================================
  Files          61       61
  Lines        4854     4906     +52
=========================================
+ Hits         4108     4211    +103
+ Misses        672      621     -51
  Partials       74       74

Impacted Files
Coverage Δ

devices/bme280/bme280.go
99.22% <100%> (+0.04%)
:arrow_up:

devices/bmp180/bmp180.go
93.6% <92.68%> (ø)

host/cpu/cpu.go
85.71% <0%> (+3.57%)
:arrow_up:

Continue to review full report at Codecov.

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


Dependencies, that have react-native as a peerDependency, resolve to the wrong version of react-native

Thanks for such a great monorepo setup
It works great out of the box, but as soon as i started to add dependencies, that use react-native, it stopped working for me.

mobile(depends on react-native@0.65.1)/reanimated/react-native => resolves to<EMAIL_ADDRESS>tv(depends on react-native-tvos@0.64.2)/reanimated/react-native => resolves to<EMAIL_ADDRESS>instead of<EMAIL_ADDRESS>
I tried all combination of nohoist and resolutions, but i was not able to set version of nested react-native dependency of dependencies of platforms. Any hints?

@todorone Looks like this is exactly problem I described above. I briefly looks at solving this problem.
And I'm sure there is no solution (hope to be wrong).
The only way to fix this is to use postinstall script which will delete all react-native packages under nested node_modules - this will require node to look react-native in above folders, thus it could find correct version.

here is nice and easy metro.config alternative to work with yarn v1.
https://gist.githubusercontent.com/Titozzz/66a5fce69cfbf93e488350551454aa7c/raw/b689adb35310fb5bb09d501fe18c4d235b6c091e/metro.config.js
Took from this article https://engineering.brigad.co/react-native-monorepos-code-sharing-f6c08172b417

@serge-sky , yeah, seems similar to the fix I mentioned above 👍 PRs to the monorepo tools are welcome!

Share my experience with yarn v3. It works great, everything is smooth, even consuming native dependencies. Until today I was very happy.
But today I tried to patch native dependency which uses JSI C++ code https://github.com/ospfranco/react-native-quick-sqlite and it's completely broken.
Native dependencies require exact package location (since they require native parts in C++ using "../../react-native/..." paths).
Symlinking them makes packages broken (they can't find react-native using these paths since packages are symlinked).
And Yarn v3 gives no control on how to fix this.
https://github.com/ospfranco/react-native-quick-sqlite/blob/e736497166481bbb14a6a9da1df6691ccbee1204/android/CMakeLists.txt#L37
But the story is even worse 😢  I can't even switch back to yarn classic for the exact repository.
Even if I directly clone<EMAIL_ADDRESS>by npm pack and run node ./yarn.js -- --version it gives incorrect (globally installed) version 3.0.2. So yarn v3 completely broke everything in that regard. Of course, neither I can easily switch back to yarn classic completely 😠 (since using yarn v3 features).
I just can't now develop native code (the happy part it's not mandatory for me).


Time-Shifting computation

add the possibility for a user to indicate that a job/workflow can be scheduled "later"
will save this flag in the database

figure out if we can re-use the "hold jobs" logic we already have in the admin-panel

jobs (and the workflow scheduler) will respect this flag and skip scheduling
an external script, with some logic for (carbon, and price ...) will then remove this flag when appropriate
this will lower the impact of logic we need to keep in Galaxy

Can this be simplified if we define a "reduced environmental impact" destination which job/workflows can be assigned to?

Hi guys, Paul suggested I comment on this issue. I started developing an API/service which allows time and location shifting the computation and have some ideas specifically designed for bioinformatics pipelines. Right now we have a prototype implementation of a web API.
The API allows users to request an optimal time frame for a computation given certain parameter (%renewable energy required at run time, estimated run time of the job, hard deadline). We are currently working on extending the prediction horizons, which are not yet great for commercial tools (less than 24h depending on the data source). Based on the time we also have a prediction endpoint for the location.
I'd be extremely happy to get involved and talk about the specific requirements for galaxy.
There are also several similar projects, like electricitymaps.com, who report on the carbon intensity, a score for how 'dirty' the electricity is.
And there is the carbon-aware sdk from microsoft, which has a new version with an API https://github.com/Green-Software-Foundation/carbon-aware-sdk, although they interface electricitymaps (24h) and WattTime for the US.

@AnneHartebrodt awesome.

I think in terms of logic for the scheduling there are several options and it would make sense.

Have a specific queue for green jobs. (that is probably a proper scheduling problem)
upscale and downscale the number of available nodes depending on the energy availability.

We could do both. Upscaling and Downscaling might have an impact on the hardware, at least if we really power off the nodes. But we have no experience about the actual impact.
We do have a carbon footprint prediction for jobs (https://galaxyproject.org/news/2023-07-11-carbon-emissions-reporting/) and one of the next steps would be to tie this to scheduling and any input is super valuable for us :)
If you want to visit us we have a small meeting in October: https://galaxyproject.org/events/2023-10-egd/
Otherwise, we can have a small telco :)

related: https://htcondor.readthedocs.io/en/latest/users-manual/time-scheduling-for-job-execution.html

@bgruening. Excellent. I will join the meeting!

Great news! See you soon!

Hi! I just wanted to let you know that I am organizing a BoF on this topic during the European Galaxy Days. Just get in touch with the organizers or drop me a message or email to get more info when the dates get closer.

@sebastian-luna-valero shared this github repo in WP4: https://github.com/GreenScheduler/cats

FYI, another interesting option: https://github.com/mlco2/codecarbon


#163 add children rendering to banner

Wanted to be able to render html / other design system components inside a banner instead of just passing in text. Didn't remove any functionality, only added.
before: <Banner text='Lorem ipsum' />
after: <Banner> **go crazy** </Banner>

Codecov Report

Merging #166 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #166   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          31     31
  Lines         357    357
=====================================
  Hits          357    357

Impacted Files
Coverage Δ

src/Banner.js
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@jes708 does everything look ok? added your commit

Awesome, looks great! Thanks for putting this together!


Preload 404 navs

fixing two issues where a preload not found was not redirecting to the 404 page.
Also have to fix two more issues I found with nav
/support/asdfasdfa gives a Cannot read property '_replies' of undefined
error message
and clicking on NodeBalancers from the 404 page gives
Cannot read property 'configs' of undefined
Cannot read property '_configs' of undefined
sometimes
I'll submit commits with fixes for these two in the same PR. Hopefully.
closes #1209

Coverage remained the same at 83.185% when pulling d7040fb597c544e42cbb78a2d47a26c7edabc553 on abemassry:preload-404-navs into ef8ec5e5de9901ff8df9b12b1699041d798fdc9b on linode:master.

Coverage increased (+0.005%) to 83.19% when pulling b74c93035c315c57cbea0df56c9c8f9fd5aed177 on abemassry:preload-404-navs into ef8ec5e5de9901ff8df9b12b1699041d798fdc9b on linode:master.

Coverage decreased (-0.1%) to 83.086% when pulling 64507cb444a9bfc581be8348b917d983531e7520 on abemassry:preload-404-navs into ef8ec5e5de9901ff8df9b12b1699041d798fdc9b on linode:master.


⚠ Bofrost.at has degraded performance

In ab0f57b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1974 ms

Resolved: Bofrost.at performance has improved in 76801da after 6 minutes.


fine-uploader-new.css filename is not descriptive enough

Type of issue

[ ] Bug report
[x] Feature request

Uploader type

[x] Traditional
[x] S3
[x] Azure

Note: Support requests cannot be accepted due to lack of time.

Bug Report
File `fine-uploader/fine-uploader-new.css` has a bad name. "new" word does not describes what this file implements.
Fine Uploader version
5.5.1
Detailed explanation of the problem
File fine-uploader/fine-uploader-new.css has a bad name. It should describe better what differences this from other css files.  "new" word becomes obsolete as soon as another theme is implemented. Even if no new themes are implemented, new word feels weird.

Give a more descriptive name to this file
Feature request details
Documentation states to use this file if one wants to use a "Row based UI" so maybe fine-uploader-row.css would be a better name.

Updating th documentation to point at this specific file is sufficient. Changing the name of the file would be a breaking change and that isn’t appropriate for something this minor.

May be then this can be planned for a major version bump?

I don’t think that is necessary or prudent. Again, I think a documentation update is best. In a major version release, only critical or exceptionally useful breaking changes should be introduced.

I respect your decision, but then, how will you name a new possible template? fine-uploader-new-2.css?
Easy of usage is an important topic and good naming goes with it.
Just my opinion.

I don’t expect to ever create another template


Trying to install nodejs 4.x or 5.x results in error

TASK: [geerlingguy.nodejs | Ensure Node.js and npm are installed.] ************
failed: [local.sandbox] => {"failed": true}
msg: Could not fetch updated apt files

I have tried using:

5.5.0
5.x
4.2.6
4.x

When I ssh into the machine and do node --version, it reports 0.12.9.
How can I get the latest stable version running inside of the VM?

The geerlingguy.nodejs role uses the Nodesource binary sources, so you should be able to set 4.x, 5.x, 0.12, or 0.10 without issue. However it only installs once, and after that if you want to change versions inside the VM, you can either do so manually by installing nvm and switching on the fly, or you have to reset things by hand.
Is this on a fresh VM provision, or are you reprovisioning an existing VM that was built with 0.12?

SSHing in and removing it, then specifying the version as 4.3.0 worked. Rpeating that and trying 5.6.0 did not work.
If I removed it, then did sudo apt-get install in the VM instead of the config.yml, 5.6.0 installs successfully.
I also noticed that on provisioning, npm isn't always installed... and I get this error:
TASK: [geerlingguy.nodejs | Add NodeSource repositories for Node.js.] *********
ok: [local.d8contrib] => (item=deb https://deb.nodesource.com/node_4.x trusty main)
ok: [local.d8contrib] => (item=deb-src https://deb.nodesource.com/node_4.x trusty main)

TASK: [geerlingguy.nodejs | Ensure Node.js and npm are installed.] ************
failed: [local.d8contrib] => {"failed": true}
msg: Could not fetch updated apt files

When I SSH into the VM, it reported npm as not being installed... and then reported node as not being installed, even though previously it had installed it.
Is there something funky in the nodejs role? My success rate on getting it installed is low, whereas from command line the VM will get and install NodeJS 5.6.0 without an issue.

See also: https://github.com/geerlingguy/ansible-role-nodejs/pull/16

Whats the solution here? Is this an upstream issue? I get the task failed on every run now.

There might be an upstream task, but for here we need to at least document it better.

The advanced options for Node.js are documented in that role (https://github.com/geerlingguy/ansible-role-nodejs#role-variables); since a very large number of Drupal projects don't touch/require Node.js at all, I'm a bit hesitant to blanket add documentation for Node.js-specific things unless it's absolutely necessary/relevant.

The default could maybe be updated to 0.12 or something like that... but there are a ton of FE toolkits that break in 0.12. Or they break in 4.x. Or they break in 5.x. Or they break in 4.x but work in 0.12 or 5.x.
Basically what I'm saying is that I will work to make the upstream role work correctly with different Node.js versions... but I don't want to maintain changing-and-breaking-every-nanosecond Node.js-specific documentation.

I have submitted a pull request that might work for documentation in the example config.

I merged the upstream fix, and also merged the updated example.config.yml from @frob, so next step is to get the Node.js role tests working again, tag a new release, then have everyone here test it :)

Looks like there's an upstream bug that's causing global package installations to fail if using state=latest, and it looks like it's only affecting Ansible 2.x :/
See: https://github.com/ansible/ansible-modules-extras/issues/1375
Otherwise, the actual versions should work with the latest version of the Node.js role; I'll tag a release to fix this particular issue now, and then hopefully the Ansible npm module issue will get resolved soon as well.


feat: add support for local L3 in testSetup

replaced arb-bridge-peripherals dependency with @arbitrum/token-bridge-contracts
modify deployBridge.ts

rename deployErc20L1 and deployErc20L2 to deployErc20Parent and deployErc20Child
modify deployErc20AndInit to deploy and init "parent" and "child" token bridge contracts to L1, L2, L3

modify testSetup.ts

essentially, everything that it did before for L1 <-> L2, it does for L2 <-> L3 too
one exception though is that testSetup doesn't return Erc20Bridger, EthBridger, AdminErc20Bridger, or InboxTools for L3

A potentially undesirable property of this code is that gen:network will always fail if there is no local L3.
CI should be updated.
tested against master branch of nitro-testnode, requires the --l3node argument.

@clabot check

@cla-bot check


Updated sponsorship page

Removed anchor tag on Globee as it was dead link. It is now just text.
Added Cypher Stack given donated work
Added translation string tags to relevant languages

title change
sponsorships: add Cypher Stack

You should be able to remove to strings from everything except for english
(see monero-site matrix chat)

@binaryFate usually signs off on any sponsor page adjustments but this addition is widely known so not a requirement / just a nice to have for procedure otherwise ACK

If Cypher Stack sponsors the project then why CCS was needed?

Diego's ccs != cypherstacks
cypherstack runs backend infra, like the matrix server
Diego's ccs is unrelated


Restructure website navigation for improved UX (user intent approach)

Motivation
The Falco website's current navigation structure could be enhanced to better serve users' needs by organizing content based on user intent. This proposal suggests a new navigation pattern that will provide a more intuitive experience, allowing users to find relevant information more efficiently.
The main benefits of this proposed approach are:

Enhanced user experience with content organized around user goals
Easier navigation with clear and intuitive paths
Scalable structure that can grow with the project

Proposed Structure

Level 1: User Intent

Organize the primary navigation based on distinct user intents:

Getting Started: For new users exploring Falco.
Setup: For users looking to install and configure Falco in different environments.

This will replace the current Install and Operate

Advanced Configuration: For users needing to customize or fine-tune their Falco setup.
Concepts: For users needing to dig deep into specific aspects of Falco (i.e event sources, rules, outputs, plugins, metrics).
Developer Guide: For developers extending Falco or building on top of it.
Troubleshooting: For users seeking help and resources.
Reference: For users needing access to technical documentation, API references, and command guides.
Contributing: For those who want to contribute to the project.

Note that informative pages or particular relevance may be added to the top navigation (at the bottom) as an exception. This should be limited to 1-3 pages. For instance, we already have Roadmap that should be preserved.

Level 2: Alternative Paths for Each Intent

(example) Provide specific alternative paths or methods for achieving each goal. For example:

Setup:

Deploy on Kubernetes
Deploy as a Container
Install on a Host

Level 3: Steps and Options

(example) Offer detailed steps and various options under each path. For instance:

Install on a Host:

Install
Configuration
Upgrade
Uninstall

Action plan
Website restructuration can be applied in multiple steps by grouping 2-3 top-level sections and working on them. For each section, the content needs to be reviewed and then enhanced (or just moved) to align with its goal. The previous URLs must be preserved (using the alias feature). The subsections of each section will be decided during this stage. Furthermore, we may also remove some content (if it is no longer valid).
Here's the very first PR, https://github.com/falcosecurity/falco-website/pull/1362, that demonstrates this approach.
Once all sections have been placed, a further step is to review the whole website again for leftovers and inconsistencies.

Amazing :heart: and fully on board with all proposed changes! Thanks a bunch for taking care of this!

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale


feat: can apisix-ingress-controller use plugin without apisix

Description
Currently apisix-ingress already supports running without etcd. Can it use the plug-in function without apisix ?

@CPAltair No, it requires APISIX. Though you can deploy APISIX in the ingress pod using composite mode. Please refer: https://github.com/apache/apisix-ingress-controller/blob/master/docs/en/latest/composite.md


[Feature]: Add support for IdP initiated SSO

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Appsmith supports SP initiated SSO (aka login from Appsmith login page) but doesn't support login initiated from the identity provider for Appsmith which eventually leads to Appsmith home page.
Why should this be worked on?
Large enterprises tend to use a lot applications. The IdP tends to become the central repository of all applications for easy access. We should support the same so that Appsmith can be accessed from within the IdP.
 Front conversations

Additional request on Discord - https://discord.com/channels/725602949748752515/1057219717938544751

AForce Request - https://theappsmith.slack.com/archives/C0341RERY4R/p1675091740703529

Another user asked about this feature.


Issue about converting latex files to html files

Excuse me, can you provide more details about how to process the source files using LaTeXML7 and convert them into HTML5 files?  Including how to replace user-defined macros, standardize whitespace, add optional brackets, normalize tables, and replace references and citations with their correct numbers by python code

I explained it in #10
Feel free to ask further questions


Fix typos

I have noticed there are few typos which needs to be fixed.

[ ] IColumnChildrenBlock.cs
[ ] HeadingThreeeBlock.cs
[ ] RelationUpdatePropertySchema.cs
[ ] RelationPropertySchema.cs
[ ] HeadingThreeeUpdateBlock.cs

Hello, could you please assign it to me?

done - assigned to you.

@KoditkarVedant as far as I understand on "HeadingThreeeBlock" and "HeadingThreeeUpdateBlock" the word "threee" is written wrong. On the other 3 classes what is the issue?

@sotiriszogos Children is misspelled, and other classes has some properties which are misspelled.

Hi @KoditkarVedant, is this one already fixed, if not can I work on this.

@gauravagrwal this has been already fixed.


[TF-TRT] Unittest Logging Double Print Fix

This PR fixes double prints in TF-TRT logging messages

@bixia1 for review

@bixia1 Can you please review this PR ? Thank you!

@DEKHTIARJonathan Can you please check @bixia1's comments and keep us posted ? Thank you!

@bixia1 description added. I tried to find the source of this double logging, I was not able.
Can be reproduced doing: python tensorflow/python/compiler/tensorrt/test/topk_test.py 2>&1 | tee double_log_debug.log

@bixia1 pylint is failing for no reason.  It should not ... Something is weird


British English translation

https://twitter.com/queen_uk/status/476630784108134400

Seems a little redundant, but I'll merge it in later today.


[minor] AUS Australia from health.gov.au

Follows pattern in README.md for html scraping, happy to adjust, message me.

@lazd Cheers for the CR, let me know if there's anything else :)
P.S. I wonder if theres a different modularisation that would reduce the need for everyone to do rebases (glob require-ing a file for each country from a folder or something). NaBD but something we can think about.


Add Code of Conduct

We recommend that every repo has a code of conduct. If you don’t feel comfortable creating your own Code of Conduct from scratch we highly recommend using one of the templates provided by GitHub. If you do use a template, please read through the template and ensure that you can and will abide by the Code of Conduct.
Please follow these instructions on how to add a Code of Conduct.
Sample: https://github.com/Girlscript-WOB/Guidelines/blob/main/Project Admins/Code of conduct.md

Can you assign this to me as a part of WOB24?

@Durgesh4993 please assign me this under Wob'24 wanna work on it

The code of conduct is already available in the files. Please let us know if we should enhance or build from scratch @Durgesh4993 Thank you! waiting to be assigned as requested originally


New Components: Time picker

Effort
Currently, we do not have within the design system components catalog a viable solution to pick time values. To avoid the usage of select or third-party solutions that can impact on the application's visual coherence and user experience we consider that it is important to have an opinion regarding this matter.

Research and define a time picker solution.
Design and document time-picker component.
Specify the component technical design, properties, and behavior
Implementation of the component in CDKs.

Impact
Product teams: Have a standardized solution for time selection available in Halstack design system.
Action items

[ ]  https://github.com/dxc-technology/halstack-style-guide/issues/128

Moved to discussions.


Update README.md

added an example to get a quick introduction overview, minor type fixes

Hi @ubani
Thank you so much for your contribution and for taking the time to improve our project! I really appreciate your effort in crafting the example around the schema properties
However, after reviewing your submission, I realized that this content might be a bit too detailed for the README. The README primarily serves as a directory of resources, so including in-depth examples there might make it a bit out of place.
What I'd suggest is that we move this discussion to a GitHub issue, where we can rephrase and refine the content together. I think this information would be perfect as an FAQ item or as part of the project wiki, where it can be more thoroughly explained without crowding the main page.
Would you be open to that approach? I’d love to collaborate with you on getting this information to the right place in the project.
Looking forward to your thoughts!

I just noticed I was logged in with my other GitHub Account. But @Essbante = @essbante-io go figure!

@essbante-io this is good as it increases the amount of contributors 😄
Thank you for your feedback and I see your point.
I intentionally added this extra detail because if I am a newjoining dev to a topic, an example is what I typically search first for.
What would you think about the option to make this part collapsable?
I updated the file with my suggestion.
The example could still be moved to the next paragraph or left where it is currently.
Let me know if you still want to move this into a discussion/issue.

@ubani Thank you for your response and for updating the file with the collapsable section suggestion. I can see where you're coming from.
However, the primary purpose of the README is to provide quick access to project resources, such as links to the documentation, roadmap, communication channels, and so on. This keeps the README concise, making it easier for users to skim through.
We have a dedicated documentation page where the schemas are explained in more detail. If the current explanation isn't sufficient, I'd recommend raising this as an issue  in the docs repository so we can improve the details there.
Additionally, we have a Quick Start Guide created for onboarding new developers, which might also serve the purpose you're aiming for with the example.
I'm open to discussing this further, but I think the topic of Schemas is covered in the documentation.
Looking forward to hearing your thoughts on this!

@essbante-io thanks, I think the docs are good enough on that matter.
I am moving forward with closing the PR.


I74 tailwind custom fonts not rendering

Change Summary
[Briefly summarise the changes that you made. Just high-level stuff]
heading-montserrat class now renders. heading-jost & heading-lato renders without any fixes

Change Form
Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

[x] The pull request title has an issue number
[x] The change works by "Smoke testing" or quick testing
[ ] The change has tests
[x] The change has documentation

Other Information
[Is there anything in particular in the review that I should be aware of?]
Related issue

Resolve #74

works now :)
bug fixed by updating google font link


Filelist: Add missing directory crash

Test_crash_1 test fails in Fedora, because the directory crash is not in Filelist (we use make unixall to generate source tarball).

thanks for noticing.


Binding formatted on one line when in Style.Trigger

Sample:
<Style.Triggers>
    <Trigger Property="Unit" Value="{x:Static units:LengthUnit.Millimetres}">
        <Setter Property="ValueTemplate">
            <Setter.Value>
                <DataTemplate DataType="{x:Type views:LengthSettingControl}">
                    <numericInput:DoubleBox x:Name="ValueBox"
                                            Value="{Binding Value,
                                            Converter={wpf:LengthConverter Unit={x:Static units:LengthUnit.Millimetres}},
                                            RelativeSource={RelativeSource AncestorType={x:Type views:LengthSettingControl}},
                                            UpdateSourceTrigger=LostFocus}" />
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Trigger>
</Style.Triggers>

The other bindings in the document gets formatted nicely like ^ but on ctrl+k+2 bindings in triggers gets formatted on one line.  The code is in a resource dictionary if that makes any difference.

Do you have AttributesTolerance >= 2?

I'm going to close this issue for now. if this is still an issue, please open a new issue at https://github.com/Xavalon/XamlStyler/issues
thank you


Automatic load of EntLib logger

I'm trying to enable Metrics.Net 0.4.4 in a web project using Nancy 1.4.3. I'm using the following activation code in ApplicationStartup method:
    Metric.Config
        .WithReporting(r =>
        {
            r.WithConsoleReport(TimeSpan.FromSeconds(30));
        })
        .WithNancy(pipelines);

I have a reference to Enterprise Library logging dll's (4.0.0) because a third party library makes use of them. I'm not using them directly and I do not have any configuration of those libraries in my web.config.
When I launch the web service I'm getting a System.TypeInitializationException exception. It seems Metrics.Net is trying to load the EntLib logger:
   in Microsoft.Practices.EnterpriseLibrary.Logging.Logger.get_Writer()
   in Microsoft.Practices.EnterpriseLibrary.Logging.Logger.ShouldLog(LogEntry log)
   in lambda_method(Closure , String , Int32 )
   in Metrics.Logging.LogProviders.EntLibLogProvider.EntLibLogger.Log(LogLevel logLevel, Func`1 messageFunc, Exception exception, Object[] formatParameters) in C:\Work\Metrics.NET\Src\Metrics\App_Packages\LibLog.4.2\LibLog.cs:line 1412
   in Metrics.Logging.LoggerExecutionWrapper.Log(LogLevel logLevel, Func`1 messageFunc, Exception exception, Object[] formatParameters) in C:\Work\Metrics.NET\Src\Metrics\App_Packages\LibLog.4.2\LibLog.cs:line 708
   in Metrics.Logging.LogExtensions.IsErrorEnabled(ILog logger) in C:\Work\Metrics.NET\Src\Metrics\App_Packages\LibLog.4.2\LibLog.cs:line 141
   in Metrics.Logging.LogExtensions.ErrorException(ILog logger, String message, Exception exception, Object[] formatParams) in C:\Work\Metrics.NET\Src\Metrics\App_Packages\LibLog.4.2\LibLog.cs:line 230

How could I prevent Metrics.Net trying to load EntLib? Is it possible to decide which logger I would like to use?
Thanks.

The problem is generated by LibLog library. It can be circumvented at least in two different ways:

Adding a logging framework with a higher priority in LibLog: Serilog, NLog or Log4Net.
Implement a custom ILogProvider and set it through LogProvider.SetCurrentLogProvider(customLogProvider)

You are correct, Metrics.NET uses LibLog to provide logging capabilities, which tries to load supported logging frameworks automatically through reflection. The workarounds you mentioned should work, but aren't ideal.
Looking throught the LibLog code, I noticed that each logger provider implementation has a ProviderIsAvailableOverride property, which, if set to false, should disable the particular provider. Unfortunately, it seems that the specific ILogProvider  implementations (e.g. EntLibLogProvider) are marked as internal, so you can't set this property in your project.
Making the providers public and allowing Metrics.NET users to disable unwanted providers seems like a better alternative then the workarounds you mentioned (at first glance anyways), but I have to look a bit more at the code to see if making them public wouldn't have any undesired side-effects.