Save/Remove Toast Notification does not show category name in Landscape view.

Describe the bug
When adding a new custom category from the keyboard view, the notification does not say the category to whivh the phrase was added or removed only in landscape view.
To Reproduce
Steps to reproduce the behavior:

Have device in landscape view
Launch the app
Create a couple custom categories with long names if there are none
From the home screen select the keyboard button
Enter a custom phrase and save
Toggle one of the categories on and off.

Expected behavior
Notification to appear noting phrase was saved or removed from a category

Actual Behavior
Notification appears phrase was saved and removed but does not show to which category.

Smartphone (please complete the following information):

Device: Pixel 2 Emulator
OS:  Android 10

I'm closing this out, in the latest latest develop this appears to be fixed.  Looks like it was resolved with PR 287


Compiler in standard library

Hi!
It would be nice to access some compiler internals programmatically. E.g. for ICR I'd like to use Compiler::Parse.parse in order to detect syntax errors, before executing the code.
Would you think?
Thanks.

The compiler isn't in the API because it lacks docs and :nodoc: to hide non-interesting parts, but it's definitely in the standard library. For example this.
require "compiler/crystal/**"

node = Crystal::Parser.parse("foo.bar")
p node.class
puts "~~~"
puts node
puts "~~~"
puts (node as Crystal::Call).obj

In fact, the original icr that we had and eventually removed was done using it: https://github.com/manastech/crystal/blob/224a080e1147ecc4adfdc9a80391bed4a9b8233c/src/compiler/icr.cr

Wow this is really interesting :+1:

@asterite Super! Thanks!
I've tried similar example yesterday, but looks like I was requiring wrong file name. Your example works perfectly!


Feature/edu 72 replace momentjs with date fns

Looks good to me. Noticed a tiny thing but I guess it's ok anyway, the comma missing now between date and time.

Looks good to me. Noticed a tiny thing but I guess it's ok anyway, the comma missing now between date and time.

I saw that too but it's the way it formats inside, not sure it's worth the time to try to fix that.

Looks good to me. Noticed a tiny thing but I guess it's ok anyway, the comma missing now between date and time.

I saw that too but it's the way it formats inside, not sure it's worth the time to try to fix that.

Isn't it probably related to what Andreas mentioned here https://github.com/educandu/educandu/pull/21#discussion_r748617426 ?

Looks good to me. Noticed a tiny thing but I guess it's ok anyway, the comma missing now between date and time.

I saw that too but it's the way it formats inside, not sure it's worth the time to try to fix that.

Isn't it probably related to what Andreas mentioned here #21 (comment) ?

It is, but this is how this library formats the same thing, "L, LT"doesn't exist in this setup

Looks good to me. Noticed a tiny thing but I guess it's ok anyway, the comma missing now between date and time.

I saw that too but it's the way it formats inside, not sure it's worth the time to try to fix that.

Isn't it probably related to what Andreas mentioned here #21 (comment) ?

It is, but this is how this library formats the same thing, "L, LT"doesn't exist in this setup

But the comma does, doesn't it? 😄

Looks good to me. Noticed a tiny thing but I guess it's ok anyway, the comma missing now between date and time.

I saw that too but it's the way it formats inside, not sure it's worth the time to try to fix that.

Isn't it probably related to what Andreas mentioned here #21 (comment) ?

It is, but this is how this library formats the same thing, "L, LT"doesn't exist in this setup

But the comma does, doesn't it? smile

I just wanted to create another grey reply bar :laughing:

Looks good to me. Noticed a tiny thing but I guess it's ok anyway, the comma missing now between date and time.

I saw that too but it's the way it formats inside, not sure it's worth the time to try to fix that.

Isn't it probably related to what Andreas mentioned here #21 (comment) ?

It is, but this is how this library formats the same thing, "L, LT"doesn't exist in this setup

But the comma does, doesn't it? smile

I just wanted to create another grey reply bar 😆

Whaterfaaaaaaaalll


[DOC] Updating profiling/qualification docs for usability improvements [skip ci]

Closes https://github.com/NVIDIA/spark-rapids-tools/issues/259
Porting usability doc changes from tools repo into main plugin docs.

build


Add CMake rule to ensure LPCNet is built with the correct OSX libraries.

Looks like the latest OSX SDK adds a ____chkstk_darwin symbol reference libraries/executables built for 10.14 and later. This results in crashes on older OSX releases when using a binary built on a newer version (example).
Anyway, forcing CMAKE_OSX_DEPLOYMENT_TARGET like what's done on FreeDV resolves the issue.

@drowe67, updates on this? Looks like someone reported on IRC that the OSX version of FreeDV that they tried to build crashes when using 2020 mode. (My prebuilt dmg should already have this PR in it, so anyone using that should be okay.)

@tmiw Oh dear I missed this PR completely - sorry about that!  Sometimes I don't get the emails from GitHub - pls feel free to ping me if I don't respond in a few days ...
Thanks for the PR :+1:


Add: Hokkaido News UHB

Channel Name
Hokkaido News UHB
Alternative Names (optional)
北海道ニュース UHB
Network (optional)
No response
Owners (optional)
No response
Country
JP
Subdivision (optional)
No response
City (optional)
Chuo-ku
Broadcast Area
c/JP
Languages
jpn
Categories (optional)
news
NSFW
FALSE
Launched (optional)
No response
Closed (optional)
No response
Replaced By (optional)
No response
Website (optional)
https://www.uhb.jp/news/
Logo
https://static.wikia.nocookie.net/ultimatepopculture/images/a/a3/Uhb_logo.png/revision/latest?cb=20200821130720
Notes
No response

Already in the database: https://iptv-org.github.io/channels/jp/HokkaidoNewsUHB


Census: missing previous link on ' you have successfully completed the ‘Who lives here?’ section' page

Expected behaviour
 link must be available to navigate back to the previous question according to spec
Actual behaviour
 link not available please find the attached screen shot.
Steps to reproduce the behaviour
Launch Census Household survey
Complete Who lives here section.
Technical information
Browser
Operating System
Screenshot

Won't fix, part of the wider respondent journey and changes we'll be implementing


Added fluent assertions to the tests

Changes

Fixes issue https://github.com/Rizzen/Blog.Core/issues/3
Also updated working directory for the azure pipeline build so that the check passes

@Rizzen

That's very nice! Thank you!


[QUESTION] Chapter 17: Why does the optimization loop keep failing for the DCGAN?

Running the code from the notebook for the DCGAN produces the reconstructed images after each epoch but only after saying that the optimization loop has repeatedly failed. The happens on every epoch and is slowing it down a lot. What am I missing? Thanks!

Versions
import sys
assert sys.version_info >= (3, 5)

# Scikit-Learn ≥0.20 is required
import sklearn
assert sklearn.__version__ >= "0.20"

# TensorFlow ≥2.0 is required
import tensorflow as tf
from tensorflow import keras
assert tf.__version__ >= "2.0"

Additional context
This is the code for the generator and discriminator:
tf.random.set_seed(42)
np.random.seed(42)

codings_size = 100

generator = keras.models.Sequential([
    keras.layers.Dense(7 * 7 * 128, input_shape=[codings_size]),
    keras.layers.Reshape([7, 7, 128]),
    keras.layers.BatchNormalization(),
    keras.layers.Conv2DTranspose(64, kernel_size=5, strides=2, padding="SAME", activation="selu"),
    keras.layers.BatchNormalization(),
    keras.layers.Conv2DTranspose(1, kernel_size=5, strides=2, padding="SAME", activation="tanh"),
])
discriminator = keras.models.Sequential([
    keras.layers.Conv2D(64, kernel_size=5, strides=2, padding="SAME",
                       activation=keras.layers.LeakyReLU(0.2), input_shape=[28, 28, 1]),
    keras.layers.Dropout(0.4),
    keras.layers.Conv2D(128, kernel_size=5, strides=2, padding="SAME",
                       activation=keras.layers.LeakyReLU(0.2)),
    keras.layers.Dropout(0.4),
    keras.layers.Flatten(),
    keras.layers.Dense(1, activation="sigmoid")
])
gan = keras.models.Sequential([generator, discriminator])

And here's the code for the train_gan function:
def train_gan(gan, dataset, batch_size, codings_size, n_epochs=50):
    generator, discriminator = gan.layers
    for epoch in range(n_epochs):
        print("Epoch {}/{}".format(epoch + 1, n_epochs))
        for X_batch in dataset:
            # phase 1 - training the discriminator
            noise = tf.random.normal(shape=[batch_size, codings_size])
            generated_images = generator(noise)
            X_fake_and_real = tf.concat([generated_images, X_batch], axis=0)
            y1 = tf.constant([[0.]] * batch_size + [[1.]] * batch_size)
            discriminator.trainable = True
            discriminator.train_on_batch(X_fake_and_real, y1)
            # phase 2 - training the generator
            noise = tf.random.normal(shape=[batch_size, codings_size])
            y2 = tf.constant([[1.]] * batch_size)
            discriminator.trainable = False
            gan.train_on_batch(noise, y2)
        plot_multiple_images(generated_images, 8)
        plt.show()

Hi @Reisa14 ,
Thanks for your feedback.
Sadly, I can't reproduce this issue, when I run the notebook locally or on Colab, I don't get this warning at all.
Could you please run the following code and copy/paste the output here?
from sklearn import show_versions
import tensorflow as tf

show_versions()
print(tf.__version__)

Hi @ageron, this is the output that I get (I should also add that I am using Kaggle with the GPU enabled):
System:
    python: 3.7.10 | packaged by conda-forge | (default, Sep 13 2021, 19:43:44)  [GCC 9.4.0]
executable: /opt/conda/bin/python
   machine: Linux-5.10.68+-x86_64-with-debian-buster-sid

Python dependencies:
          pip: 21.2.4
   setuptools: 58.0.4
      sklearn: 0.23.2
        numpy: 1.19.5
        scipy: 1.7.1
       Cython: 0.29.24
       pandas: 1.3.4
   matplotlib: 3.4.3
       joblib: 1.0.1
threadpoolctl: 2.2.0

Built with OpenMP: True
2.6.0
[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
2021-12-11 11:46:23.368204: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2021-12-11 11:46:23.498033: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2021-12-11 11:46:23.498810: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero

Thanks @Reisa14. Mmmh, this might be a TF bug, I see nothing wrong with your code. Could you please file a bug with TensorFlow?

Hi, I'm having the same issue. did you find a solution?

In my case, the problem was that the batch size was 1 and the batch normalization layer was used. Removing this layer solved the problem. Also, increasing the batch size solved the problem, but it causes an increase in gpu memory consumption.


Minor tweaks, removing an unused channel, replacing another internal …

…channel with struct{} instead of bool

ping @judwhite

@judwhite one last time, with feeling

LGTM :+1: I can add a WaitGroup and a mechanism for communicating errors in a follow-up PR.

I prefer to pass references in explicitly as a point of style, tbh.
Thanks for the review
On Feb 10, 2016 21:42, "Jud White"<EMAIL_ADDRESS>wrote:

LGTM [image: :+1:] I can add a WaitGroup and a mechanism for
communicating errors in a follow-up PR.
—
Reply to this email directly or view it on GitHub
https://github.com/StabbyCutyou/buffstreams/pull/12#issuecomment-182677852
.

@judwhite alright, I added the waitgroup (forgot about it until you reminded me)

LGTM :+1:


Add sample sheet validation

This PR adds code to validate sample sheets and a short notebook to do this.

Ready for review @antgonza. Thanks! Note that the bulk of the changes are from example sample sheets that I added for testing. The majority of the code can be found in metapool.py and in test_metapool.py

Thanks so much! Can you check you have admin access in your @charles-cowart account?

Thank you @ElDeveloper and @charles-cowart for working on this. I'm just wondering if it would be good to actually run pep8 in here? If yes, what about adding an issue about it?

Added, thanks @antgonza


Incorrect display attribute mapping in documentation

Please note that in the documentation for setting up Azure in Open Athens admin, the instructions are as follows:
a. In Display name mapping, select Use attribute.
b. In the Display name attribute text box, enter the value http://schema.microsoft.com/identity/claims/displayname.
I copied and pasted that attribute data direct from the documentation into my customer's Open Athens admin account and it resulted in an error.  Per the SAML trace from the customer, the attribute value should actually be http://schemas.microsoft.com/identity/claims/displayname.
Please update the documentation accordingly.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1998e339-afaa-57b4-5417-a2d90fa3eb21
Version Independent ID: b4ecd8b0-2474-060a-ecd5-3ef2abd37d60
Content: Tutorial: Azure Active Directory single sign-on (SSO) integration with OpenAthens
Content Source: articles/active-directory/saas-apps/openathens-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@nthelight079
Thanks for your feedback! We will investigate and update as appropriate.

Thank you, this matches what I see in other documentation.
I made a pull request to update this. https://github.com/MicrosoftDocs/azure-docs-pr/pull/139952
CC: @jeevansd


Upgraded readdirp

Fixes #94.  Verified tests passing and usage in our app is as expected (no more Node v6.0.0 warnings, functioning as expected)

merged manually

Shipped as 1.0.1


[bug] Failure to properly import packages in some conditions

Describe the bug
I am developing a software using electron, which uses vite-plugin-electron to make vite run on electron. However, when some packages have a higher priority of browser than others in the condition export configuration, vite does not resolve them correctly.
For example, I use the ws package, which has the following condition export configuration.
{
  ".": {
    "browser": "./browser.js",
    "import": "./wrapper.mjs",
    "require": "./index.js"
    }
}

Since the plugin uses vite to compile the code on the node side, vite will parse this configuration. But since the browser configuration comes first, and since browser is one of the default allowed conditions for vite, vite will treat browser as the entry point. And this obviously prevents the package from being introduced correctly, which causes bugs.
Not only this scenario, but also in some other contexts a similar bug may occur.
I read the vite documentation carefully, but didn't find a configuration to change the default allowed conditions, or to change their priority. I also tried to modify some relevant configurations, such as conditions, mainFields, but it didn't work. I think vite should provide a configuration item which modifies the priority of the default allowed conditions, or the ability to override them.
Reproduction
https://stackblitz.com/edit/vitejs-vite-84cfbg?file=server/server.js
Steps to reproduce
Run npm install followed by npm run dev.
When the development server is deployed, the code that be wrongly imported will be executed directly, and then an error will be reported.
System Info
System:
    OS: Windows 10 10.0.22621
    CPU: (16) x64 12th Gen Intel(R) Core(TM) i5-12500H
    Memory: 6.14 GB / 15.73 GB
  Binaries:
    Node: 16.19.1 - D:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 8.19.3 - D:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22621.1265.0)
    Internet Explorer: 11.0.22621.1
  npmPackages:
    @vitejs/plugin-vue: ^4.0.0 => 4.0.0
    @vitejs/plugin-vue-jsx: ^3.0.0 => 3.0.0
    vite: ^4.1.4 => 4.1.4

Used Package Manager
pnpm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Vite alternates between the browser and node condition here:
https://github.com/vitejs/vite/blob/42e0d6af67743841bd38ed504cb8cbaaafb6313f/packages/vite/src/node/plugins/resolve.ts#L1131
When running in node, it shouldn't use the browser export condition, but since you mentioned using vite-plugin-electron and electron, I know they usually mix both browser and node at once which could be the cause of the problem.
The repro also doesn't show that Vite loads the browser version in node, so I'd suggest reporting this upstream. Closing for now.


Add INativeHandleContract IModuleContract.ShowConfigurator()

Modules can (preferably) return a FrameworkElement from this method that we will display inline in the host application, or null. If modules return null, they are expected to use their own mechanism to display their own configuration - for example, navigating to a new page inside their module's UI.
On a side note, this could raise dangerous stability concerns for us - modules normally shouldn't be able to bring down the host application, but running add-in code in the host process could end up doing that. We'll have to investigate preventative measures.

The preventative measures we've decided on are getting rid of the inline settings capability altogether


FIX-#6294: implement __iter__ for array class that defaults to numpy

What do these changes do?

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.

[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #6294
[ ] tests added and passing
[x] module layout described at docs/development/architecture.rst is up-to-date

Thank you @anmyachev - this fix looks good, but I think we want to defer the specific computation to the query compiler - that way we support other query compilers that may not want to move data out of distributed storage, or may incur costs doing so. Would you mind making the API Layer for the Array, Series, and DF route to a query_compiler method, and have the query_compiler method just return this? We could have it look something like this maybe?
def __iter__(self, lib="pandas", squeeze=False):
     return self.to_numpy().__iter__() if lib != "pandas" else (self.to_pandas().squeeze() if squeeze else self.to_pandas()).__iter__()

ok, will do

def __iter__(self, lib="pandas", squeeze=False):
     return self.to_numpy().__iter__() if lib != "pandas" else (self.to_pandas().squeeze() if squeeze else self.to_pandas()).__iter__()

@RehanSD this will also require Series._to_pandas and array._to_numpy methods to be moved to the query compiler. query_compiler.to_pandas and query_compiler.to_numpy are not suitable. I would like to clarify whether you think it is necessary to continue moving methods in such a situation.


Use tiny-keccak instead of sha3

Need to check the resulting size and speed.

The difference is ~1kb in binary size.


Upgrade dependencies

All relevant packages (except ember itself) are upgraded to latest version.

3 days for comments; I will merge it afterwards


File verification

BOMB is not verifying if the given Brainfuck code directory exists before trying to read it.

Also, we have to verify if the user has access to read the file xD


fix : Add podname label and namespace label to the configuration YAML…

… file for prometheus-remote-write plugins
Signed-off-by: tl<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Does this PR introduced a user-facing change?

Additional documentation, usage docs, etc.:

https://github.com/fluent/fluent-operator/blob/master/apis/fluentbit/v1alpha2/fluentbit_types.go#L65
Is it possible to write this in such a way that the source code has to be changed for each change?


Use the text/css MIME type for "*.css" data files.

This fixes Bolt errors like:
Refused to apply style from 'http://localhost:8080/some/path/file.css' because its MIME type ('text/plain') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

So weird this doesn't work out of the box - https://github.com/dart-lang/mime/blob/master/lib/src/default_extension_map.dart#L143

Oh, I didn't know that that mapping existed. I'll do more digging to figure out why it ends up not being used.
Please don't merge this PR for the time being.

I forgot to update here: it turned out that this error was a red herring and the issue was elsewhere.
Dropping this PR.
Thanks again for pointing me to the mapping, that helped.


Allow to customize replica selection function

By default, we select replicas randomly. Users might want to use different selection criterea: for example, round robin or weighted random selection. We should have an option to provide custom selection function.
API sketch:

let nextReplicaIndex = 0;
const prisma = new PrismaClient().$extends(
  readReplicas({
    url: [
      'postgresql://replica-1.example.com:5432/db',
      'postgresql://replica-2.example.com:5432/db',
    ],
    selectReplica(replicas) {
       // `replicas` is an array of pre-configured
       // callback is expected to return one of them
       // if `selectReplicas` is provided, it will be used by automatic selection via extension as well as explicit `$replica()` method.

       // Example of simple round robin implementation
       const replica = replicas[nextReplicaIndex]
       nextReplicaIndex = (nextReplicaIndex + 1) % replicas.length
       return replica
    }
  }),
)

It'd also be nice if we could always issue queries against the primary and selectively choose which queries go to the replica.

Curious if any of these features are being implemented or if you are accepting PRs.  I think this is a critical feature for people using replicas in alternative regions.  I personally we want this to be filtered or chosen by lowest latency to DB or by ENV variable (for the same reason).

We are definitely accepting PRs @bvkimball. Optimally share the planned API before writing the code, so we are all on the same page.


Allow one-off override for questionnaire reminder emails

Description
I find https://datatracker.ietf.org/nomcom/2023/private/send-reminder-mail/questionnaire/ useful for sending out questionnaires.  However, the template used for the preamble is a fixed template and editing it changes the copy that is permanently stored.
More often when using this page, I want to send a custom message.  It would be good if that were possible.  (Right now I save the old message to a local buffer, change it to what I want, send the message, then revert it, which is awkward and likely error prone.)
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

I don't know if this is a good place to record this, but I realized that this page doesn't allow for filtering either.  So it's less useful to me than I had thought.

Something we can discuss in Prague


Adjust cop configuration

Disable class length cops in tests. Tests are good.
Disable aggregate examples cops
The are a bit ardent to have enabled globally, and while they improve
test performance, it is at the expense of readability. Plus they get
in a fight with other rspec cops.

Closes #
Changes proposed in this pull request:

...

Allowing longer classes in tests makes sense.
I don't actually know what aggregate examples are - is it the same as this? https://relishapp.com/rspec/rspec-expectations/docs/aggregating-failures

Allowing longer classes in tests makes sense.
I don't actually know what aggregate examples are - is it the same as this? https://relishapp.com/rspec/rspec-expectations/docs/aggregating-failures

Yep. Although the cop itself argues otherwise (and got renamed to aggregate examples as a result). Essentially, the cop is detecting separate examples, that it reckons you should lump together and use 'aggregate_failures' for performance reasons. But I think the differences boil down to pedantry and semantics.


remove string_view STL dependency

The CI failures are due to macos-12 being obsolete. We should probably update the images

I've just pushed a PR to move the CI forward to newer versions.  Hopefully will be smooth.

Rebasing should fix the CI.


Submit only changed values or values that are not pristine

When we submit a form there should be an option for us to get only the inputs that have changed or are not pristine. This is useful for a database update where we only need to update columns that have changed.

:+1:

This sounds amazing.  Means you are less likely to have multiple people editing the same thing clobber eachothers results.

Hi guys,
Yes, this is indeed something nice to have, though I am unsure that this job is for Formsy. I would expect this scenario has a model with the state of some entity on the server, like a person. The model is presented in a formsy form. Deciding what to pass to the server I think is the responsibility of the model layer, not the UI layer. So you would rather pass the whole form to the model-layer, figure out what is actually necessary to pass to the server and then do that. If Formsy is in control of this you will most likely meet scenarios where Formsy has some logic deciding what to pass to the server, and the model layer might have some of the other logic, maybe Formsy does not do a good enough job and we have to build upon the API to solve lots of different scenarios.
So yeah, I am concerned about introducing it in Formsy, as this is closer to the model layer than the UI layer I think. It basically drills down to comparing two objects and extracting the diff, which some other lib probably already does  very effectively.
But please, if you disagree we can discuss it more :-) Just my initial thoughts!

Yeah I suppose it works both ways doesn't it (do it on the backend or the front end is a marginal tradeoff), probably you could say it's one for the backend, but then over the wire transmission should aim to be as small as possible.
I say keep formsy as simple as is possible, but then it should not be so difficult to have an object of bits to say which fields have changed and _.filter the stuff passed to submit.

Yeah, though it depends on how you implement it. Either Formsy needs to keep track on "changed values" or it does a "diffing" of initial form values and current values when submitting.
The last part if the simplest and most effective implementation I would suggest... that said, it is very easy to make yourself. Often libraries like Backbone Model or Angular Resource allows you to do this very easily.
Sorry, but I think it is the correct choice to have this logic closer to where you communicate with the server, not inside Formsy. But please, if a lot of people disagree I will of course reconsider.

Well the argument is that formsy probably:
a) knows what the original data was
b) knows which fields are no longer "pristine"
c) the difference being sent over the wire is "cheaper" than everything being sent
I think this should be possible to build separately from formsy though - there should be an easy way to get this info and do the diff??
I'm massively worried by this in general though.  Bigger fish to fry ;-)

Let me keep this open and we will revisit after next release

@aphillipo you've mentioned back-end v front-end, and network bandwidth concerns, but front-end doesn't mean this has to be performed by formsy, your onValidSubmit method can take care of it client side, so your "over-the-wire" is minimised, without it being a function of formsy.
Having said that, I do agree that there's an argument to be made for an option for formsy to only pass changed properties - there are enough use cases for that to be useful as a binary option, without overloading the API.


Create 2023-11-10-RaftExploit

Requested changes complete. Thanks for clear instructions.

fix file name
fix links
add details about the attack

Could you please expand on point number two.

fix file name
fix links
add details about the attack

Could you please expand on point number two.

Remove all optional URL components (?and#` and everything that follows)

@evgenydmitriev requested changes made. Please let me know if I missed anything.

@evgenydmitriev I pretty much started from scratch for this article.

@JediFaust I look forward to your feedback.

@aholman0725, please pay attention to the file naming convention. It is important for the wiki functioning. Also, don't forget to explicitly re-request reviews if you need us to give it another look.

/payout

@evgenydmitriev Thanks for the example for re-requests. I re-requested a few pull requests last week, but you are the listed reviewer. Not sure if you want to add Omar since he's helping. Thanks again.


flutter download should not include .pub-cache

Use case
The .pub-cache should be located in ~/.pub-cache (or macos/windows equivalent) not in {instal_dir}/.pub-cache according to the documentation for pub.
Proposal
Remove ./.pub-cache from the installed package, also considder removing other caches since 1) they should be in the user directory and 2) they shouldnt be in the installed package. According to  the install-guide they should be downloaded afterwards and only if needed.

@TahaTesser  I would like to work on this, can I please get some guidance?

We include the pub cache in the download like that to make sure everything works out of the box without the need to download more stuff on first run.


[vscode.dev] I can't change settings using touch screen - Android tablet

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: vscode.dev
OS Version: Android 10, Chrome browser, Lenovo tablet

Steps to Reproduce:

Open vscode.dev on tablet
Go to settings and search for telemetry
Try to change telemetry settings using touch

Description:
I have Android tablet and I can't change telemetry settings on vscode.dev opened in Chrome using touch. External mouse works.

Originally posted by @rafrafek in https://github.com/microsoft/vscode/issues/125686#issuecomment-961814746

Dupe of https://github.com/microsoft/vscode/issues/73283


How to make a glitch filter using GPUImage?

Similar to this APP.

https://itunes.apple.com/app/id1387462044

Hello, @zhouyijian2 I am also working on something like this. I have one question that have you applied multiple filter to the video?


Synology NAS - Sctipt completely broken

Ping -> Not allowed
Executing with demo token:
./tibberlox.py
INFO:root:Loading credentials from: /volume1/Python/git/TibberLox/.tibber_credentials
INFO:gql.transport.aiohttp:>>> {"query": "query IntrospectionQuery {\n  __schema {\n    queryType {\n      name\n    }\n    mutationType {\n      name\n    }\n    subscriptionType {\n      name\n    }\n    types {\n      ...FullType\n    }\n    directives {\n      name\n      description\n      locations\n      args {\n        ...InputValue\n      }\n    }\n  }\n}\n\nfragment FullType on __Type {\n  kind\n  name\n  description\n  fields(includeDeprecated: true) {\n    name\n    description\n    args {\n      ...InputValue\n    }\n...
Lot of Garbage.

I reverted back to 1.0. I will check later on the issues of the new version.

Strange that the ping wouldn't work. The idea was to have a kind of verified status by checking availability after adding a new destination. I will add a command line option to opt-in or probably opt-out from this mechanism.

Its not only the ping. Seems the logging is also running amok on synology. and another thing i noticed, from raspi + synology no data was recieved. but i was too tired to check if all went well.
From my opinion we should offer 2 version. one with lots of shell args and one "quick" one maybe with a shared config file.

Another Issue:
ERROR:root:Can't authenticate to tibber by using this token. Please check the validity of the token and ensure a connection to the internet is available.
Please enter your Tibber API Token:
This check is also frustrating. Since it hides the real error..

Ok i added now the main part for more nicier look. I will clean up also the sendudp things etc later, but now family yells for me.
i tried to go with a config file first and after some hassle, i dont think its worth it, this is a more "keep it simple" strategy and it works. the extensive code earlier had to many pitfalls on different systems.

I did some major updates to my fork:

The logging issue is fixed now - not using the root-logger anymore, but a custom logger object
Added CLI-options for

--no-ping-check to skip the ping invocation to test for a valid ip destination
--no-invalid-values to only send valid relative values and not update the ones that have no data (as no data is available)
-c/--config to change the name of the config file (this potentially allows for multiple instances/invocations with different tokens)
--price-unit to choose EUR or Cent


abort metrics parsing on failed docker exec calls

This commit eliminates cases where the commands might exit with
a non-zero code and have the follow-on logic parse stack traces
or other errors that could result in invalid metrics being published.
This should close https://github.com/tedder/miner_exporter/issues/14

I'm kinda stewing on this, I'm not sure that I want to make larger changes to the "docker" style, as it's being replaced with the RPC calls soon.

Fair enough, the RPC layer will definitely be nice when it's ready.
I was motivated to put this changeset together because I kept seeing metrics streams for validator_name="Error: Usage information not found for the given command" seemingly when version updates happen, and this does seem to put an end to that.

Can you put in a new PR for a very narrow regex on the validator name? I think it happens intermittently. I'm on vacation for this week, I can approve and release a narrow PR though.


🎁 StripCSP Contrib

Strip that CSP bruh.

Since you are booting up malcom contrib you could add in a action matrix here to walk through/publish both packages.
https://github.com/nickhudkins/malcolm/blob/mainline/.github/workflows/npm-publish.yaml#L8-L23


Support pen input prediction and compensation

Unlike Wacom pen tablets like CTL-480, modern styluses such as Apple Pencil and Surface Pen rely on prediction to improve responsiveness. On drawing apps, pen strokes are drawn based on the OS-provided prediction first, and then are corrected after the true position is available.
I suggest that the pen input prediction on osu should work like this:

The game should initially use the prediction to determine 300, 100, 50, or miss.
When the true position is available and the outcome conflicts, the visual effects and hitsounds of the note should be cancelled immediately and be replaced. (For example, if the true input was available 90ms later -> the visual effects / hitsounds play as if they had begun 90ms before).
The game corrects the scoring.

Unfortunately, although the APIs provide the correct past position of the pen, they do not seem to provide how much time has passed since. If some leniency is okay, the game could try to calculate the timing of the past pen position and use that to calculate scores instead, which will achieve latency-less input at a very small cost of inaccuracy.
Alternatively, the game could feature its own input prediction algorithm.
I understand that this is a big task that not many people might be interested in (and I don’t have the time right now to be better at programming right now), but I think this is going to be a vital part of the game for non-desktops.
Apple pencil:
https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_touches_in_your_view/minimizing_latency_with_predicted_touches

The osu! implementation you mention is overly complex. Prediction should either be be 100% used for positional input or 100% ignored. I think using may be best, but will require some real-world testing.

I think this is going to be a vital part of the game for non-desktops.

Can you provide any concrete use cases of a stylus? I have a Surface Pro 2 tablet with a Surface Pen stylus and I find it useless for gaming.

@UselessToucan My iPad Pro 3rd gen. I think it has the potential to replace desktop for osu! if pen support is better and touchscreen z/x input is supported.
Subjectively speaking, I think the pen latency on this device is near nonexistent and on par with CTL-480 on notes app (iPadOS) and the display is 120hz. Of course, I’ll have to test this after Apple Pencil prediction is added to lazer.
I’m enthusiastic about pen tablets so I used to have the original Surface Pro (a different Wacom, same as S-pens) and currently have a Surface Pro 5 (n-trig) tablet as well and on those devices the pens are not suitable for osu but with some heavy latency correction I think users can still have tons of fun with those devices.
I started playing osu on a pen tablet like Surface Pro (before that, osu!Stream and the original game on nintendo DS) and tapping the notes directly is an extremely intuitive and fun experience (with lower entry barrier) that a lot of new players will prefer if given the choice between desktops.

I don't think predictive movement should be added for touch devices.
Predictive movement itself is used as QoL enhancement to make up for the latenecy of input.
For osu!, as most of the gameplay in itself is a measurement of your input accuracy with regards to a beatmap, having predictive movement seems like an unfair assistance.

This is a framework issue. It should definitely be made available as an option.

The wacom drivers all have in-built prediction to different degree based on versions, and on stable users are allowed to use whatever movement predicting driver. Latency correction has been part of osu! ever since players began using tablets.
Also, latency correction on iPad only compensates for technical limitations, not perform player mind reading magic (which can not exist).
As long as one input stream is ultimately used for judgement, it’s absolutely fine.

Makes more sense when put that way, thanks.

Agreed that this would be a nice addition to the framework.  It should be fairly trivial to expose touch gesture prediction on iOS, as the "virtual" events are provided as part of each UITouch object.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1472 ms

Resolved: Bofrost.at performance has improved in 3ea46fe.


Invalid contract created

Related issue
#815
Summary or solution description
Fixed multiple issues related to calling methods and casting types in-line and importing symbols from different files.
All of them related to not finding imported symbols from different files during code generation.
How to Reproduce
From #815:

How to Reproduce
The attached zip contains 3 contracts for reproduction.

Deploy the contract in the folder 1_target_contract and note the script hash
Update the contract hash in the file /2_entry_contract_fails/sample/samplecontract.py with the hash noted in step 1
Compile /2_entry_contract_fails/mycontract.py , deploy and note the hash
Call the function test on the contract deployed in step 3.

The 3rd contract in the script is the result of manually building contract using this code
    target_contract = types.UInt160(b"\xb30\xa1\x86\xfa\x05' \x17\r{\x02\xc0\x05\x12B\x8a\xc8\xf5\xd9")
    sb = vm.ScriptBuilder()
    sb.emit_dynamic_call(target_contract, "func_no_arg_with_return_boolean")
    nef = NEF("manual-compiler", script=sb.to_array())
    with open('manual.nef', 'wb') as f:
        f.write(nef.to_array())

Which works. The side note here is that the result is an Integer instead of Boolean due to #817

Platform:

OS: Windows 10 x64
Python version: Python 3.7

I used the old code from the issue (#815) and recompiled the contracts with the boa version from this pull request. That means I'm still calling this code
    @classmethod
    def func_no_arg_with_return_boolean(cls) -> bool:
        return cast(bool, call_contract(cls._hash, "func_no_arg_with_return_boolean", [], CallFlags.ALL))

not the @contract interface you showed on Github. With this "old" approach the contract is still invalid. I get this assembly
0	OpCode.LDSFLD0
1	OpCode.CALL
3	OpCode.RET
4	OpCode.INITSSLOT
6	OpCode.PUSH1
7	OpCode.NEWARRAY
8	OpCode.STSFLD0
9	OpCode.PUSHDATA1
31	OpCode.DUP
32	OpCode.ISTYPE
34	OpCode.JMPIFNOT
36	OpCode.DUP
37	OpCode.PUSH0
38	OpCode.GE
39	OpCode.ASSERT
40	OpCode.DUP
41	OpCode.SIZE
42	OpCode.PUSHINT8
44	OpCode.OVER
45	OpCode.OVER
46	OpCode.JMPGE
48	OpCode.PUSHDATA1
70	OpCode.REVERSE3
71	OpCode.SUB
72	OpCode.LEFT
73	OpCode.CAT
74	OpCode.JMP
76	OpCode.DROP
77	OpCode.DROP
78	OpCode.CONVERT
80	OpCode.DUP
81	OpCode.SIZE
82	OpCode.PUSHINT8
84	OpCode.NUMEQUAL
85	OpCode.ASSERT
86	OpCode.PUSH0
87	OpCode.DUP
88	OpCode.SIGN
89	OpCode.PUSHM1
90	OpCode.JMPNE 95
92	OpCode.OVER
93	OpCode.SIZE
94	OpCode.ADD
95	OpCode.LDSFLD0
96	OpCode.REVERSE3
97	OpCode.SETITEM
98	OpCode.RET
99	OpCode.INITSLOT
102	OpCode.LDARG0
103	OpCode.RET
104	OpCode.INITSLOT
107	OpCode.NEWARRAY0
108	OpCode.PUSHDATA1
141	OpCode.LDARG0
142	OpCode.PUSH0
143	OpCode.DUP
144	OpCode.SIGN
145	OpCode.PUSHM1
146	OpCode.JMPNE 152
148	OpCode.PUSH2
149	OpCode.PICK
150	OpCode.SIZE
151	OpCode.ADD
152	OpCode.PICKITEM
153	OpCode.SYSCALL System.Contract.Call 0x
158	OpCode.RET

where all it should arguably create is this
0	OpCode.NEWARRAY0
1	OpCode.PUSH15
2	OpCode.PUSHDATA1
35	OpCode.PUSHDATA1
57	OpCode.SYSCALL System.Contract.Call 0xb330a186fa052720170d7b02c00512428ac8f5d9 func_no_arg_with_return_boolean

Using the @contract interface with this code works
@contract('0x8523fd34eb6ddc2c3863fc41b7964bcf02a86835')
class SampleContract:
    _hash = UInt160(b"\xb30\xa1\x86\xfa\x05' \x17\r{\x02\xc0\x05\x12B\x8a\xc8\xf5\xd9")

    @staticmethod
    def func_no_arg_with_return_boolean() -> bool:
        pass

However, it creates a lot of unnecessary instructions
0	OpCode.NEWARRAY0
1	OpCode.PUSH15
2	OpCode.PUSHDATA1
35	OpCode.PUSHDATA1
57	OpCode.SYSCALL System.Contract.Call 0xb330a186fa052720170d7b02c00512428ac8f5d9 func_no_arg_with_return_boolean
62	OpCode.RET
63	OpCode.INITSSLOT
65	OpCode.PUSH1
66	OpCode.NEWARRAY
67	OpCode.STSFLD0
68	OpCode.PUSHDATA1
90	OpCode.DUP
91	OpCode.ISTYPE
93	OpCode.JMPIFNOT
95	OpCode.DUP
96	OpCode.PUSH0
97	OpCode.GE
98	OpCode.ASSERT
99	OpCode.DUP
100	OpCode.SIZE
101	OpCode.PUSHINT8
103	OpCode.OVER
104	OpCode.OVER
105	OpCode.JMPGE
107	OpCode.PUSHDATA1
129	OpCode.REVERSE3
130	OpCode.SUB
131	OpCode.LEFT
132	OpCode.CAT
133	OpCode.JMP
135	OpCode.DROP
136	OpCode.DROP
137	OpCode.CONVERT
139	OpCode.DUP
140	OpCode.SIZE
141	OpCode.PUSHINT8
143	OpCode.NUMEQUAL
144	OpCode.ASSERT
145	OpCode.PUSH0
146	OpCode.DUP
147	OpCode.SIGN
148	OpCode.PUSHM1
149	OpCode.JMPNE 154
151	OpCode.OVER
152	OpCode.SIZE
153	OpCode.ADD
154	OpCode.LDSFLD0
155	OpCode.REVERSE3
156	OpCode.SETITEM
157	OpCode.RET
158	OpCode.INITSLOT
161	OpCode.LDARG0
162	OpCode.RET

The first 5 or 6 (depending if the RET is really needed) is all we need.

@ixje the problem in both cases is not exactly that the code is invalid, in those cases the code is not optimized.
the additional opcodes in both cases are related to class access and since we didn't work on opcode optimizations for classes there are some instructions that aren't used in the end
I see this is a problem, but wouldn't it be better to solve it on a different issue?

I have improved some small things, but it still generates some additional code.
I didn't work much on the class-related opcodes because it needs much more attention to make sure that the code is generated when needed

Using your last commit at the time of writing this (0334b0b), then compiling the original issue code as mentioned here https://github.com/CityOfZion/neo3-boa/pull/829#issuecomment-1054025873 still produces a faulty contract. It's a lot less code instructions but still not valid
0	OpCode.LDSFLD0
1	OpCode.CALL
3	OpCode.RET
4	OpCode.INITSSLOT
6	OpCode.PUSH1
7	OpCode.NEWARRAY
8	OpCode.STSFLD0
9	OpCode.PUSHDATA1
31	OpCode.PUSH0
32	OpCode.LDSFLD0
33	OpCode.REVERSE3
34	OpCode.SETITEM
35	OpCode.RET
36	OpCode.INITSLOT
39	OpCode.LDARG0
40	OpCode.RET
41	OpCode.INITSLOT
44	OpCode.NEWARRAY0
45	OpCode.PUSHDATA1
78	OpCode.LDARG0
79	OpCode.PUSH0
80	OpCode.PICKITEM
81	OpCode.SYSCALL System.Contract.Call 0x
86	OpCode.RET

so that should keep #815 unresolved imo, but we can of course merge this PR and build on top of it with other PRs if that's your desired approach

@ixje the problem in both cases is not exactly that the code is invalid, in those cases the code is not optimized. the additional opcodes in both cases are related to class access and since we didn't work on opcode optimizations for classes there are some instructions that aren't used in the end
I see this is a problem, but wouldn't it be better to solve it on a different issue?

Assuming you are talking about the 2 examples in https://github.com/CityOfZion/neo3-boa/pull/829#issuecomment-1054112526 then yes I agree. The code is indeed valid, but has the unnecessary instructions. Sounds good to track this in another issue.

@meevee98  I am merging the PR, let's just not forget to create the necessary issues


Adds eq method to Currency class

This PR updates the Currency class to use a deep compare.
The fact that it doesn't currently use one causes problems when pickling/depickling Money objects.  Consider this case:
In [1]: import pickle
In [2]: import moneyed
In [3]: mm = moneyed.Money(100,'USD')
In [4]: m_new = pickle.loads(pickle.dumps(mm))
In [5]: mm == m_new
Out[5]: False

It also adds unit tests

+1

This is addressed in pull request #8 (which has slightly different behaviour - just compares currency code)


Poor performance after updating from version 7.0.1

Hi,
at first big thanks for your framework and making things easier since a couple of time. I have the good old approach with mapstateToProps/mapDispatchToProps running in my project and after updating from 7.0.1 to something over that version all my users suffered a big performance lack, so I rolled back to version 7.0.1.
https://github.com/TimSusa/midi-bricks-mono/commit/9dfcd3d0257541a900d8f2cf863364265bdb49c8
Do we have some kind of breaking change here?

Please provide a sample project that demonstrates the issue.
How are you measuring performance?

Hey,
Project with bad performance: https://github.com/TimSusa/midi-bricks-mono/releases/tag/v1.1.66
Project with better performance: https://github.com/TimSusa/midi-bricks-mono/releases/tag/v1.1.69
Performance could percieved, when loading a preset and changing some vertical slider in live mode. That was the reason, users told me about that. I feel that I have no real hard facts for you. So how do your measure performance, by the way? ...closing this issue...

Sorry, just pointing to release tags tells me nothing.
If you can provide a sample project that specifically demonstrates visible performance issues just by switching versions, and preferably some actual measurable numbers that demonstrate the changes, we can investigate further.
You might want to look at our React-Redux benchmarks repo to see how we currently measure things.

@TimSusa did you ever figure out what was going on here? I'm experiencing the same thing, simply updating the version without actually using any of the react-redux hooks is causing major performance issues. Going to dive into deeper but was hoping you potentially had some insights

@gpfunk : as I said earlier, specific details on perf issues would help us analyze what's happening:

What version of React-Redux were you using previously, and what version are you on now?
How are you measuring performance?
What kind of scenarios are affected?
Can you reproduce the issue with a minimal code sample?

For sure, sorry, wasn't intending for you to respond to this comment. I'll send more information after I gather it
Just some quick details for you though
Seeing issue on react-redux 7.1.0 / 7.1.1
Performance was fine v7.0.1 (haven't checked any between these versions)
The situation I'm seeing is with our Login screen (simple text input), the input seems to flash as I type into it...It will show the character -> then not -> then show the character again (all rapidly)...almost like the store is not immediately reflecting the changes
I haven't been able to reproduce with minimal code yet

Really basic measurements, but with v7.0.1 I'm seeing updates in my component within 12ms and with v7.1.0 I'm seeing them within 20+ms...I thru a small setTimeout in v7.0.1 to slow it down and has the same experience
For whatever its worth the project is with react-native and for some reason its more apparent around the 20ms mark then it is when I try to replicate on the browser

I've tested all the versions and it appears that the issue is introduced in version v7.1.0-rc.1

except that RC was just the hooks branch, retagged, and the hooks branch shouldn't have any real changes to connect.
If you're still seeing something, I'd appreciate it if you could look through the diffs there and try to narrow it down.

Ya I'm just looking thru the commits, that is so strange. I'm definitely seeing the regression at that point though. The only thing I can see is potentially some of the updates to the dependencies? I'll keep looking into it


rbd: use the new go-ceph rbd.ErrExist for checking rbd.GroupCreate()

The go-ceph rbd.GroupCreate() now returns ErrExist in case the group
that is created, already exists. The previous check only ever matched
the string comparison, which is prone to errors in case the contents is
modified by go-ceph.
Related issues
Found while working on #4502.

Show available bot commands
These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:

/retest ci/centos/<job-name>: retest the <job-name> after unrelated
failure (please report the failure too!)

@mergifyio queue


Image Discovery App fails to load

404 error on trying to access:
Apps/NationalIntel/ImageDiscovery/widgets/ImageDiscovery/base/Results/base/Analysis/base/Transparency/template/TransparencyWidgetTemplate.html

I replaced the missing .html file.

Verified the application is now working.


Not able to compile different typescript file to different destination

I have gruntfile.js as below, but seems like grunt-ts is only take care of the first entry in files, completely ignore the second entry. I don't see ts file under "server_tests" get compile, or any output file been copy to dist_tests
        {                     src: ["server_tests/**/*.ts", "!server_tests/.baseDir.ts", "!server_tests/_all.d.ts"],                     dest: "./dist_tests"         }
module.exports = function (grunt) {
    "use strict";

    grunt.initConfig({
        ts: {
            app: {
                files: [{
                    src: ["server/**/*.ts", "!server/.baseDir.ts", "!server/_all.d.ts"],
                    dest: "./dist"
                },
                {
                    src: ["server_tests/**/*.ts", "!server_tests/.baseDir.ts", "!server_tests/_all.d.ts"],
                    dest: "./dist_tests"
                }],
                options: {
                    module: "commonjs",
                    noLib: true,
                    target: "es6",
                    sourceMap: true
                }
            }
        },
        copy: {
            files: {
                cwd: "server/public",  // set working folder / root to copy
                src: "**/*",           // copy all files and subfolders
                dest: "dist/public",   // destination folder
                expand: true           // required when using cwd
            }
        },
        watch: {
            ts: {
                files: ["server/**/*.ts", "server/public/**/*"],
                tasks: ["ts", "copy"]
            }
        }
    });

    grunt.loadNpmTasks("grunt-contrib-watch");
    grunt.loadNpmTasks("grunt-contrib-copy");
    grunt.loadNpmTasks("grunt-ts");
    grunt.loadNpmTasks("grunt-tslint");

    grunt.registerTask("default", [
        "ts",
        "copy"
    ]);
};

Are you using watch?  or do you mean it doesn't work when you run the default task?  If the latter, can you please run grunt with --verbose and post the output?

Hi @shrimpy - I'm going to close this out since I haven't heard back from you.  If you would like to troubleshoot this further, please reopen.  Thanks.


Regex fot time HH:MM 24Hours

Hello i try to to a mask for hour format but i can't able to use regex.
i try to instances this component with this line:
$("#time_apertura").inputmask({"mask":"99:99","regex":"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$"});
mask work fine, but regex don't work.
can you help me to solve my problem? in next time you could add this issue in documentation.
thank you very much
Valerio Radice
Valix85

Should I include regex extension apart from input mask bundle?

@sonusasankan ,
No you don't need to , but in version 3.x the regex support is through an alias Regex, while in version 4.x support is 'native' (without alias extension)
In v3.11 you add alias: "Regex", regex: "your regex"
in v4.x you only add regex: "your regex"

@RobinHerbots
How could I add 0 dynamically when onblur if user input only hour?

@sonusasankan ,
Use the onBeforeWrite callback.  Have a look at the other extensions, for some example.

This is almost 2 years old now, but the example doesn't work for me even though it works on that fiddle.

This is almost 2 years old now, but the example doesn't work for me even though it works on that fiddle.

@Healyhatman,
Can you open a new issue and describe your problem and give an example.

@RobinHerbots It's my bad sorry. I was trying to call it with
$(selector).inputmask({'alias':'datetime', 'inputFormat':'HH:MM'})
instead of
Inputmask('datetime', {'inputFormat':'HH:MM'}).mask(selector)


[Feature] Combine guides with API content

Description
When I write a guide for one of my library's components, I want to include API documentation for that component's class (inputs, outputs, properties, methods, jsdoc comments) alongside the guide's markdown and demos so readers can find all relevant documentation for a component in one place (like the Angular Material docs for example). Currently, API and Guide are separate pages and I don't see any way to combine them, aside from adding a link to the corresponding API page.
Proposed solution
Maybe add methods to NgDocActions for rendering the API documentation (or pieces of the API documentation)? For example:
  NgDocActions.apiPage("MyComponent")
or
  NgDocActions.apiDescription("MyComponent")
  NgDocActions.apiConstructor("MyComponent")
  NgDocActions.apiProperties("MyComponent")
  NgDocActions.apiMethods("MyComponent")

Maybe this could be accomplished with existing functionality by doing something like
  NgDocActions.demo("NgDocPageComponent")

but I haven't figured out how to wire that up, if it's even possible.
Alternatives considered
If you are planning to do #21 maybe you could add a Guide tab on the API page that pulls its content from a page with corresponding NgDocPage.api property (or something like that). Then render that API page (including Guide tab) in place of the guide page.

Yes, I understand that documentation for a component library is the most ambiguous because almost every element of the library requires visual examples, but at the same time, it would be desirable to document them in the code using comments.
In this case, I think that the documentation should be strictly divided into two types:

The first type is the documentation for entities that have a visual representation or that in some way affect the template. For them, you can create a guide with demos or code examples. In this case, in the JSDoc documentation, you can simply provide a link to the page with examples and just describe what this entity does in general terms because a person who reads the documentation from the source code will not see them otherwise.
The second type is documentation only in JSDoc without a guide. This is more suitable for entities that do not have a visual representation, such as functions, services, etc. In this case, you can describe usage examples directly in JSDoc using markdown, since live demos are not particularly important here.

@semicolin Hey, I decided to revisit this ticket, and I think I have a new idea on how it could be implemented:
I could add a new type of guide, which is a combination of an API and NgDocPage. Let's call it an "API Guide" that could be created for any entity. Your configuration for such a page could look like this:
export interface NgDocApiPage extends NgDocPage {
  /**
   * Any declaration that should be used to show the API.
   */
  declaration: any;
}

Here, you can see that the interface inherits from NgDocPage, which means you would have the ability to create demos, playgrounds, etc., just like you do now. However, you would need to specify the declaration for which the API should be generated.
In the end, NgDoc could generate and display a similar header as it does on the API page, with selectors for the declaration name automatically. The content you write in index.md and the API could be separated below using tabs.
It's important to note that if this type of guide is used, the specified declaration will NOT be displayed in the API List. Otherwise, it would cause conflicts with keywords. What do you think about this?

That's an interesting idea, but removing the declaration from the API List is not ideal. Could the API List link to the API Guide?

I think yes that's possible!
But I haven't figured out yet what should be included in the declaration to generate the API, but most likely it will be one of the following options:

A relative path to the file with the name specified - "../../my-class.ts#MyClass"
An absolute path to the file - "libs/my-lib/my-class.ts#MyClass"

Initially, I was thinking about importing and assigning a class, for example:
import { MyClass } from 'my-lib';

export const page = {
  declaration: MyClass
}

export default page;

But there might be situations where someone wants to create a similar page for an interface or another type of declaration that doesn't exist at runtime. However, in theory, I could try combining these two options.

I wanted to chime in here.🛎  I came here looking for this feature. 👀
I'm writing tutorial-like documentation, and I generally start with the API description and then dive into the usage.  The API documentation is written in jsdoc already. It seems redundant to repeat it 🔁, yet sending people off to API land to read it seems like a poor user experience☹.
For now, I will have to choose redundancy over poor user experience.
BTW, I love what you have here. Once it is set up, it is pretty easy to use.🚀

@DaveMBush Thank you! But yeah totally agree, I'm gonna start working on this after SSR support

I've been refactoring the core part of the engine for quite some time, and finally, I've started implementing this feature. I've come up with a new idea that seems more flexible to me, and it departs from the initial proposal:

Allow passing an array of paths to markdown files instead of a single path when describing the page metadata:

const MyPage: NgDocPage = {
  title: `My Page`,
  mdFile: ['./index.md', './api.md'],
};

In this case, each markdown file will be considered a separate page, displayed as individual tabs.

Add support for YAML Front Matter metadata for each markdown file, so you can describe tab title, route, icon, and other parameters:

api.md
---
title: API
icon: button-icon
route: api
---

Rendering the API on the markdown file page will occur using the NgDocActions.api method. This way, users can decide how to render the API, either on a separate page or within the current index.md file:

api.md
---
title: API
icon: button-icon
route: api
---

{{ NgDocActions.api('libs/ui-kit/components/button.ts#ButtonComponent') }}

index.md
# ButtonComponent

## API

{{ NgDocActions.api('libs/ui-kit/components/button.ts#ButtonComponent') }}

Implemented in NgDoc v18


[Feature request] Tool access to object's property list

Right now tools have a limited access to the editor (or at least the documentation isn't really descriptive about what you can do). Exports also provide a limited ability to expose functionality to the artists, so I thought what could we do to extend this in some way.
I guess the easiest way to do this would be to expose the property list directly to a script. That way programmers could create GUI elements as they please, and then retrieve the values. The only issue would be saving the property values of custom elements in a scene file - export/import callbacks maybe?
A trivial example:
I'd like to allow my artist to select properties from a set of checkboxes. I will need:

Access to a GUI field where I could insert the checkboxes and a layout
A way to tell Godot what is the value of my GUI fields for saving (serialization)
A way for Godot to tell me what value is stored in a scene when loading, to properly setup the checkboxes (deserialization)

So I think simple callbacks for scripts could be easiest to integrate with the current state of things.
export(func, int, "_myGUISetup", "_mySerializer", "_myDeserializer") var MyPropertyBox;

func _myGUISetup(parent):
    pass # Put a layout inside of the parent, put checkboxes inside of the layout

func _mySerializer(parent):
    pass # Read checkbox state and return an int value (defined in export) representing the state of the proprty, called on scene save

func _myDeserializer(parent, serializedState):
    pass # Called after _myGUISetup with serializedState if a value is saved in a scene

Things to think about:

Could animations be used with this? (I guess it depends on the implementation specifics)
Could plugins be used with this? (defining function names in the export might be a bad idea, maybe plugins could define a custom type for the export name export("pluginCustomField") var MyPluginProperty)

Use examples:

Countless really, depends on needs
A field allowing selection of an interpolation function with factor selection and an image rendering a plot of it
GDScript implementation of arrays of properties (Unity property lists equivalent)
Selection of a postprocessing filter to use with a preview
A field for file selection with a button
Diagnostic read-only fields showing some properties like distance to the end of a map or anything else requiring runtime calculations in the scene

will soon be working on having better documentation on tools and how to
access the editor from it.
for a more complex serialize/deserialize behavior you can simply export a
single property and give it/take a dictionary
var mydata setget deserialize,serialize
func serialize():
return {} # return your data in a dict
func deserialize(data):
#get your serialized data back
On Tue, Jun 30, 2015 at 9:56 AM, Karol Walasek<EMAIL_ADDRESS>wrote:

Right now tools have a limited access to the editor (or at least the
documentation isn't really descriptive about what you can do). Exports also
provide a limited ability to expose functionality to the artists, so I
thought what could we do to extend this in some way.
I guess the easiest way to do this would be to expose the property list
directly to a script. That way programmers could create GUI elements as
they please, and then retrieve the values. The only issue would be saving
the property values of custom elements in a scene file - export/import
callbacks maybe?
A trivial example:
I'd like to allow my artist to select properties from a set of checkboxes.
I will need:

Access to a GUI field where I could insert the checkboxes and a
layout
A way to tell Godot what is the value of my GUI fields for saving
(serialization)
A way for Godot to tell me what value is stored in a scene when
loading, to properly setup the checkboxes (deserialization)

So I think simple callbacks for scripts could be easiest to integrate with
the current state of things.
export(func, int, "_myGUISetup", "_mySerializer", "_myDeserializer") var MyPropertyBox;
func _myGUISetup(parent):
pass # Put a layout inside of the parent, put checkboxes inside of the layout
func _mySerializer(parent):
pass # Read checkbox state and return an int value (defined in export) representing the state of the proprty, called on scene save
func _myDeserializer(parent, serializedState):
pass # Called after _myGUISetup with serializedState if a value is saved in a scene
Things to think about:

Could animations be used with this? (I guess it depends on the
implementation specifics)
Could plugins be used with this? (defining function names in the
export might be a bad idea, maybe plugins could define a custom type for
the export name export("pluginCustomField") var MyPluginProperty)

Use examples:

Countless really, depends on needs
A field allowing selection of an interpolation function with factor
selection and an image rendering a plot of it
GDScript implementation of arrays of properties (Unity property
lists equivalent)
Selection of a postprocessing filter to use with a preview
A field for file selection with a button
Diagnostic read-only fields showing some properties like distance to
the end of a map or anything else requiring runtime calculations in the
scene

—
Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2218.

Right, so the export() could use a setget instead of directly pointing to the function name, and it would have to be required for it to work.
export(func, dict, _myGUIBuilder) var MyProperty setget deserialize,serialize

Still, even to manipulate the dictionary the GUI elements would be needed
Hopefuly the tools will allow this to happen. Will wait for documentation, then further feedback will be given.

to create custom editors, the EditorPlugin helper must be used , but this
is still not complete and documented, some guys were trying out stuff and
returned a lot of feedback (the current API is more like a prototype API
than anything else), so I hope to roll out docs for this in the next weeks
On Tue, Jun 30, 2015 at 10:23 AM, Karol Walasek<EMAIL_ADDRESS>wrote:

Right, so the export() could use a setget instead of directly pointing to
the function name, and it would have to be required for it to work.
export(func, dict, _myGUIBuilder) var MyProperty setget deserialize,serialize
Still, even to manipulate the dictionary the GUI elements would be needed
Hopefuly the tools will allow this to happen. Will wait for documentation,
then further feedback will be given.
—
Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2218#issuecomment-117181908.

Is this still valid now that there is a new EditorPlugin API in the 2.1?

I'm pretty sure this can be achieved with a 2.1 plugin, further study may at most reveal suggestions towards the new EditorPlugin interface. Thanks for the great work on this!


FIX: Fixing bugs and innacuracies in state-space inference.

Correcting some inaccuracies which emerged during testing.

I had a look and you are indeed right with your Exponential and we will have to change the lengthscale in GPy instead of in your code : ) Thanks!

I am fixing the stuff on the state_space branch

Current coverage is 47.25%

Merging #362 into devel will not affect coverage as of b511ebb

@@            devel    #362   diff @@
=====================================
  Files         177     177
  Stmts       17204   17205     +1
  Branches     2526    2526
  Methods         0       0
=====================================
+ Hit          8130    8131     +1
  Partial       472     472
  Missed       8602    8602

Review entire Coverage Diff as of b511ebb

Powered by Codecov. Updated on successful CI builds.

Fixing in #364


Fix/api URL field twitch

fixes #1248
Also, fixes the big twitch when text in URL field wraps multiline(file attached), by making the multiline text as a single line (assuming the URL field no need to be multiline)

Thanks @sumanthyedoti for your contributions in making Appsmith the best tool out there 😄
@all-contributors please add @sumanthyedoti as a contributor for code


Added tests

I added three tests since there was none.
Also SecureRandom.uuid does not return an UTF8 string rather a string with ASCII-8BIT encoding.
When you are using file, stdout or tcp output it won't be a problem, but in tests where spec_helper calls the LogStash::Event's validate method, it throws an error if the string isnt utf8 encoded: https://github.com/elastic/logstash/blob/master/lib/logstash/event.rb#L263-L266
ps: this is the trace when force_encoding("UTF-8") isn't used:
Failures:

  1) LogStash::Filters::Uuid add field "{"foo":"bar"}" when processed
     Failure/Error: expect(subject["uuid"]).to_be not_nil
     RuntimeError:
       expected UTF-8 encoding for value=12bd7532-435b-45f3-b2f4-90c6babaa42a, encoding=#<Encoding:ASCII-8BIT>
     # ./vendor/bundle/jruby/1.9/gems/logstash-core-1.5.3-java/lib/logstash/event.rb:264:in `validate_value'
     # ./vendor/bundle/jruby/1.9/gems/logstash-devutils-0.0.15-java/lib/logstash/devutils/rspec/spec_helper.rb:40:in `[]='
     # ./lib/logstash/filters/uuid.rb:50:in `filter'
     # ./vendor/bundle/jruby/1.9/gems/logstash-core-1.5.3-java/lib/logstash/filters/base.rb:163:in `multi_filter'
     # ./vendor/bundle/jruby/1.9/gems/logstash-core-1.5.3-java/lib/logstash/filters/base.rb:160:in `multi_filter'
     # (eval):33:in `filter_func'
     # ./vendor/bundle/jruby/1.9/gems/logstash-core-1.5.3-java/lib/logstash/pipeline.rb:301:in `filter'
     # ./vendor/bundle/jruby/1.9/gems/logstash-devutils-0.0.15-java/lib/logstash/devutils/rspec/logstash_helpers.rb:49:in `results'
     # ./vendor/bundle/jruby/1.9/gems/logstash-devutils-0.0.15-java/lib/logstash/devutils/rspec/logstash_helpers.rb:47:in `results'
     # ./vendor/bundle/jruby/1.9/gems/logstash-devutils-0.0.15-java/lib/logstash/devutils/rspec/logstash_helpers.rb:58:in `subject'
     # ./spec/filters/uuid_spec.rb:15:in `(root)'

I also built a custom gem in case you would like to try it out: https://s3.amazonaws.com/purposeindustries/logstash-filter-uuid-1.0.0.utf8.gem (use bin/plugin --no-verify install <gem> to install it)

Closing this in favour of #3


add openvino support

add support for openvino, details can be found at https://hbblog.cn/?id=7

@thb1314 Thanks for your excellent PR for OpenVINO support. I have added some comments for the changes.
Besides, it would be better to add a unit test at test/backend/test_backend.py and pass the code style check. You can run "flake8 ." at the root directory of MQBench project.
Looking forward to your continuous contribution!

Also cc @AlexKoff88 from the OpenVINO team for a better review.

Update: I have checked the code style and added unit test for openvino backend.

@thb1314, do you have performance numbers with OpenVINO at least for ResNet-18? It is easy to get it. Here are the steps:

pip install openvino openvino-dev
benchmark_app -m <model_name.onnx> -d CPU

This should be done for both FP32 and 8-bit models and the expected speedup for ResNet-18 should be ~3x depending on the CPU generation.

@AlexKoff88 It is not necessary to narrow the range to 7bit for weights for the overflow issue about AVX2? I check the setting of nncf and find it set the weight quantization bit to 7bit.

@AlexKoff88 It is not necessary to narrow the range to 7bit for weights for the overflow issue about AVX2? I check the setting of nncf and find it set the weight quantization bit to 7bit.

Right for AVX-2/AVX-512 we use [-63,63] for weights representation while storing the values in INT8 type. Please note that NNCF uses QAT to restore accuracy drop when applying this workaround to all the linear layers within the model.

CPU： Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz Model: resnet18
benchmark_app result:
original model Count: 6792 iterations Duration: 60095.18 ms Latency: 51.62 ms Throughput: 226.04 FPS
after quantization Count: 17244 iterations Duration: 60039.41 ms Latency: 20.37 ms Throughput: 287.21 FPS

I see significant improvement in the latency while little improvement in the throughput Did you use -api sync parameter of the benchmark_app with stands for the synchronous execution?

CPU： Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz Model: resnet18
benchmark_app result:
original model Count: 6792 iterations Duration: 60095.18 ms Latency: 51.62 ms Throughput: 226.04 FPS
after quantization Count: 17244 iterations Duration: 60039.41 ms Latency: 20.37 ms Throughput: 287.21 FPS

I see significant improvement in the latency while little improvement in the throughput Did you use -api sync parameter of the benchmark_app with stands for the synchronous execution?

No, I didn't use -api sync paramter, I test this on a tiny workstation which has a 24 core CPU.

CPU： Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz Model: resnet18
benchmark_app result:
original model Count: 6792 iterations Duration: 60095.18 ms Latency: 51.62 ms Throughput: 226.04 FPS
after quantization Count: 17244 iterations Duration: 60039.41 ms Latency: 20.37 ms Throughput: 287.21 FPS

I see significant improvement in the latency while little improvement in the throughput Did you use -api sync parameter of the benchmark_app with stands for the synchronous execution?

No, I didn't use -api sync paramter, I test this on a tiny workstation which has a 24 core CPU.

Ok. Is it possible to share the quantized model prepared for OpenVINO execution? I would like to look at it and try as well.

If the BatchNorms are fused, what range will be used for weights?

Just to note: we use a narrow range for weights: [-127, 127] if BatchNorms are not fused and full ranges for activations: [-128, 127] or [0,255]. Now OpenVINO shows performant results if weights are symmetric ([-127, 127], zp=0) and activation are symmetric ([-128, 127]) or asymmetric ([0,255], zp=INT8)

If the BatchNorms are fused, what range will be used for weights?

CPU： Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz Model: resnet18
benchmark_app result:
original model Count: 6792 iterations Duration: 60095.18 ms Latency: 51.62 ms Throughput: 226.04 FPS
after quantization Count: 17244 iterations Duration: 60039.41 ms Latency: 20.37 ms Throughput: 287.21 FPS

It would be great if there is a tutorial in the document for how to deploy OpenVINO models.
If possible, could you please add instructions in https://github.com/ModelTC/MQBench/tree/main/docs/source/user_guide/deploy. (e.g., http://mqbench.tech/assets/docs/html/user_guide/deploy/snpe.html)
If there is a complete example for some prevalent networks like ResNet or MobileNet, including how to convert an OpenVINO model and the final speed and accuracy results, it will be easier for beginners to follow.

Just to note: we use a narrow range for weights: [-127, 127] if BatchNorms are not fused and full ranges for activations: [-128, 127] or [0,255]. Now OpenVINO shows performant results if weights are symmetric ([-127, 127], zp=0) and activation are symmetric ([-128, 127]) or asymmetric ([0,255], zp=INT8)

If the BatchNorms are fused, what range will be used for weights?

If BatchNorms are fused before the quantization any range can be used, e.g. [-128,127] or [-64,63]. But if BatchNorms are presented you should use narrow range: [-127,127] or [-63,63]

Just to note: we use a narrow range for weights: [-127, 127] if BatchNorms are not fused and full ranges for activations: [-128, 127] or [0,255]. Now OpenVINO shows performant results if weights are symmetric ([-127, 127], zp=0) and activation are symmetric ([-128, 127]) or asymmetric ([0,255], zp=INT8)

If the BatchNorms are fused, what range will be used for weights?

If BatchNorms are fused before the quantization any range can be used, e.g. [-128,127] or [-64,63]. But if BatchNorms are presented you should use narrow range: [-127,127] or [-63,63]

Get it. Thanks for the explanation.

@AlexKoff88 Address for resnet18 onnx files, thanks for your help.
https://drive.google.com/drive/folders/1_liVq6H0d1Cn8sXIk9lpB2RDMUbIi5vK?usp=sharing

@XHPlus Docs is added

@XHPlus Docs is added

Thanks for your efforts! Could you also provide a speed and accuracy comparison result for the FP32 and INT8 models?

Just to note: we use a narrow range for weights: [-127, 127] if BatchNorms are not fused and full ranges for activations: [-128, 127] or [0,255]. Now OpenVINO shows performant results if weights are symmetric ([-127, 127], zp=0) and activation are symmetric ([-128, 127]) or asymmetric ([0,255], zp=INT8)

If the BatchNorms are fused, what range will be used for weights?

Right, this is only for weights, activations are not impacted.

@AlexKoff88 Address for resnet18 onnx files, thanks for your help.
https://drive.google.com/drive/folders/1_liVq6H0d1Cn8sXIk9lpB2RDMUbIi5vK?usp=sharing

I looked at the model and found a couple of issues that prevent OpenVINO from getting the best performance.
First, there should be an FQ before MaxPool but it missed:

Second, FQ should be propagated through the Flatten layer in this case and located before this operation and after GlobalAveragePool:

BTW, what MQBench does not use quantization tools available in the toolkit, like OpenVINO NNCF or OpenVINO POT? Every toolkit (ORT, TensorRT, OpenVINO, etc.) and runtime has specific expectations on how the model is quantized. If MQBench is a benchmark I would expect that it just uses the API of the tools to prepare the model for execution.

@AlexKoff88 Address for resnet18 onnx files, thanks for your help.
https://drive.google.com/drive/folders/1_liVq6H0d1Cn8sXIk9lpB2RDMUbIi5vK?usp=sharing

I looked at the model and found a couple of issues that prevent OpenVINO from getting the best performance. First, there should be an FQ before MaxPool but it missed:
Second, FQ should be propagated through the Flatten layer in this case and located before this operation and after GlobalAveragePool:
BTW, what MQBench does not use quantization tools available in the toolkit, like OpenVINO NNCF or OpenVINO POT? Every toolkit (ORT, TensorRT, OpenVINO, etc.) and runtime has specific expectations on how the model is quantized. If MQBench is a benchmark I would expect that it just uses the API of the tools to prepare the model for execution.

As for the second point, NNCF and POT are indeed the most direct and suitable toolkit for deploying models on OpenVINO. By doing this, if researchers want to improve the quantized accuracy, they need to add quantization algorithms to NNCF and POT. For the researchers not familiar with the industry runtime and hardware, it is an extra cost. Besides, when they want to validate their algorithm on another hardware runtime, they need to learn about the new toolkit, such as TensorRT. So MQBench wants to be a bridge, researchers can realize their algorithm and export the model to the practical hardware in a unified toolkit. It seems that the current implementation of this PR misses some quantization points and leads to an inferior latency performance. This is also what MQBench wants to reveal, i.e., due to the design of hardware, many quantization details differ on different hardware runtimes.
In our practical production pipeline in the company, we usually need to apply AdaRound or BRECQ to a model for a better accuracy and deploy it on different hardware. So we choose to obtain the quantization parameters like scale/zero point in MQBench, and convert the model with the quantization parameters to the hardware using the hardware toolkit. Fortunately, most vendors provide the conversion tool. For example, SNPE supports a caffe/onnx model and overriding the quantization parameters with a json file. TensorRT (<8.0) can also parse a onnx model and fill the quantization parameters by the "set_range" API. OpenVINO can also parse the onnx with quantization node.
I agree with your suggestion that it is better to directly use the official toolkit of specific hardware. If each hardware runtime has a decoupled API for inserting the quantization point and quantization scheme, MQBench will directly use this API to prepare the model. However, right now, most quantization tools insert the quantization node in different ways and convert the model to different IRs. It prevents a unified API calling. If there is a uniform specification, the problem will be easy. I think we can start from PyTorch and MQBench, each vendor gives a PyTorch API to prepare the model, and ensures the export for hardware.

I will try my best to match the quantized pattern in NNCF and POT.
This version add propagated pattern for openvino quantizer which can insert FQ before Flatten instead of linear operator.

@AlexKoff88 Address for resnet18 onnx files, thanks for your help.
https://drive.google.com/drive/folders/1_liVq6H0d1Cn8sXIk9lpB2RDMUbIi5vK?usp=sharing

I looked at the model and found a couple of issues that prevent OpenVINO from getting the best performance. First, there should be an FQ before MaxPool but it missed:
Second, FQ should be propagated through the Flatten layer in this case and located before this operation and after GlobalAveragePool:
BTW, what MQBench does not use quantization tools available in the toolkit, like OpenVINO NNCF or OpenVINO POT? Every toolkit (ORT, TensorRT, OpenVINO, etc.) and runtime has specific expectations on how the model is quantized. If MQBench is a benchmark I would expect that it just uses the API of the tools to prepare the model for execution.

As for the second point, NNCF and POT are indeed the most direct and suitable toolkit for deploying models on OpenVINO. By doing this, if researchers want to improve the quantized accuracy, they need to add quantization algorithms to NNCF and POT. For the researchers not familiar with the industry runtime and hardware, it is an extra cost. Besides, when they want to validate their algorithm on another hardware runtime, they need to learn about the new toolkit, such as TensorRT. So MQBench wants to be a bridge, researchers can realize their algorithm and export the model to the practical hardware in a unified toolkit. It seems that the current implementation of this PR misses some quantization points and leads to an inferior latency performance. This is also what MQBench wants to reveal, i.e., due to the design of hardware, many quantization details differ on different hardware runtimes.
In our practical production pipeline in the company, we usually need to apply AdaRound or BRECQ to a model for a better accuracy and deploy it on different hardware. So we choose to obtain the quantization parameters like scale/zero point in MQBench, and convert the model with the quantization parameters to the hardware using the hardware toolkit. Fortunately, most vendors provide the conversion tool. For example, SNPE supports a caffe/onnx model and overriding the quantization parameters with a json file. TensorRT (<8.0) can also parse a onnx model and fill the quantization parameters by the "set_range" API. OpenVINO can also parse the onnx with quantization node.
I agree with your suggestion that it is better to directly use the official toolkit of specific hardware. If each hardware runtime has a decoupled API for inserting the quantization point and quantization scheme, MQBench will directly use this API to prepare the model. However, right now, most quantization tools insert the quantization node in different ways and convert the model to different IRs. It prevents a unified API calling. If there is a uniform specification, the problem will be easy. I think we can start from PyTorch and MQBench, each vendor gives a PyTorch API to prepare the model, and ensures the export for hardware.

I see the point about providing a framework for experimental algorithms. It makes sense. Thanks!

I will try my best to match the quantized pattern in NNCF and POT. This version add propagated pattern for openvino quantizer which can insert FQ before Flatten instead of linear operator.

Thanks for your excellent efforts! Could you please give a specific accuracy and latency result for ImageNet ResNet-18 in the documentation, which will be of great help for the newcomers.

I will try my best to match the quantized pattern in NNCF and POT. This version add propagated pattern for openvino quantizer which can insert FQ before Flatten instead of linear operator.

Thanks for your excellent efforts! Could you please give a specific accuracy and latency result for ImageNet ResNet-18 in the documentation, which will be of great help for the newcomers.

OK, ImageNet ResNet-18 PTQ example using MQBench has been commited. I put it in the application folder and put the link in the documentation.

I will try my best to match the quantized pattern in NNCF and POT. This version add propagated pattern for openvino quantizer which can insert FQ before Flatten instead of linear operator.

Thanks for your excellent efforts! Could you please give a specific accuracy and latency result for ImageNet ResNet-18 in the documentation, which will be of great help for the newcomers.

OK, ImageNet ResNet-18 PTQ example using MQBench has been commited. I put it in the application folder and put the link in the documentation.

Perfect! The PR has been merged. Thanks for your continuous contribution! And thanks @AlexKoff88 for the valuable suggestions!


Import from another file not working in new architecture

Description
export type PlayerConfig = {
mediaURL: string;
mediaType: MediaTypeValue;
drmLicenseURL?: string | undefined | null;
drmType?: DrmTypeValue | undefined | null;
}
export interface Spec extends TurboModule {
initWithConfig(playerConfig: PlayerConfig): Promise;
getNativeID(): Promise;
load(): Promise;
play(): Promise;
pause(): Promise;
stop(): Promise;
dispose(): Promise;
seek(seekPosition: number): Promise;
}
it works for me
but
NativePlayer.ts
import { PlayerConfig } from '../typings/data.ts';
export interface Spec extends TurboModule {
initWithConfig(playerConfig: PlayerConfig): Promise;
}
data.ts
export type PlayerConfig = {
mediaURL: string;
mediaType: MediaTypeValue;
drmLicenseURL?: string | undefined | null;
drmType?: DrmTypeValue | undefined | null;
}
it does not work for me
React Native Version
0.71.4
Output of npx react-native info
System:
OS: macOS 10.15.7
CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
Memory: 628.36 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 14.18.3 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 6.14.15 - /usr/local/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
Languages:
Java: 11.0.15 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.2.0 => 18.2.0
react-native: 0.71.4 => 0.71.4
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
importing a type from another file is not working for me giving error
UnsupportedGenericParserError: Module NativePlayer: Unrecognized generic type ‘ PlayerConfig’ in NativeModule spec.
Snack, code example, screenshot, or link to a repository
https://github.com/shagun-firstlight/testNewArch1.git

⚠	Newer Version of React Native is Available!
ℹ	You are on a supported minor version, but it looks like there's a newer patch available. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases.

still not working for me

I have the same problem, unfortunately I have to use version 0.70.7 to continue with my studies, has anyone managed to solve this error in version 0.71.4?


Add taskRun status to pipelineRun Status

Fixes #237
Proposed  Changes

Add a map of taskRun name and status in the pipelineRun Status
Update pipelineRun integration test to check for status

add more coverage in unit tests

haha amazing!

@bobcatfish please take another look

I think there's an error message that needs an update so
/hold
But otherwise
/lgtm
(apologies that you'll have to get another /lgtm after the error message update :disappointed: )

pushed a fix to the test message
/hold cancel

/lgtm
/meow space

/test pull-knative-build-pipeline-integration-tests


NullReferenceException WPA to parse perf log

Hi Team,
We (MsQuic) are trying to use WPA to visualize perf data.
WPA shows NullReferenceException by loading perf log. I heard the exception comes from perfview from the extension developer.
Could you take a look at from these info?

https://github.com/microsoft/msquic
Run on Ubuntu from codespaces
PerfDataExtension from https://github.com/microsoft/Microsoft-Performance-Tools-Linux-Android
Test machine side: perf -F 10 -a -g -o server.perf.data
Windows side: wpa.exe -addsearchdir C:\Users\daikiaminaka\workspace\Microsoft-Performance-Tools-Linux-Android\PerfDataExtensions\bin\Debug\netstandard2.1\
Attached is the entire log from Diagnostic Console on WPA. I believe the System.NullReferenceException at the end come from perfview.
WPA_PerfDataExtension.txt

@ami-GS, looking at the log, it does appear that the exception is thrown in TraceEvent code.  Can you please share file:///C:/Users/daikiaminaka/Downloads/root/QUICLogs/msquicperf3/server.perf.data.txt?  That will make this much easier to repro.

Newly taken, but I confirmed NullReferenceException happens
Uploading msquicperf3.perf.data.txt…

file could not be uploaded for some reason. (Github bug?)
Let me share the file in internal channel

file uploaded!
msquicperf3.perf.data.txt

@ami-GS, apologies for the delay.  It looks like this is actually the raw perf.data file, and not the perf.data.txt file that TraceEvent knows how to consume.  Can you confirm that this is actually the file that is being opened?  If so, that's the reason that this isn't working.

Let me double check, but what file you expect? the one after applying stackcollapse-perf.pl?

Looking at your repro steps again, I anticipate the issue is that you need to convert the perf.data file that gets collected on the Linux machine to a perf.data.txt file, which is done via the perf script command.  I'm not sure what the instructions are for capturing traces to view in WPA, but if TraceEvent is being used underneath, which I understand to be the case, then TraceEvent doesn't know how to read anything but the output of perf script.  I suspect you need to run perf script -i <inputfile> -F comm,pid,tid,cpu,time,period,event,ip,sym,dso,trace > perf.data.txt and then use the resulting file.

I could visualize with the output from perf script... there was no issue.
Thanks for your help!


Log sub resource locators correctly

This should close #1257.
@espenhoh let me know if I missed anything.
EDIT: Closes #1222 too

Conceptually this looks good to me.
I have one only proposal: what do you think about using java-classmate for type resolving? It provides a nice API for working with java.lang.reflect.Type stuff, which is more readable than pure reflection. I think, we could strip the fix down to something like that:
final ResolvedType responseType = TYPE_RESOLVER
                                 .resolve(method.getInvocable().getResponseType());
final Class<?> erasedType = !responseType.getTypeBindings().isEmpty() ?
        responseType.getTypeBindings().getBoundType(0).getErasedType() :
        responseType.getErasedType();
populate(path, erasedType, true, endpointLogLines);

Done. I'm all for ways to make code simpler!

Thanks!

Yes works :). Thanks a lot! There are a lot of tests breaking, is it normal?

What do you mean tests are failing? The continuous integration tool dropwizard uses (Travis CI), occasionally breaks, so tests failing on Travis is normally not a big deal. If you have found additional issues with dropwizard, feel free to report them.

I am not familiar with Travis CI or continuos integration, is it something I should look into?
But then I guess it's under control and I will build dropwizard without tests :)

Oh, I see, your local build is failing. Your local build shouldn't be failing (though even I get the occasional socket read time out or address already in use)


Replace v0.11.4 with v0.12.2 as the latest release

The title says it all.

I just noticed this line:

⚠ Please note that this version is not stable yet and might change. Also, Linux support is still experimental and it might not work on every desktop environment. Please file an issue if you find a bug.

If it applies to v0.12.2, shouldn't you mark it as pre-release than release (as shown here)?

@aeruower Thanks so much for catching and updating this. You're also correct that the "not stable" language is out of date; I've removed this in https://github.com/ipfs-shipyard/ipfs-desktop/pull/1619/commits/acc3872cf80cb82585d255047cc9fcdc1eaa23b2.


Trains not leaving timed stations when station is over 180 blocks away

BkCommonLib version:1.12.2-v4
TrainCarts version:1.12.2-v2
Spigot version:CraftBukkit 1.12.2

Problem or bug:
trains do not leave stations with signs like
[train]
station
10
right
when you have timed spawners, the spawners will spawn trains and all the trains will crash into the original train after it's supposed to have left the station already.
Expected behaviour:the train should leave the station after the time in seconds on the sign
Steps to reproduce: place a timed spawner, build a 200 or more block railway, then place a timed station at the end. turn the spawner on, wait 5 minutes, turn it off, and fly to the station. you should see the trains all clogged into each other or something glitchy like that.

Did you power the station sign?

yes

or i did [!train]

Did you set the config value keepChunksLoadedOnlyWhenMoving to false?

whats that

@goofygoff Can you tell me the delay time set on both the spawner sign and the station sign?

[for better understanding , we assumed the thing spawning at spawner is a single minecart]
When making automated systems, the delay for spawner signs should be longer than the one at station as a safety buffer.
What might happened to you:
If you have the same delay time on both the spawner sign and station sign, the next spawned cart will bump into the one standing on top of the station sign(which is about to depart), when the carts are at their default behavior (which is linking on collision), they will link up, forming a new train that consists of 2 minecarts. To the station sign, this is a brand new train, and would initiate stopping action once again , stopping the train with 2 minecarts with given delay (even though one cart should have been left the station already).
Even if carts do not link, the next spawned cart will still bump into the one on station, losing its velocity in front of the station (and stand right there) while the one originally standing at the station leaves. This is still breaking the automation

The reason behind this is that station signs do not stop / start a train immediately, when a cart / train runs on top of a station sign, it will stop the train smoothly until the station sign is at the middle of the whole train. Station signs are stopping the train only when one of the member cart (mostly the first cart) touches the  rail on a station sign

this is the result

the station sign is 5 seconds and the spawner is 45 seconds

Anyone got a fix for it?

Bergerhealer?

Do you have a screenshot on both the spawner and the station sign?

@ThisTNTSquid help meeeeeee

Well..

Do you have a screenshot on both the spawner and the station sign?

If you can, please also provide me with the setup details
Also double check if the trains have loadchunk property with keepChunksLoadedOnlyWhenMoving set to false in the config. In your case which trains don't depart, keepChunksLoadedOnlyWhenMoving is likely to be the cause as the trains are able to stop at station, but not departing after they stopped.

Side note: If you have discord already, please consider joining/using our discord server here at https://discord.gg/P34bUPT . It should provide a much more direct and quicker support for the problem you are facing right now

keepChunksLoadedOnlyWhenMoving is false

We need screenshots of the signs

Ok

here they are

Aah..

You see that line "Keep nearby chunks loaded: false"?
It needs to be set to true

how do u change it? also, how do i set it so that it doesn't stop when a horse or mob or player hits it?

you add 3 property signs after the train spawns

Is this issue resolved yet?

Is the issue resolved? If yes please close the issue


fix/scarb-script

Closes #43

This PR is sponsored by Nethermind and will therefore not be included in any OnlyDust payment.


JSON stringify objects

Also replace the slow .map calls with faster for loops.
Tests coming up

This is to fix the [object Object] display in the grid

heads up @cldougl for your screenshots - the postgis cells are going to be actual objects instead of [object Object]

@alexandresobolevski - any problems that you can think of off the top of your head with this approach? I'll test against date objects and geojson objects

I got hit by the redhsift dates that is all. Those date objects need to be usable by workspace.
PS did not know map calls are worth changing for for loops when increasing speed. Do you know form the top of your head what impact in could have?

PS did not know map calls are worth changing for for loops when increasing speed. Do you know form the top of your head what impact in could have?

It's like 95% faster. However, this only makes a difference in areas where we're looping over thousands of elements

ok, I think this is good now. @alexandresobolevski - could you review?

Here is a screenshot inside the workspace

Before this PR, that query looked like: