[Bug] whisper transcription quality dropped between 2.0.1 and 2.2.0 release

I have observed relatively significant degradation in transcription quality between versions 2.0.1 and 2.2.0 using automatic-speech-recognition (whisper) although using the very same configuration.
Here is an example output for the same input:
2.0.1 result
0 -> 7  We have main engine start.
7 -> 10  4, 3, 2, 1.
10 -> 13  Yeah, whoa!
23 -> 27.08  You're a jerk, Tom. Look, Celia, we have to follow our passions.
27.08 -> 30.240000000000002  You have your robotics, and I just wanna be awesome in space.
30.24 -> 34.519999999999996  Why don't you just admit that you're freaked out by my robot hand?
34.52 -> 37.46  I'm not freaked out, but it's...
37.46 -> 39.36  All right, fine. I'm freaked out.
39.36 -> 42.36  I'm having nightmares that I'm being chased by these giant robotic claws.
42.36 -> 45.18  Oh, what in our tongue? We're done.
50.16 -> 53.78  - Robots memory, synced, and locked.

2.2.0 result
0 -> 3  [ [ ]
3 -> 4  [
4 -> 5  ]
5 -> 7  We have main engine start
7 -> 10  4, 3, 2, 1
10 -> 11  [ ]
11 -> 10  [
10 -> 12  ]
12 -> 11  [
11 -> 12  ]
12 -> 27.36  [ ] [ (thunder rumbling) - You're a jerk, Tom. - Look, Celia, we have to follow our passions.
27.36 -> 30.72  You have your robotics and I just wanna be awesome in space.
30.72 -> 32.68  - Why don't you just admit that you're
32.68 -> 34.68  freaked out by my robot hand?
34.68 -> 36.2  - I'm not freaked out, but it's...
37.68 -> 38.68  All right, fine.
38.68 -> 39.519999999999996  I'm freaked out.
39.52 -> 40.92  I'm having nightmares that I'm being chased
40.92 -> 42.44  but he's dying robotic class.
42.44 -> 44.36  - Oh, what in our dumb?
44.36 -> 45.18  We're done.
50.18 -> 53.68  - Robots memory, synced, and locked.

These are the observed issues:

lowered timestamp precision, for example You're a jerk, Tom. from 23 -> 27.08 to 12 -> 27.36
words are recognized with less precision, for example from chased by these giant robotic claws to chased ... but he's dying robotic class.
random appearance of [ and ] characters (although can be filtered in postprocesing)

I am wondering if these two versions use differently trained models?
Or is there any extra configuration I could pass into 2.2.0 pipeline/pipe to get the results at least matching 2.0.1 without drop in performance (I am aware of num_beams but that decreases performance heavily)
I am attaching min repro testing scripts for evaluation, keep it running 1-2 minutes and the output appears in the console.log
The worker is as simple as:
import { pipeline } from "https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>
const file = "tos.pcm";
const model = "Xenova/whisper-base.en";

const buffer = new Float32Array(await (await fetch(file)).arrayBuffer());
const pipe = await pipeline("automatic-speech-recognition", model);
const result = await pipe(buffer, {
	chunk_length_s: 30,
	stride_length_s: 5,
	return_timestamps: true});

let content = "2.2.0 result\n";
for(let {text, timestamp} of result.chunks)
	content += `${timestamp[0]} -> ${timestamp[1]} ${text}\n`;
console.log(content);

I have a feeling this is due to removed mel filters in preprocessor_config.json:
https://huggingface.co/Xenova/whisper-tiny.en/commit/587f87336f46d17831cc9a2539389bef5f082537.diff?file=preprocessor_config.json
What you could do is downloading the old version with mel_filters and instruct transformers.js to load your local model - if it has mel filters, transformers.js will not attempt to recalculate them - and the recalculation is only super minuscule different than the Python implementation - and yet I saw differences aswell.

Hi @kungfooman , thanks for your quick reply.
Is there a way I only host/provide local preprocessor_config.json while the other assets are loaded from HF?
@kungfooman , @xenova how safe it is to keep local preprocessor_config.json considering future transformers.js releases? Or would it be possible to have transformer.js loading config with mel filters under some runtime/pipeline flag?

IMO the important question right now is "why"... is there a problem just cloning Xenova/whisper-base.en and test with it locally?
You can e.g. use:
async function clearTransformersCache() {
  const tc = await caches.open("transformers-cache");
  const keys = await tc.keys();
  keys.forEach(key => tc.delete(key));
}
await clearTransformersCache();
// git clone https://huggingface.co/Xenova/whisper-tiny/
env.localModelPath = "http://<IP_ADDRESS>/transformer/models/";
const pipe = await pipeline("automatic-speech-recognition", "whisper-tiny or whatever model you want to test with");

Hm... both 2.0.1 and 2.2.0 links to https://huggingface.co/Xenova/whisper-base.en/resolve/main/preprocessor_config.json which has no mel_filters and there is no config with mel filters in repo history

Mel filters are defined by the rest of the preprocessor_config.json and since they are the same, you can just copy other mel filters (aka just copy over entire file)

If both 2.0.1 and 2.2.0 use the same preprocessor_config.json, both without mel filters, yet the results are different, how come mel filtes are to look into? What am I missing?

They share the same values, but come in two variants: with or without mel_filters
With "same" I refered only to the values. If the values were different, you wouldn't be able to copy the mel_filters from another file with "same" values.
So basically this is the entire issue: when they removed the mel_filters from the preprocessor_config.json, they argued it just looks ugly and isn't required anyway, because you get the "same" values by recalculating them. But this recalculation in JS is maybe 99.999999% aligned with the Python calculation and yet it differed in my test.
So just fetch a JSON with mel_filters in it (but otherwise SAME values, or your mel filters are different :sweat_smile:) and see if the quality improves again.
As far I know the release of the models isn't aligned with transformers.js releases either, they should work independently of each other (and are released whenever it fits on HuggingFace).

mel_filters were not removed from whisper-base.en/preprocessor_config.json, b/c it never was there in first place. Or please show me the commit where it happened for whisper base - which is the one I am reporting this bug for https://huggingface.co/Xenova/whisper-base.en/commits/main/preprocessor_config.json .
I am having really hard times explaining that there is just no such config with mel filters for whisper-base.en. If I am doing something wrong on my side please send me a link to whisper-base.en with mel filters. I am not reporting the issue for whisper-tiny!
Considering 2.0.1 and 2.2.0 use the very same preprocessor_config.json file and there never was mel_filters in place in this file, and most likely the very same revision of whisper-base.en, what else could be the issue related to my bug report?

I see, the other big change was this PR: https://github.com/xenova/transformers.js/pull/133
You can just pick commits back in history and see where it degraded.

Just to confirm, you are using the same model/onnx files for each test, right?

If you have a look at attached scripts you will notice there is no revision specified for pipeline. That makes me believe these are the very same models in use

If you have a look at attached scripts you will notice there is no revision specified for pipeline. That makes me believe these are the very same models in use

If you are running in a browser environment, can you just confirm by clearing any browser cache (or trying in incognito mode)? I'll run the experiments on my side too now.

Running in incognito mode, I can see both 2.0.1 and 2.2.0 produce the same lower quality response. So the difference is something that was cached, but in the meanwhile I managed to also delete the cache so its hard to get back into the state.
When importing import { env, pipeline } from "https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>, the loaded .wasm<EMAIL_ADDRESS>does not respect he 2.0.1 version
Not sure where to investigate further from here.

The models' onnx files were updated around 3 weeks ago: https://huggingface.co/Xenova/whisper-tiny.en/tree/main/onnx to be in line with the conversion process used by the rest of the models (which resulted in performance improvements for other seq2seq models). Specifically, this is due to the different quantization parameters used.

Bingo! When enforcing model revision https://huggingface.co/Xenova/whisper-base.en/commit/95502fc2ffd132c6859cf58a66f4977c3c6abac2
I am getting good the good results for both 2.0.1 and 2.2.0
import { env, pipeline } from "https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>
env.allowLocalModels = false;
env.backends.onnx.wasm.wasmPaths = 'https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>
const file = "tos.pcm";
const model = "Xenova/whisper-base.en";
const revision = "95502fc2ffd132c6859cf58a66f4977c3c6abac2";

const buffer = new Float32Array(await (await fetch(file)).arrayBuffer());
const pipe = await pipeline("automatic-speech-recognition", model, {revision});
const result = await pipe(buffer, {
	chunk_length_s: 30,
	stride_length_s: 5,
	return_timestamps: true});

let content = "2.0.1 result\n";
for(let {text, timestamp} of result.chunks)
	content += `${timestamp[0]} -> ${timestamp[1]} ${text}\n`;
console.log(content);

0 -> 7  We have main engine start.
7 -> 10  4, 3, 2, 1.
10 -> 13  Yeah, whoa!
23 -> 27.08  You're a jerk, Tom. Look, Celia, we have to follow our passions.
27.08 -> 30.240000000000002  You have your robotics, and I just wanna be awesome in space.
30.24 -> 34.519999999999996  Why don't you just admit that you're freaked out by my robot hand?
34.52 -> 37.46  I'm not freaked out, but it's...
37.46 -> 39.36  All right, fine. I'm freaked out.
39.36 -> 42.36  I'm having nightmares that I'm being chased by these giant robotic claws.
42.36 -> 45.18  Oh, what in our tongue? We're done.
50.16 -> 53.78  - Robots memory, synced, and locked.

So I wonder if the new onnx files / conversion process can be somehow tuned to get good speed and good transcriptions at the same time?

Did additional testing and can confirm the different quantization options significantly impacted the performance! Tested on whisper-web: https://huggingface.co/spaces/Xenova/whisper-web
reduce_range=True, per_channel=True:

reduce_range=False, per_channel=False:

I've updated all whisper models: whisper-tiny, whisper-tiny.en, whisper-base, whisper-base.en, whisper-small, whisper-small.en, whisper-medium, whisper-medium.en, whisper-large, whisper-large-v2, and they are now live on the hub. I've also added a "quant_config.json" file which will help track this in the future: https://huggingface.co/Xenova/whisper-tiny/blob/main/quant_config.json
Can you please refresh cache and try again on your side? It should download these fixed models now.

All's working from my side - so I'll close the issue for now. But feel free to reopen if needed.

Thanks for the quick fix @xenova , I can confirm models from the latest commit https://huggingface.co/Xenova/whisper-base.en/commit/86134155f8ad5593996868d4544b3d49ea0b1163 provide solid transcriptions.


Extend select all checkbox to events and pois

Short description

This PR extends the "select all" checkbox for translations to events and pois
Proposed changes

Add checkbox to events and pois

Side effects

None?
Resolved issues

Fixes: #3185

Pull Request Review Guidelines

Yes. I think we need it there too. Where is this? Is this the imprint? :)

Yes. I think we need it there too. Where is this? Is this the imprint? :)

it is where you implemented, but after automatically translating them and checking it again you see there no option anymore to uncheck all of them...

It is where you implemented, but after automatically translating them and checking it again you see there no option anymore to uncheck all of them...

Ah, now I get it :) I don't know, this is probably a question for @osmers :)

What would be the use case in unchecking them all? When implementing it we decided to leave already translated languages checked bcs the assumption is, that if a translation exists, they will want to translate the changes as well, right?

What would be the use case in unchecking them all? When implementing it we decided to leave already translated languages checked bcs the assumption is, that if a translation exists, they will want to translate the changes as well, right?

Yes, I think you're right. I don't think we need to uncheck the languages in bulk then :)


Report clearly error message and empty connection handling

Current behavior (how does the issue manifest):
Let's say I have an activity which has connection field but the connection field empty
"input": {
                "Connection": "",
                "UpdateName": "",
                "Query": "",
                "manualmode": false,
                "RuntimeQuery": "",
                "State": "66b570f7-6938-4b46-86db-6f23dfbad989"
              },

Today we have a panic error, this is defect we need to fix. but for what would be correct behavior.

Throw out properly error messages for end-user to clearly know what's going wrong
Consider that the connection field can be an option(most case it is required), so can we just pass through it without giving the error? and let the connector handle the case

We also need to make our error message more clear for the end-user.  today when some wrong when start engine it reports
Failed to create engine: error unmarshalling flow: create task [PostgreSQLQuery] error: convert value [] to type [connection] error: connection config not configured

This is not very clear for the end-user. especially error unmarshalling flow:
Expected behavior:
Minimal steps to reproduce the problem (not required if feature enhancement):
Please tell us about your environment (Operating system, docker version, browser & web ui version, etc):
Flogo version (CLI & contrib/lib. If unknown, leave empty or state unknown): 0.X.X
Additional information you deem important (e.g. issue happens only occasionally):

@fm-tibco Any thoughts on connection empty case?  should we pass it through or report error?

@fm-tibco I feel we should let contribution handle this like any other data type.


Added Indonesian translation, FAQ : APIs and AJAX

i still confused, about the comments section on source code. can someone help me with this ?

Hi @dizzy322 any update regarding this PR? 😄

Hi @dizzy322, any updates?


Implementation of Revealed Merge operation.

Objective: To merge two equivalent state data of differing confidentiality. The resulting merge will produce the most revealed state combining the confidentiality of provided two input states.
Application: Upon receiving a new consignment, rgb-node should try to merge the incoming data with already known state data, before committing the consignment into stash. Outlined here https://github.com/rgb-org/rgb-node/pull/136#issuecomment-782355933
Intended functionality is similar to what I tried to do in this draft https://github.com/rgb-org/rgb-node/pull/137. But this will be more structured.
This is the required modification needed in rgb-core in order to have merging capability in rgb-node. Once this gets finalized and merged, I will work on extending the functionality into the node.
Note: This is probably critical, as doing a faulty merge can result in fund loss. I have added some basic unit tests to ensure basic operations are working. But more edge cases might need to be considered. Suggestions welcome.
There are some #TODO and #Question comments in the code, which i would like some suggestions on.

Overall this is correct, but in terms of API I would think on applying the procedure to the &mut self and returning bool instead of Result.

It feels to me Error message will be useful for this API. As we will impl the same trait in a cascading fashion to multiple structures, we would need error information to see merge operation on which structure is failing and why. I feel meaningful error message is a must for this type of API otherwise it will be a nightmare to debug failures.
Considering your comments I am changing the trait function definition as merge_revelaed(&mut self, &self) -> Result<bool, String>, Both to add boolean return and error message if it returns false.
I was also thinking of adding a merge(&Self, &Self) -> Self helper function to the trait. It would do reallocation and create a new merged structure. But this requires Copy for state data types. Would this be of any help? Otherwise, I will skip it.

Updated with review changes.

In the meanwhile: I Iike NodeType enum, can you pls move it to the src/contract/node.rs and do a pub trait Node { fn node_type(&self) -> NodeType } thing (plus its impls for Genesis, Node and Extension)? As a separate PR probably.

This will be a fairly small change. So I can do this as a separate commit on this PR itself. Otherwise, I would have to wait for this to get merged. Going for the first option will move to separate PR if required.

Pls see my last two commits: there were still number of unnecessary allocations which I removed. Not happy with the rest still, but do not see how to avoid collection allocations, so merging to get v0.4 released


[Feature Proposal]: Flexibility to set custom Min Child Weight Values for each feature

In practical modelling scenarios there are often some very key variables which are very sparsely populated- which forces the modelers to set lower min_child_weight values to ensure these variables are incorporated in the model, but this can often lead to overfitting on other variables.
To avoid such scenarios what we propose is having the flexibility to set different min_child_weight values for each feature.

Out of curiosity, how do you tun such models? I imagine the HPO search space would be extremely large?

You're right, the HPO search space would be large. But we can approach it as a 2-step process. In the first step the HPO search would be limited to Uniform MCW for all the features, and in the second step we try to tune just the MCW parameter only for the problematic features identified by the modellers.
@trivialfis We wish to contribute this feature by helping in the development. What would the process look like for getting this approved and merged into XGBoost?

Any thoughts on this?

Apologies for the slow reply. It's not a trivial change.
You can find the parameter definition here: https://github.com/dmlc/xgboost/blob/cb54374550002efa7e4f2279c8941b4c7c196188/src/tree/param.h#L25
If you turn it into a vector, it can be parsed as JSON similar to https://github.com/dmlc/xgboost/blob/cb54374550002efa7e4f2279c8941b4c7c196188/src/tree/param.cc#L85
By searching the parameter name, you can find where it's used to prevent split. The split candidate has split feature index. I'm not entirely sure about the GPU implementation yet.

Of course, we don't have to do everything at once.


SNOW-1706990 Pass context in entity init instead of only to actions

Pre-review checklist

[x] I've confirmed that instructions included in README.md are still correct after my changes in the codebase.
[ ] I've added or updated automated unit tests to verify correctness of my new code.
[ ] I've added or updated integration tests to verify correctness of my new code.
[ ] I've confirmed that my changes are working by executing CLI's commands manually on MacOS.
[ ] I've confirmed that my changes are working by executing CLI's commands manually on Windows.
[x] I've confirmed that my changes are up-to-date with the target branch.
[ ] I've described my changes in the release notes.
[x] I've described my changes in the section below.

Changes description
Entity classes current have lots of static methods, which were added to support the v1 to v2 migration, but they have way too many parameters, so we want to allow calling these methods on entity instances.
Right now, the only instance methods are EntityAction implementations, which represent the top-level actions that can be performed by these entities, but the static methods we want to convert to instance methods don't need to be EntityAction implementations (since they don't represent top-level operations). However, it would be useful for these methods to have access to utilities in the ActionContext, like ctx.default_role for example, so let's make ActionContext a property of the entity set when instantiated by the WorkspaceManager instead of a parameter that's only available to EntityAction implementations.

Hmm, not sure about this one yet. It made sense to me to decouple the entity model from the action state, but this couples them again. Can you give me specifics about why we want to access things like default_role outside of an action method?

I'm trying to get rid of NativeAppManager, NativeAppProjectModel, etc since those classes can only handle the v1 data model, and make the snow app command operate directly on v2 entities. The problem is that these commands don't just call action_ methods on entities, they need supporting methods like get_existing_app_info, get_snowsight_url, etc.
Right now, for an operation like get_existing_app_info, NativeAppManager calls a static method on the ApplicationEntity, passing in the app name and role to use:
    def get_existing_app_info(self) -> Optional[dict]:
        return ApplicationEntity.get_existing_app_info(
            app_name=self.app_name,
            app_role=self.app_role,
        )

    @staticmethod
    def get_existing_app_info(app_name: str, app_role: str) -> Optional[dict]:
        sql_executor = get_sql_executor()
        with sql_executor.use_role(app_role):
            return sql_executor.show_specific_object(
                "applications", app_name, name_col=NAME_COL
            )

In NativeAppManager/NativeAppProjectModel, self.app_name and self.app_role are properties with logic behind them, and if we're to get rid of NativeAppManager/NativeAppProjectModel, that logic needs to move somewhere. Since the same logic already exists for the v2 model in WorkspaceManager/ActionContext, I want to leverage it instead of duplicating it in ApplicationEntity.
The problem I'm facing now is that ActionContext is only available to "implementations" of EntityActions, like action_deploy, action_bundle, etc. Since I don't consider get_existing_app_info to be a "top-level action", it doesn't merit its own entry in EntityActions, meaning it can't be invoked through WorkspaceManager.perform() (which is where the ActionContext is created). I also don't want to set a precedent that any instance methods of entities need to be EntityActions, since that would require a bunch of boilerplate for actions that only one entity type would ever implement.
My solution to this is to set the ActionContext as an instance property of the entity so that any methods can access the current context data. With these changes, get_existing_app_info would become an instance method instead of a static:
    def get_existing_app_info(self) -> Optional[dict]:
        model = self._entity_model
        ctx = self._action_ctx
        role = (model.meta and model.meta.role) or ctx.default_role  #  default_role used here
        sql_executor = get_sql_executor()
        with sql_executor.use_role(role):
            return sql_executor.show_specific_object(
                "applications", model.fqn.name, name_col=NAME_COL
            )

and could be called without needing the whole WorkspaceManager.perform()/EntityActions mechanism:
    app = ws.get_entity(app_id)
    if app.get_existing_app_info():
        typer.launch(app.get_snowsight_url())
        return MessageResult(f"Snowflake Native App opened in browser.")
    else:
        return MessageResult(
            'Snowflake Native App not yet deployed! Please run "snow app run" first.'
        )

Description of changes after that long post above. A previous version of this PR was passing the whole ActionContext to the entity's __init__, but now we've decided to split that class into WorkspaceContext to give access to workspace-wide config, like the console, default role, etc, and keep only get_entity in ActionContext.


Unclear how to (0,0) the machine

When starting the machine and connecting I had trouble figuring out how to set the zero position of the machine. At first I tried setting it to the 4 corners, but each time when drawing a box it ended up making a grinding sound. I eventually started the machine in the very center and just making tiny drawings.

After getting instructions to disconnect the machine to zero it I thought I could click the "disconnect machine" button, but found that it didn't zero the machine like I expected it to.

zeroing machine was added to the tuning guide!

Closed by https://github.com/hackclub/blot/blob/main/docs/TUNING.md#using-your-blot


Build(deps-dev): Bump @storybook/react from 6.4.7 to 6.4.8 (#2112)

Pull request opened by the merge tool on behalf of #2112

Merged in b5dc991216ac38f76b54630bb7e890663f17756a


Init samples buffer for main thread as part of framework initilizatio…

…n. Refined logging setup

Codecov Report

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

@@           Coverage Diff           @@
##           master      #26   +/-   ##
=======================================
  Coverage   57.12%   57.12%
=======================================
  Files          79       79
  Lines        5407     5407
=======================================
  Hits         3089     3089
  Misses       2318     2318

Continue to review full report at Codecov.

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


Fix header

Remove unwanted character.

@alexandair : Thanks for your contribution! The author, @neilpeterson, has been notified to review your proposed change.

#sign-off


[NFC] Run clang-format over CommandLine.cpp.

As discussed in #32514, this just runs clang-format over this file.
cc @CodaFi

@swift-ci smoke test and merge


[Bug] kompile - [Error] Critical: llvm-kompile returned nonzero exit code: 127

[Error] Critical: llvm-kompile returned nonzero exit code: 127
Examples:
see: https://github.com/kframework/k/tree/master/k-distribution/k-tutorial/1_basic/02_basics
module LESSON-02-A

  syntax Color ::= Yellow() | Blue()
  syntax Fruit ::= Banana() | Blueberry()
  syntax Color ::= colorOf(Fruit) [function]

  rule colorOf(Banana()) => Yellow()
  rule colorOf(Blueberry()) => Blue()

endmodule

[Bug] kompile - crash when compiling
kompile lesson-02-a.k
/opt/tools/k/lib/kframework/../../bin/llvm-kompile-codegen: error while loading shared libraries: libjemalloc.so.1: cannot open shared object file: No such file or directory
[Error] Critical: llvm-kompile returned nonzero exit code: 127
Examine output to see errors.
[Warning] Compiler: Could not find main syntax module with name
LESSON-02-A-SYNTAX in definition.  Use --syntax-module to specify one. Using
LESSON-02-A as default.

K Version
Tell us what version of K you are using.
Example:
$ kompile --version
K version:    5.1.11
Build date:   Thu Apr 29 15:14:10 PDT 2021

I installed the platform-independent K binary in an ubuntu 20.04 LTS VM running on Windows 10 Pro using wsl2.
https://github.com/kframework/k/releases/download/v5.1.11/k-nightly_5.1.11.tar.gz
Note that in this environment, there is a library:
readlink -e /usr/lib/*/libjemalloc.so.*
/usr/lib/x86_64-linux-gnu/libjemalloc.so.2

It would be helpful if kompile showed what environment variables it is using to lookup libraries.
One could perhaps attempt at a workaround similar to this: https://stackoverflow.com/a/65853546

FYI: I managed to work around this problem installing the Ubuntu 20.04 package:
https://github.com/kframework/k/releases/download/v5.1.11/kframework_5.1.11_amd64_focal.deb

We'll remove the platform independent K binary, because it really onlly works with LLVM backend on Ubuntu 18.


OpenBSD: Readdir oddity

I've been experimenting trying to make rclone mount work with OpenBSD
Plus or minus a few unsupported options it seems to be working :-)
I've come across an oddity with Readdir which I'm not sure of the cause - I think it may be an OpenBSD bug but it might be a cgofuse bug so I thought I'd ask you first.
I replicated this with the hellofs example.
This is the result of mounting and doing ls on the root directory (note that you can't mount FUSE fs as a user on OpenBSD).
openbsd$ sudo ./hellofs -d /mnt/tmp
Opcode: init
Opcode: getattr	Inode: 1	/
Opcode: getattr	Inode: 1	/
Opcode: opendir	Inode: 1	/
Opcode: getattr	Inode: 1	/
Opcode: readdir	Inode: 1	Offset: 0	Size: 4096	/
Opcode: readdir	Inode: 1	Offset: 96	Size: 4000	/
Opcode: readdir	Inode: 1	Offset: 96	Size: 4096	/   <----- unexpected
Opcode: releasedir	Inode: 1	/

What is odd here is the 3rd call to readdir.
I put a debug line into the Readdir function
diff --git a/examples/hellofs/hellofs.go b/examples/hellofs/hellofs.go
index d33566f..6d6eb39 100644
--- a/examples/hellofs/hellofs.go
+++ b/examples/hellofs/hellofs.go
@@ -14,6 +14,7 @@ package main

 import (
        "os"
+       "log"

        "github.com/billziss-gh/cgofuse/fuse"
 )
@@ -66,6 +67,7 @@ func (self *Hellofs) Readdir(path string,
        fill func(name string, stat *fuse.Stat_t, ofst int64) bool,
        ofst int64,
        fh uint64) (errc int) {
+       log.Printf("\n*** Readdir(path=%q, ofst=%d, fh=0x%X) ***\n", path, ofst, fh)
        fill(".", nil, 0)
        fill("..", nil, 0)
        fill(filename, nil, 0)

And it produces this on OpenBSD - note the Readdir function is called 3 times rather than just once.
Opcode: init
Opcode: getattr	Inode: 1	/
Opcode: getattr	Inode: 1	/
Opcode: opendir	Inode: 1	/
Opcode: getattr	Inode: 1	/
Opcode: readdir	Inode: 1	Offset: 0	Size: 4096	/2020/09/01 12:47:31
*** Readdir(path="/", ofst=0, fh=0xFFFFFFFFFFFFFFFF) ***

Opcode: readdir	Inode: 1	Offset: 96	Size: 4000	/2020/09/01 12:47:31
*** Readdir(path="/", ofst=96, fh=0xFFFFFFFFFFFFFFFF) ***

Opcode: readdir	Inode: 1	Offset: 96	Size: 4096	/2020/09/01 12:47:31
*** Readdir(path="/", ofst=96, fh=0xFFFFFFFFFFFFFFFF) ***

Opcode: releasedir	Inode: 1	/

Whereas if I try the same code on Linux I get the Readdir function being called just once as expected with two READDIR fuse calls.
unique: 10, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 115481
getattr /
   unique: 10, success, outsize: 120
unique: 12, opcode: OPENDIR (27), nodeid: 1, insize: 48, pid: 115481
opendir flags: 0x18800 /
   opendir[-1] flags: 0x18800 /
   unique: 12, success, outsize: 32
unique: 14, opcode: READDIR (28), nodeid: 1, insize: 80, pid: 115481
readdir[18446744073709551615] from 0
2020/09/01 11:50:41
*** Readdir(path="/", ofst=0, fh=0xFFFFFFFFFFFFFFFF) ***
   unique: 14, success, outsize: 112
unique: 16, opcode: LOOKUP (1), nodeid: 1, insize: 46, pid: 115481
LOOKUP /hello
getattr /hello
   NODEID: 2
   unique: 16, success, outsize: 144
unique: 18, opcode: READDIR (28), nodeid: 1, insize: 80, pid: 115481
   unique: 18, success, outsize: 16
unique: 20, opcode: RELEASEDIR (29), nodeid: 1, insize: 64, pid: 0
releasedir[18446744073709551615] flags: 0x0
   unique: 20, success, outsize: 16

So I think this might be a bug in the directory filling routines in OpenBSD, whether that is in cgofuse, or OpenBSD libfuse I don't know!
This causes a problem for rclone since it checks to see that Readdir is never called with a non-zero offset which it never should be as it always passes 0 as an offset to the fill function. This is easy enough to work-around but I thought I'd report it in case it is indicative of an underlying problem.
I tested this on a OpenBSD 6.7 VM I installed from scratch using go version go1.13.9 openbsd/amd64 (which is what you get with pkg_add. I can send you this VM if you would like.

I've come across an oddity with Readdir which I'm not sure of the cause - I think it may be an OpenBSD bug but it might be a cgofuse bug so I thought I'd ask you first.

Yes, this looks odd.

This causes a problem for rclone since it checks to see that Readdir is never called with a non-zero offset which it never should be as it always passes 0 as an offset to the fill function. This is easy enough to work-around but I thought I'd report it in case it is indicative of an underlying problem.

I agree that you should not see a non-0 offset in Readdir, if you never pass a non-0 offset to the fill function.
In the Linux/FreeBSD/macOS case it is actually libfuse that makes this guarantee: the kernel protocol always includes the offset in the FUSE_READDIR request message, but libfuse abstracts this detail away by buffering readdir data, when it sees a 0 offset and satisfying the FUSE_READDIR request from the buffered data when it sees a non-0 offset. (Libfuse only does this buffering when you specify 0 offsets in the fill function.) See the libfuse fuse_readdir_common.
The cgofuse Readdir implementation is minimal and the same across all cgo platforms. So I suspect (but may be wrong) that in this case the problem lies with OpenBSD's implementation. I note that OpenBSD does not use libfuse.

Here is the readdir implementation of OpenBSD's libfuse, which appears to pass the kernel's view of the offset:
ifuse_ops_readdir

Thank you for your analysis Bill.
I finally found the docs for the fill behaviour in the libfuse docs
So what it looks like is that OpenBSD libfuse equivalent doesn't implement this behavior

The readdir implementation ignores the offset parameter, and passes zero to the filler function's offset. The filler function will not return '1' (unless an error happens), so the whole directory is read in a single readdir operation.

@SylvestreG - I think you wrote this code originally. Does that sound right to you?
@lkostal - as the most recent OpenBSD user to be interested in this, do you want to report this as a bug?

Just wanted to corroborate that I'm experiencing this as well.
I took some notes during testing an implementation. Noticed an oddity when using NetBSD and OpenBSD.
https://gist.github.com/djdv/8341762e571ef799cf7613f2f3c1f506#netbsd
This lists some of the various versions I tried and has a small trace.


Music stops on initial app startup

If I'm playing music from any player and then boot up my app with react-native-sound, the music stops no matter what. However, once the app is open and in the background everything is fine. So it's just on the initial start up of the app. I've noticed on the simulator, it asks my computer for microphone access on startup as well. I'm looking to get rid of that because I think it's related

same problem on iOS here
adding this to AppDelegate.m per instructions on the internet did not help :(
  [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
  [[AVAudioSession sharedInstance] setActive:YES error:nil];

same here any solution yet ?

Any solution to this? I've ran into it as well.

I am keen to know this too!

If you're having the same issue, please :+1: the top post instead of adding a comment. It makes less noise for everyone 😃

This is a duplicate of #431, right?

@austincline09  can you please let me know how you git ride of this issue . i am also facing same issue while app boot up music stops.

@olegwn  any solution?

Closing in favor of #431.


http0.9: process headers if there are non-space characters

Previously, we fell back on HTTP/0.9 if there was a missing protocol except if the following line contained a colon.
We make libhtp simpler by only switching to HTTP/0.9 if we have only spaces afterwards
#404 with passing tests
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54982&q=label%3AProj-libhtp&can=2

What is the CIFuzz failure?

What is the CIFuzz failure?

This was a differential fuzzing because there was one PR for each repository (libhtp-rs)
Do you want me to repush a new PR so that CIFuzz runs new now that libhtp-rs is fixed ?

Yeah that sounds good, thanks.

Replaced by https://github.com/OISF/libhtp/pull/410


Unsupported uri-js

Hey!
Your library is using uri-js, which hasn't received updates in three years.
Would you be interested in a PR that would switch to an up-to-date fork toad-uri-js, which addresses https://github.com/garycourt/uri-js/issues/96 and https://github.com/garycourt/uri-js/issues/87, several transitive security issues with dependencies, and aims to address https://github.com/garycourt/uri-js/issues/92?

Hey @kibertoad go for it!

@jamesmoschou Done!

@kibertoad Thanks! released as:
<EMAIL_ADDRESS><EMAIL_ADDRESS>


Thunder Debug Logs ERRORRESULT not defined error fix

Reason for change: This change is part of DELIA-56858: Enable Thunder Debug Logs (#1035)
Build error found in Jenkins build

ERRORRESULT Macro added In trace logs form LLAMA-2254_fix_netlink_buffer_size_error.patch not form the source code so closing the PR


Change default solr image

I ran into a weird CI build issue where one of the 10 parallelized containers failed with error starting container solr:7-alpine: Error: No such image: solr:7-alpine.  I went looking on dockerhub and sure enough it looks like there isn't a 7-alpine anymore only 7 and 7-slim.  I wonder if circleci is pulling from cache which will go away at some point and kill all of our builds.  It would be nice to change the default in the orb before 1.0.
Here is the failed build: https://app.circleci.com/pipelines/github/samvera/hyrax/3587/workflows/52f26ad0-121b-4fa2-bfe0-3f090856d2b3/jobs/23332

I noticed this when I added the solr_version param. 7-alpine still exists as a tag in dockerhub, but it hasn't been updated in almost a year. Meanwhile, 7-slim was updated about two weeks ago.

Closed as fixed in #34


Remove WillDecodeNull layering violation.

This should have been done differently to start with, and the only consumer is gone anyway.
Fixes https://github.com/project-chip/connectedhomeip/issues/23057

Fast tracking dead code


Panic in flow controller

Bug Report

What version of TiKV are you using?

v5.2.0
Steps to reproduce

Run heavy write workload
What did you expect?
No panic
What did happened?
[2021/08/16 19:31:58.004 +08:00] [FATAL] [lib.rs:465] ["called `Option::unwrap()` on a `None` value"] [backtrace="stack backtrace:\n   0: tikv_util::set_panic_hook::{{closure}}\n   1: std::panicking::rust_panic_with_hook\n             at library/std/src/panicking.rs:626\n   2: std::panicking::begin_panic_handler::{{closure}}\n             at library/std/src/panicking.rs:517\n   3: std::sys_common::backtrace::__rust_end_short_backtrace\n             at library/std/src/sys_common/backtrace.rs:141\n   4: rust_begin_unwind\n             at library/std/src/panicking.rs:515\n   5: core::panicking::panic_fmt\n             at library/core/src/panicking.rs:92\n   6: core::panicking::panic\n             at library/core/src/panicking.rs:50\n   7: tikv::storage::txn::flow_controller::FlowChecker<E>::tick_l0\n   8: std::sys_common::backtrace::__rust_begin_short_backtrace\n   9: std::panicking::try::do_call\n  10: core::ops::function::FnOnce::call_once{{vtable.shim}}\n  11: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once\n             at /rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/alloc/src/boxed.rs:1572\n      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once\n             at /rustc/2faabf579323f5252329264cc53ba9ff803429a3/library/alloc/src/boxed.rs:1572\n      std::sys::unix::thread::Thread::new::thread_start\n             at library/std/src/sys/unix/thread.rs:91\n  12: start_thread\n  13: __clone\n"] [location=/data2/minghua/tikv/src/storage/txn/flow_controller.rs:768] [thread_name=flow-checker]

/severity major

/assign Connor1996


Add a simple client

Add as simple client in order to download articles and pipe to commands
like speedread newspaper -u url | speedread and read articles from the command line.

Interesting proposal, will look & think about merging this. Thanks for the good owrk @jaysonsantos!
👍 💯

Looks pretty good, doing some more testing on this before merging


Do we need an organization type that is for data consumers only?

I'm thinking of IndexData specifically, but generally, we may need a way for an organization that is not contributing data, but is consuming data to manage tokens, users, and contact info.

Feedback from 3/18/22 work cycle management meeting:

Maybe - may help address use cases around Goldrush access, and potential access of researchers.

In general, this may be a nice to have, but not necessary to address this work cycle. We can likely get away with using the existing contributor type organization for generating tokens and managing users for IndexData.

Also mentioned in that meeting: A toggle-able binary flag (rather than a separate type) might be sufficient to designate organizations that only consume and don't provide data, if that's a useful thing for aspects of the interface to recognize.

Given the planned redesign of the application, I'll just resurface this issue and suggest adding an attribute on Organization that distinguishes between a provider and a consumer might be more useful to add during this sprint than we previously thought. Examples of when knowing the org type would likely be useful when displaying pages:

Homepage: the customized organization section in particular, which will have different contents for each type
Providers page - the table with the list of providers is really a list of organizations of the provider type, so we will need to differentiate between them  and consumers when displaying this table
Provider page - since the consumer org has no streams, files, processing status, etc. we don't have an equivalent of the main provider page for a consumer org (we do have a similar "Organization details" page to manage the org users, contact address, etc. for the consumer org, but even there it is a bit different because consumers don't have Access tokens, Provider details, etc.)

But again, I'm just bringing this up for reconsideration given the application redesign, not suggesting technical solutions or priorities.

Add a consumer_only attribute on Organization for organizations that will not be contributing data.

in my head, it makes more sense to name the attribute something like Organization.has_streams? or Organization.provider?, since the functionality for provider orgs is a superset of the functionality for consumer orgs. Put another way, everyone is a consumer, but only some people are providers. feels like we might get a lot of if !Organization.consumer_only otherwise

@thatbudakguy I think that the default behavior is that an organization is a contributor and consumer and so a consumer_only? is a special type. I think it's preferable if the default behavior is in effect if the flag value is false (logic being that the non-default case should be a deliberate opt-in). We can always add a provider? method on the model for convenience.


How to get the before date from the current date in ISO format?

I have followed below approach to get one day before day for the current date
var moment = require('moment');
var beforedate = moment().subtract(1,'days');
log.info("start date "+beforedate.startOf('day').toDate());
log.info("End date "+beforedate.endOf('day').toDate());
But it is giving the result like below
Sun Mar 05 2018 00:00:00 GMT+0530
Sun Mar 05 2018 23:59:59 GMT+0530
But I want above format in ISO, can you please help me on this .

Hi!  If you see here in the documentation, if you'd like your date to be formatted as ISO when printing it out, you should simply use the toISOString() method.
If you want your current code to be logged out as ISO
var moment = require('moment'); var beforedate = moment().subtract(1,'days'); console.log("Start date "+beforedate.startOf('day').toISOString()); console.log("End date "+beforedate.endOf('day').toISOString());:


*: support auto tls on client side

Fix #5149
/cc @heyitsanthony

lgtm but should probably have an e2e test?

@heyitsanthony Will add e2e test.

@heyitsanthony e2e tests added. PTAL.

lgtm


Add *_unchecked methods

I'm using bytes in an application, where I'm repeatedly slicing to sub-parts of the bytes.
I do my own error-checking of bounds, and handle that out of the hot path.
The methods of (advance, split_off, split_to) do additional bound checking, completely trashing the register allocation.
It'd be nice to have the option to call *_unchecked methods that avoid the bound checking.

Have you been able to try those methods in your app, with a temporary fork? It'd be good to get some data.


Simplify tabs even further

Caching panels and headers slotted into post-tabs can get quickly outdated. We should try to rely on the DOM as much as possible and always query on the current state:

Listen to header clicks on the post-tabs component, listeners on slotted children can be removed if anything re-renders
Don't remove panels from the DOM but hide them with CSS instead

Closing as done


Gateway: 3rd Test release report.

[x] If a user switches to a network in MM - then the gateway should switch the UI for them but correctly it's forcing user to connect back previous active network
[x] Wallet Connect V2: addressing separately at AddWallet V2
[x] UI reported issues from Yonhee as per the attached pdf. gateway_boba_feedback.pdf issue links
[x] Adding ETH to the wallet here adds the incorrect contract address (the others are fine). Please double check all contract addresses on all networks. : address separately issue

UNDEFINED

Closing as we have created subtask for each item.


Formal C# Language Specification

How does the development team keep track of language features? There doesn't seem to be a publicly available language specification since 6.0 - is there's a private one you aren't sharing? If there is, can you share it? If there isn't, can you write it and share it? I expect it's enormously challenging to do this as the language grows, but it does seem to be playing a bit fast and loose with the language not to have one - it makes me worry about the future stability of the language and the number of odd corner cases Jon Skeet is going to add to his C# new features talk. If not complete but in progress, it would be great to open source it so you can crowd source finding issues. These feature by feature updates are all very well if you are up to speed on the language, but personally, I loved having an up to date complete language spec to refer back to; hunting around the version update files isn't a great user experience. Reading the spec was a great way to really understand the language - it was really well written. I am sad it seems to have stalled - because I love C# and all the great work MS are doing with the language and having an open updated spec would be a great way to protect the language.

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

ID: c36588d0-6bdf-1740-220c-10b20bb88730
Version Independent ID: 587ed47f-f532-e018-9b0d-6ee76afd20e4
Content: What's New in C# - C# Guide
Content Source: docs/csharp/whats-new/index.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

/cc @MadsTorgersen @agocke
Thanks for providing your thoughts @james-world That's great information that helps us prioritize different efforts.
It's true that the formal process moves slower than we'd all like.  There are a lot of moving parts, and we're investing in them to provide a better long-term experiences.

We've updated the formal ECMA C# Standard now at version 5.0. Yes, that's even farther behind, but it was a big effort to reconcile the ECMA standard for C# 2.0 and all the changes in the Microsoft spec since then.
We've converted the C# 6.0 proposed spec to markdown and enabled issues, comments, and PRs on it. We publish this on Microsoft Docs through our regular build system.
All "spec-lets" for new features are published (in markdown) in the csharplang repo by version as proposals.

So, what's next:

We've got to merge the C# 5.0 ECMA standard with the C# 6.0 draft spec. (The 6.0 draft was based on the Microsoft 5.0 spec and doesn't have the changes from the ECMA standards process).
Continue to produce formal specs for 7.0, and beyond.

Thank you for the kind words on the quality of the language spec. We put a lot of eyes on drafts (including @jonskeet) to ensure a high quality bar. I'll add this to our backlog, but rest assured that we are actively working on updating the spec. In the meantime, I hope the resources I've pointed to help.

FYI:
https://github.com/antlr/grammars-v4/issues/819

Thanks for the quick response - great to read that maintaining the spec on the radar. Although the C# 6.0 is open for comments, it's not clearly not an obvious or appropriate place to comment about later versions. I wonder if the power of the web (as opposed to a word doc) enables us to have a single living spec that has markup supporting a view filter so that all versions can be viewed and maintained in a single place - one place to post comments and raise issues might be easier to manage. Content or comments and issues that address more than one version can be appropriately tagged.

Looking at the C# specs I came across this issue.

All "spec-lets" for new features are published (in markdown) in the csharplang repo by version as proposals.

I cannot find the C# 7 Tuple specifications anywhere.
I checked csharplang/proposals/csharp-7.0 and Tuples are only mentioned in the pattern-matching.md file but there is no specification.
Is there another place to look?

@joerneu I'll have to track that down. Thanks for adding the comment.

closing after creating #15046 which is the only remaining issue.

Replying to @BillWagner https://github.com/dotnet/docs/issues/8251#issuecomment-428765201

So, what's next:

We've got to merge the C# 5.0 ECMA standard with the C# 6.0 draft spec. (The 6.0 draft was based on the Microsoft 5.0 spec and doesn't have the changes from the ECMA standards process).

It the merging process finished or is there an ETA? As there seems to be flaws in the C#6 draft spec markdown that are not contained in C#5 ECMA standard 😢, see https://github.com/dotnet/csharplang/issues/3359 .


Improve UI footer section

📝 Description
🔧Fixes  #1
Improved the UI of the footer section

[x] I have performed a self-review of my own code.
[x] I'm a contributor in Hacktoberfest'21.

resolve conflicts

resolve conflicts

done

thankyou @Sugyanee

hey,there's is still some issue, you can resolve this and make a new PR

hey,there's is still some issue, you can resolve this and make a new PR

Resolved!


Better compiler selector and minor cfg changes

Description:

Added better compiler selector and changed config directory to csgoInstallation/gamesneeze/cfg/
Benefits of this PR and context:

Easier compiler selector.
Source / References:

Google

idk but i would prefer home config path rather than csgo installation one
also might be read only too

Will test and make some changes when I get back home, looks good though

I think

looks good, merging


Will I be able to see the code at the end of 2021？

Will I be able to see the code at the end of 2021？
I am very interested in your work, I have waited from October until now, hoping to open source，^_^

Thank you so much for the patience. The preliminary version for the imagenet dataset is available in the imagenet folder.


The tool works

Worked 2-3 months ago with it. With bing perfect and fast, same with other engines. With google need to delay 300 seconds between requets, so it wan't cache you. Buy some 2-3 proxies, and it will work. I didn't work via command line. Worked with windows/ubuntu, and python Pycharm. There is some little changes I did. I will try to sum them up ASAP. At the end we didn't use it, but I learned to use it quite good. I added some columns to the tables, to easily control results. I only serp text queries, no images, so no images experience.

Would you mind posting some examples? I'm having some trouble parsing out the results and using other search engines besides google. Thanks!


[RESTEASY-3046]  DeferredOutputStream shouldn't clear lastOperation if not complete

DeferredOutputStream should check if the lastAsyncOperation if done post completion before clearing it.
More details given here
A reproducer

@jamezp Could you please help take a look at this? Thanks!

@anthochristen Perfect timing :) I'm actually working on another bug in this area and am fixing this race condition in the process https://issues.redhat.com/browse/RESTEASY-3033. It seems we've got a few errors around this area ATM.

@jamezp Would it make sense to add this reproducer for tomcat to the server-adapters? As in like a mini server-adapter, if you will.

@jamezp Would it make sense to add this reproducer for tomcat to the server-adapters? As in like a mini server-adapter, if you will.

@anthochristen Sure. That would be good.

Can you test #2962? I'm wondering if this will fix it or if this is a separate issue.

Can you test #2962? I'm wondering if this will fix it or if this is a separate issue.

Sure. I presume it wont, but will test it out and let you know if it does.

Can you test #2962? I'm wondering if this will fix it or if this is a separate issue.

Sure. I presume it is a separate issue, but will test it out and let you know if it does.

Still is happening...moved the reproducer to support the jarkarta package, for what its worth.

Awesome thanks! I'll try to get a look at this soon.

@jamezp Just curious, as to why we use the queue in the DeferredOutputStream today?

@jamezp Thanks, also, just curious, why we use the queue in the DeferredOutputStream today?

@anthochristen my understanding is to ensure the order of writes.

@jamezp Thanks, also, just curious, why we use the queue in the DeferredOutputStream today?

@anthochristen my understanding is to ensure the order of writes.

Hello James.  I asked about that here.  I'm not convinced a queue is needed.  I believe I have some code somewhere that replaces that with an AtomicReference and all is well.  If you all don't beat me to it, I'll likely submit a PR with it.

Hello James. I asked about that here. I'm not convinced a queue is needed. I believe I have some code somewhere that replaces that with an AtomicReference and all is well. If you all don't beat me to a solution, I'll likely submit a PR with it.

I'll have to look in more detail at it. For the fix for RESTEASY-3033 I used what was there because I'm still familiarizing myself with the parts of the code-base and assumed it was like that for a reason. There definitely are ways other than using a queue though we'd likely still need to block to ensure the order.

Replaced by #2968. @anthochristen I think the PR at #2968 should fix it.


Dev v0.4

Codecov Report
Attention: Patch coverage is 0% with 24 lines in your changes are missing coverage. Please review.

Project coverage is 7.47%. Comparing base (efb379a) to head (86b4c6d).
Report is 109 commits behind head on main.

Files
Patch %
Lines

packages/renderer/src/draw/circle.ts
0.00%
16 Missing and 5 partials :warning:

packages/util/src/lib/view-box.ts
0.00%
1 Missing and 2 partials :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff            @@
##            main    #309      +/-   ##
========================================
- Coverage   7.48%   7.47%   -0.01%
========================================
  Files         92      92
  Lines       5880    5887       +7
  Branches    1115    1117       +2
========================================
  Hits         440     440
- Misses      4380    4385       +5
- Partials    1060    1062       +2

Flag
Coverage Δ

unittests
7.47% <0.00%> (-0.01%)
:arrow_down:

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

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


m.TimePickerSlider loops the entire cycle when a specific number is clicked

Same issue as https://github.com/SAP/openui5/issues/2432, but this time, the issue is reproducible with mouse clicks only.
URL (minimal example if possible)
https://openui5nightly.hana.ondemand.com/#/sample/sap.m.sample.TimePickerSliders/preview
Steps to reproduce the problem:

Open the dialog.

On Hours slider

Press 4
Click [05].

Or

Press 5
Click [04].

On Minutes slider
Here, the same behavior applies with the numbers [ 3 ] and [ 4 ].
What is the expected result?
Values are applied normally without skipping the whole cycle.

I am reopening the original case for further investigation #1970172797

Hello @boghyon,
Thank you for the issue. We'll have a fix soon.
Regards,
Alex

The issue is fixed.


Can be install on a Plex server ?

Hi,
I wonder if we can install on a Plex server (docker) ? I have a Nvidia Card on my Plex server for transcoding with plex, so i wonder if i can use Anime4K direct on the plex server

There was this Custom Build Plex Transcoder that supports on-the-fly transcoding of mpv filters like Anime4K. You can take a look at the Docker Build Script. But development was paused, and a lot of things are still broken / missing in core functionality (starting a stream takes 10 seconds, seeking doesn't work, various codecs don't load, etc). See more here.
A better solution would be to install the Plex client app on a PC or Mac and add the Anime4K shaders there. We have a guide here. This way, you can stream from your server without transcoding and allow for direct play with Anime4K. Of course, the limitation is that you can't run this setup on most devices.

Okay,
So the solution is still client-side ? I can't make it work on a Plex server ?
Anime4K can be install on a Android device ? Like a Nvidia Shield ?
If not the solution is to do the upscale with Anime4K GUI before and put the upscale file into Plex and just play it, that's it ?

So the solution is still client-side ? I can't make it work on a Plex server ?

Unless you can get the Custom Plex Transcoder working, the solution is still client-side unfortunately.

Anime4K can be install on a Android device ? Like a Nvidia Shield ?

Anime4K can be install on Android, so a device like Nvidia Shield or any other Android streaming box should theoretically work. However, it must be noted that these devices may not be powerful enough to run Anime4K smoothly. You may be better off installing Plex HTPC on an old PC or a cheap Mac mini and then connecting it to the TV via HDMI. The app will function exactly the same as any other Plex app.

If not the solution is to do the upscale with Anime4K GUI before and put the upscale file into Plex and just play it, that's it ?

Yes, as this option is guaranteed to work for sure.


Small sample name

In the patients window, next to Sample Type there is a small sample written next to the sample type scroll menu, but the is broken down in three parts Sa/mp/le


order-in-controllers vs query-params-on-top

@davidpett encountered an issue (originally discussed in #23) with both of those rules turned on. On of which requires setting queryParams on the very top of a controller, but order-in-controllers rule wants service injections first.That leads to a clear problem.
My first thought is to add queryParams in order-in-controllers rule as the next thing after service injections (to be consistent) and getting rid of query-params-on-top (or at least disabling it in default as well as in recommended config).
That way if anyone would want to change order in his controllers he can do so in eslint's configuration.
Not sure right now if there is a better way of handling this though.
To be discussed.
cc @jbandura @kevinkucharczyk @netes @bardzusny @davidpett

Is it possible to check for rules within another rule?

I'm not sure to be honest @davidpett

Removing query-params-on-top and including it in order-in-controllers would be a good move, but I'm not convinced that the query params should stick on the top. To be consistent with the rest of ordering rules I would leave injections first, followed by queryParams. WDYT?

That sounds like a reasonable approach @netes. I'm on it right now :)

+1 to what @netes said

Version v3.0.0 has been released 🎉 @davidpett we removed query-params-on-top rule and introduced improved order in controllers as discussed above. Feel free to check this out :)
https://github.com/netguru/eslint-plugin-ember/releases/tag/v3.0.0


Please add EMI support for your Bulk ... recipes

Bulk dying (1.7+1.20.1; fabric) is very good way to recolor wool or glass but you have to install JEI alongside EMI o see them. Create Fabric has integration for EMI already. And if you're going to add new recipes with chance, EMI will factor them into the recipe tree instead of just ignoring them.
Thanks

After a good bit and realizing that I was using the wrong Item Viewer class the entire time, I finally managed to get it working. Should be in the next hotfix, I'll make sure to let you know when it releases!

It should now be available on Modrinth, but Curseforge files are currently waiting for approval!

I just noticed that you added the fluid combinations with lava. This was not expected but it's so useful. Thanks for this mod and these quick updates, how do you do that?

No problem! I just really enjoy developing my projects, which can lead me to work all day on them and get maybe a little too much done

Hello, there's a little bug left. If you go to the tuff world interaction recipe and click the recipe tree button on the right and want to produce 5 tuff, EMI will tell you that you 5 liters of lava and and 5 liters of liquefied mastic resin. Please fix this. If you look at the cobble generator recipe on the same tab and hover over water or lava there's an arrow pointing to the right to the fluid. Add that and I am happy. (I'm already, but...)

Could you provide screenshots of this issue? I checked myself and they seem normal.

Adjust  the "x1" and you'll see

Logically speaking, it seems to work just fine. Though, I understand that this is something minor that could lead to confusion among players. I see that you've brought this to the attention of the Create devs as well, of which I'll probably wait for the issue to be fixed on their end since I used their classes for Create: Garnished EMI integration.

How many buckets of Lava or Mastic resin do you need for a Tuff generator? Two, not 10. Compare this to the cobblestone example. The thing with a cobble gen is that you have infinite cobblestone with just two fluid blocks.

"Logically speaking, it seems to work just fine. Though, I understand that this is something minor that could lead to confusion among players. I see that you've brought this to the attention of the Create devs as well, of which I'll probably wait for the issue to be fixed on their end since I used their classes for Create: Garnished EMI integration."
You are independent of them, they did exactly the same thing as you, so I sent the bug to them too. Everyone fixes it when they can.

I can see what I can do, but if I end up not being able to fix it, I'll just wait.

If I do find a fix, I'll make sure to make a pull request in the Create mod repository as well.

I think I found a way to fix it, I've made a pull request over on the Create Fabric repository. https://github.com/Fabricators-of-Create/Create/pull/1387

[Create: Garnished] Files have been uploaded to Modrinth, Curseforge is waiting for approval!


Terminal menus doesent work

hello.
I have Julia installed on a server with multiple users. so I have a global repository in which the most used packages are installed for all the users and a local depository in which users can install their own packages.
when using Julia in the terminal and for example if a user wants to add the Example package, the Julia asks to add from which repository.
like the image below.

But when trying to add packages from the Jupyter notebook (no matter the classic jupyter or jupyterlab) it throws the following error.
┌ Warning: TerminalMenus: Unable to enter raw mode: ArgumentError("stream is closed or unusable")
└ @ REPL.TerminalMenus /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/TerminalMenus/util.jl:21

BoundsError: attempt to access 0-element Array{UInt8,1} at index [1]

Stacktrace:
 [1] getindex at ./array.jl:731 [inlined]
 [2] readNextChar(::Base.PipeEndpoint) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/TerminalMenus/util.jl:39
 [3] _readKey(::Base.PipeEndpoint) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/TerminalMenus/util.jl:46
 [4] readKey(::Base.PipeEndpoint) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/TerminalMenus/util.jl:44
 [5] request(::REPL.Terminals.TTYTerminal, ::REPL.TerminalMenus.RadioMenu) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/TerminalMenus/AbstractMenu.jl:135
 [6] request(::REPL.Terminals.TTYTerminal, ::String, ::REPL.TerminalMenus.RadioMenu) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/TerminalMenus/AbstractMenu.jl:220
 [7] request(::String, ::REPL.TerminalMenus.RadioMenu) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/REPL/src/TerminalMenus/AbstractMenu.jl:216
 [8] registered_uuid(::Pkg.Types.EnvCache, ::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Types.jl:1064
 [9] registry_resolve!(::Pkg.Types.EnvCache, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Types.jl:841
 [10] #add_or_develop#13(::Symbol, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:57
 [11] #add_or_develop at ./none:0 [inlined]
 [12] #add_or_develop#12 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:29 [inlined]
 [13] #add_or_develop at ./none:0 [inlined]
 [14] #add_or_develop#11 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:28 [inlined]
 [15] #add_or_develop at ./none:0 [inlined]
 [16] #add_or_develop#10 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:27 [inlined]
 [17] #add_or_develop at ./none:0 [inlined]
 [18] #add#18 at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:69 [inlined]
 [19] add(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/API.jl:69
 [20] top-level scope at In[9]:1

I now that in the julia package manager they used TerminalMenus.jl package. I test that if this package can interact with jupyter or not and it comes that it can`t interact with Jupiter notebook to.
I didn't know that's an IJulia problem or Jupyter notebook. so I thought to mention this here first.
thank you.

TerminalMenus.jl currently relies on having a real tty-like terminal, which is not supported in Jupyter notebooks.
To make this work in IJulia, you would first need to abstract the TerminalMenus package so that it could use non-tty backends, and then implement some kind of widget in Jupyter for this … even then, since the Jupyter protocol does not support menu widgets, it would be impossible to get something that worked with arbitrary Jupyter front-ends.


Expand / Collapse in Interactive Window should expand the code down, not push up

When expanding and collapsing in the Interactive Window we expand the code up. So you can't reclose the collapse with a second click, instead you have to chase the expander around the page.

This is already fixed.


Parse regex to SimpleRegex

The proposal here is to parse and analyse the structure of regex expression to SimpleRegex expression.
It was enlightened an email sent by Adalbert Arsen. I endorse this plan because it's quite educative for regex learners & sounds like a good tool to debug complicated regex expression.

I see that this issue is about 4 years old now, and I'm not sure if anyone is currently working on this project, but I've written some python and javascript code that does essentially this (it's kind've like a simple compiler). It works in most simple cases (there's just a couple of SRL flags and keywords that aren't implemented) but sometimes has to resort to using the "raw" method where certain meanings can't be translated. There are also cases where I had to translate to a more complicated SRL expression because a simple translation wasn't possible (character classes with a mix of ranges and elements.) Since I've been exploring a lot of potential regex cases I've come across some SRL bugs along the way, I'll open a separate issue for those. Please let me know if you have any interest in collaborating!


Improve release management based on new capabilities

From May 22 gathering
Release management - we are have grown and new features available. Need to have some focus time on this to look into it and decide how to adjust our process

Possible a good US for the summer period? Must be done right after a release.


Default date to today in Checkin modal

Carriers mostly get returned at meetings.  Volunteers will almost always be using the current date for returns, so defaulting to the current date will be helpful to them.

👋  I can work on this one.

Thanks @cato-hga

@cato-hga I have some time today so I will take this one over thanks.


Still Not working

I installed the Modul. And activated it, restarted the Phone and it still won't work

Mind posting your Xposed log? And what Android version/ROM are you running? Note that this module should only affect the permission dialog on Android M+ and the install button in the APK installer


[REQUEST] : Add Inventory changer?

the title says everything.

+1

Nobody will do this to you. I suggest you review guidedhacking or other paste cheats with reverse engineering.


Fix contributor CI python tests

What
Removes incorrect --no-build flags from python contrib ci.
PR from a fork in order to test this out.
Checklist

[ ] I have read and agree to Contributor Guide and the Code of Conduct
[ ] I've included a screenshot or gif (if applicable)
[ ] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[ ] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[ ] If applicable, add a new check to the release checklist!
[ ] If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.

oh interesting this automatically closed itself when I reset the branch to main. That wasn't the intention. Well, I guess I'll chase contributor ci another time again


Support for #define

The Cake script
#define SOME_SYMBOL

Causes:

error CS1032: Cannot define/undefine preprocessor symbols after first token in file

(Version 0.21.1+Branch.main.Sha.9ff85bb53ea1890fabeb709d38ba79d3bf5cb16f)
Is there a technical reason this can't work or am I the first to try?

@jnm2 there are technical reasons why it does't currently work. This is due to code generation done for aliases behind the scenes. Have a look at this gist showing the difference between plain .cake snd what's passed to Roslyn.
That said, there's no technical reason why we couldn't get it to work. But first, what is your use case?

Cool! My use case is that I prefer #define SOME_SYMBOL to use with #if SYMBOL rather than const bool someSymbol = true; with if (someSymbol). Purely style.
Shouldn't be too hard to hoist #defines to the top then?

I have a real use-case now: avoiding warning CS0162: Unreachable code detected when I use a const bool instead of preprocessor.
Would you take a PR for this?

If you like to submit a PR we'll review it.
Tried this in csi.exe
#define DEBUG
#if (DEBUG)
Console.WriteLine("hello");
#endif

it works there, so should work in Cake too, but it needs to come first in the file so these defines would need to be moved to top of script like using statements much similar to what I propose in #1854 .

much similar to what I propose

If it's fresh in your mind, would you do it? That would be perhaps more efficient.

To spin this even further I’d say we should support defines via cmdline/config/environment (similar to DefineConstants in MSBuild). Also we should take #ifdef into account when preprocessing. This would open up possibility to conditionally load another file or conditionally install tool/addin.

If it's fresh in your mind, would you do it? That would be perhaps more efficient.
@jnm2 even if that were true, it still takes some effort to do it and time is limited 😎 But if no one takes it on I might take a stab at it when I can, have a few outstanding PRs awaiting @cake-build/cake-team review and could potentially look at this post that. But other things might also take precedence.

@mholo65
So tested plain scripting  and csi.exe
#if (FOO)
#r ".\Newtonsoft.Json.dll"
#endif

Console.WriteLine(
    Newtonsoft.Json.JsonConvert.SerializeObject(
            new {
                Hello = "World"
            }
        )
    );

and it works regardless if i define FOO or not, so would seem as #r is processed at same scope as #if/#define
and gives error CS0103: The name 'Newtonsoft' does not exist in the current context if i remove the line.
I propose we first align with what Roslyn / csi.exe does as that's likely a fairly simple fix and later on look if we can / should improve it in any way.
I do like the DefineConstants as cmdline/config/environment idea though - essentially just a cake config for constants, makes a lot of sense.

Submitted PR #1858 as a proposed fixed for this issue.

Thank you @devlead!


Incomplete Jump Table Cases

Below is an example where binja correctly finds all jump table targets, but does not identify all cases when accessing a jump table through an llil instruction's possible values (e.g., current_llil[32].dest.possible_values). The image below is a read out of end of the jump table's data var. It appears that the possible_values include the last two target reference cases, and all other cases are ignored.
>>> current_llil[32].dest.possible_values
<table: [0x5e] -> 0x17fc0, [0x5a] -> 0x17fc4>

Fixed in build 1.1.1279-dev.


fix(TDI-40154): adjust Snowflake JDBC Parameters for dataprep platform

What is the current behavior? (You can also link to an open issue here)
https://jira.talendforge.org/browse/TDI-40154
What is the new behavior?
https://jira.talendforge.org/browse/TDI-40154
Please check if the PR fulfills these requirements

[x] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[ ] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Pull request test result: failure :x:

https://ci-common.datapwn.com/job/components_comp_wwang-talend_TDI-40154/

the test failed as some network issue, not about current fix

Now there is some issue in the build and test process in jenkins, we will merge this directly as it's a small fix and safe.

https://ci-common.datapwn.com/job/components_wwang-talend_TDI-40154/3/


On value set scenario, copy_ can be null

🐛 Bug Report
A clear and concise description of what the bug is.
If your bug report involves classes, check the docs on how classes are handled first. For patches, don't file issues if they are not optimal, only if they are incorrect.
https://github.com/immerjs/immer/blob/e28b53f2d12696954b1f0125494498e34d77a3df/src/core/proxy.ts#L150

Link to repro
a repo is a little complex, I have a customized redux, I give the draftState for each of the child reducer to process, but if I use current to give the non-draft state for child reducer to process, this issue doesn't exist.
A bug report without a reproduction is not a bug report. Failing to follow this templately is likely to result in an immediate close & lock of the issue.
Please provide either a CodeSandbox demo, or a PR with a unit test. In limited cases, a minimal repository on GitHub is accepted as well.
To Reproduce
Steps to reproduce the behavior:
Observed behavior
A description of what behavior you observed and why you consider it faulty.
Expected behavior
A clear and concise description of what you expected to happen instead.
Environment
We only accept bug reports against the latest Immer version.

Immer version:
[x] I filed this report against the latest version of Immer
[ ] Occurs with setUseProxies(true)
[ ] Occurs with setUseProxies(false) (ES5 only)

Closing the issue for the lack of reproduction, as indicated in the issue template. Feel free to open a fresh one once a reproduction is available (or feel free to link one here, but not sure if that triggers the right notifications)

Closing the issue for the lack of reproduction, as indicated in the issue template. Feel free to open a fresh one once a reproduction is available (or feel free to link one here, but not sure if that triggers the right notifications)


How should I connect to nginx apiserver gateway using kubectl proxy?

Hi there,
I'm struggling to connect to the nginx apiserver using kubectl proxy ....
It seems that it's struggling to proxy the https traffic. I'm not sure if the proxy command just doesn't proxy https traffic, or if I'm doing something wrong. Can you recommend how to do this? Thanks.
For example:
$ kubectl get svc -n openwhisk nginx
NAME      TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)                                     AGE
nginx     NodePort   <IP_ADDRESS>   <none>        80:32040/TCP,443:31005/TCP,8443:31201/TCP   34m

$ kubectl proxy --port=31005 &
[1] 86814
Starting to serve on <IP_ADDRESS>:31005

$curl localhost:31005
{
  "paths": [
    "/api",
    "/api/v1",
    "/apis",
    "/apis/",
...

$ curl https://localhost:31005
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

$ wsk property set --apihost localhost:31005
ok: whisk API host set to localhost:31005

$ wsk --insecure action get /whisk.system/samples/greeting
error: Unable to get action 'samples/greeting': Get https://localhost:31005/api/v1/namespaces/whisk.system/actions/samples/greeting?code=false: http: server gave HTTP response to HTTPS client
Run 'wsk --help' for usage.

Fixed, the problem was that I used proxy instead of port-forward.
kubectl -n openwhisk port-forward service/nginx 443 with the appropriate permissions to open the local 443 port, works.


Wordle Scoreboard

Description
We're enjoying to play Wordle together on the community server. However, making manual score boards is painful, Brainy should take care of this!
To implement
The main features should be:

[ ] Detect Wordle messages (Based on their format)
[ ] Update the scores and save them based on sent messages.
[ ] React to sent messages to confirm receiving them (or reply to them with diverse messages)
[ ] scoreboard command to show the scoreboard

To go further

[ ] Launch a new session every night and create the thread automatically

While I really love how feature rich the issue is, I think it can be faster and simpler to implement with a single command that can be run on threads, the bot can parse the discussion and send the scoreboard at the end. It will have to parse the discussion on every run, however, it wouldn't require storing scores and watching for incoming messages.
We do aim for the full features described, but a simple solution can be implemented first I think.

@youben11 I also see it this way. read & parse. though there is a limit on the number of messages you are able to fetch from API. so there must be some kind of pagination.


fix problematic bug introduced by new clldutils api for csv files due to quotechar

The character " is destroying the reading of orthoprofiles, since it is the quotechar as a default, so I added a keyword specifiying it should NOT assume any quotechar. This allows us to use the " as a character to be modified (just turned up when working on Uto-Aztekan)

Codecov Report

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

@@           Coverage Diff           @@
##           master      #21   +/-   ##
=======================================
  Coverage   99.24%   99.24%
=======================================
  Files           9        9
  Lines         395      395
=======================================
  Hits          392      392
  Misses          3        3

Impacted Files
Coverage Δ

segments/tokenizer.py
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

The alternative would be to write "" for all of those instances, but I think I'd prefer the quotechar=None solution, as it is less to explain to people...

I'm ok with the quotechar=None solution. Sounds good!


Four tests fail in GraphicalLinearAlgebra

Reproduce using the following:
julia> include("test/linear_algebra/LinearAlgebra.jl")
Error message:
Test Summary:  | Pass  Total
TensorNetworks |   13     13
GraphicalLinearAlgebra: Test Failed at .julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl:141
  Expression: (f ⊕ g) * [x; y] == [f * x; g * y]
   Evaluated: [0, 0, 28, 73, 118] == [1, 2, 28, 73, 118]
Stacktrace:
 [1] top-level scope
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl:141
 [2] include(fname::String)
   @ Base.MainInclude ./client.jl:444
 [3] macro expansion
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/LinearAlgebra.jl:8 [inlined]
 [4] macro expansion
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
 [5] top-level scope
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/LinearAlgebra.jl:8
GraphicalLinearAlgebra: Test Failed at .julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl:142
  Expression: swap(dom(f), dom(g)) * [x; y] == [y; x]
   Evaluated: [0, 0, 0, 2, 1] == [7, 3, 5, 2, 1]
Stacktrace:
 [1] top-level scope
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl:142
 [2] include(fname::String)
   @ Base.MainInclude ./client.jl:444
 [3] macro expansion
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/LinearAlgebra.jl:8 [inlined]
 [4] macro expansion
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
 [5] top-level scope
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/LinearAlgebra.jl:8
GraphicalLinearAlgebra: Test Failed at .julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl:144
  Expression: mcopy(dom(f)) * x == [x; x]
   Evaluated: [0, 0, 2, 1] == [2, 1, 2, 1]
Stacktrace:
 [1] top-level scope
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl:144
 [2] include(fname::String)
   @ Base.MainInclude ./client.jl:444
 [3] macro expansion
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/LinearAlgebra.jl:8 [inlined]
 [4] macro expansion
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
 [5] top-level scope
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/LinearAlgebra.jl:8
GraphicalLinearAlgebra: Test Failed at .julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl:146
  Expression: plus(dom(f)) * [x; x] == 2x
   Evaluated: [2, 1] == [4, 2]
Stacktrace:
 [1] top-level scope
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl:146
 [2] include(fname::String)
   @ Base.MainInclude ./client.jl:444
 [3] macro expansion
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/LinearAlgebra.jl:8 [inlined]
 [4] macro expansion
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
 [5] top-level scope
   @ ~/.julia/packages/Catlab/ESMGn/test/linear_algebra/LinearAlgebra.jl:8
Test Summary:          | Pass  Fail  Broken  Total
GraphicalLinearAlgebra |   61     4       4     69
ERROR: LoadError: Some tests did not pass: 61 passed, 4 failed, 0 errored, 4 broken.

My environment:
OS: Manjaro Linux 21.0.5
Julia: 1.6.3
Catlab: v0.13.2
Maybe because the julia version you use in the github workflows is 1.6.2?
But it's weird that the test in .julia/packages/Catlab/ESMGn/test/linear_algebra/GLA.jl line 146 is just off by a factor of two.

I am going to assume that the LinearOperators version is the problem and close. If not, we can reopen.

Sorry for the late reaction. Yes it was a version issue as you said. Thanks again for your help and the work on AlgebraicJulia!


port fbstring from folly

with modifies:

port neccesary functions from
folly/lang/CheckedMath.h,folly/memory/Malloc.h;
remove std::atomic from RefCounted.refCount_, because no need in
seastar;
replace hash with xxhash
support arena
fix lint; add NOLINT to disable short-var-names lint error

resolves CORE-507

https://linear.app/stdb/issue/CORE-507/用string-替换掉-sstring，完美替换，让-string-支持-arena


Attribute Error: 'Sequential' object has no attribute '_layers'

This is a quick fix, with simple try/except flags that can be improved further down the line. If you'd like to suggest any improvements I'll be happy to incorporate them.

Could you please active Allow edits from maintainers?


[BUG] help plz

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

What problem did you encounter?

whenever i open my bloxstrap this thing always shows up
Bloxstrap Log
No response

Try reinstalling

hey, tysm its working now


Selected items not persisted between pages of datatables

Bug description
When browsing a repo's tags, Items selected on a page of the tags datatable aren't persisted after selecting more items on another page.
Expected behavior
Any items selected in a datatable should be kept as selected
Steps to reproduce the issue:

Browse a registry
Select a tag on page 1 and another tag on page 2
Go back to page one and see the first tag no longer selected, go back to page 2 and see the tag is still selected

Technical details:

Portainer version: 1.22
Docker version (managed by Portainer): 19.03 (Swarm)
Platform (windows/linux): Linux (Ubuntu 18.04.2 LTS)
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer): docker run -p 9000:9000 -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
Browser: Chrome, FireFox

Reproduced on 1.23.2

Closed via https://github.com/portainer/portainer/pull/4358


Invalid use of pre in Blocks.Logical.TriggeredTrapezoid

Reported by stefanv on 16 Aug 2012 20:59 UTC
We were investigating an issue when we came across this Modelica library component that has a pre around a continuous variable in its definition. This pre(y) is inside a when-equation and y is declared as Blocks.Interfaces.RealOutput y
when {initial(),u,not u} then
    endValue = if u then offset + amplitude else offset;
    rate = if u and (rising > 0) then amplitude/rising
           else if not u and (falling > 0) then -amplitude/falling
           else 0;
    T = if u and not (rising > 0) or not u and not (falling > 0) or not abs(amplitude) > 0 or initial() then time
        else time + (endValue - pre(y))/rate;
end when;

The initial equation section in the source code of this component (in Blocks/Logical.mo) contains this comment:
  initial equation
    /* A start value of y is set, because pre(y) is present
     to avoid a warning message from the compiler. However,
     this setting does not have an effect, because y is initialized
     correctly, before pre(y) is used */
  pre(y) = 0;

Is this valid?  Judging by the comment, it's a hack to get around some tool's compiler.

Migrated-From: https://trac.modelica.org/Modelica/ticket/790

Comment by pharman on 2 Oct 2012 09:45 UTC
While looking at this model, which I agree is invalid, and looking at where it is used I found there is a duplicate class in Modelica.Fluid.Examples.AST_BatchPlant.BaseClasses.TriggeredTrapezoid. The duplicate is never used as the class Modelica.Fluid.Examples.AST_BatchPlant.BatchPlant_StandardWater makes use of the original from Modelica.Blocks.

Changelog removed by pharman on 2 Oct 2012 09:45 UTC

Comment by stefanv on 2 Oct 2012 13:04 UTC
Peter, that should probably be filed as a separate ticket.

Comment by pharman on 2 Oct 2012 15:15 UTC
Good point, see #852

Comment by stefanv on 2 Oct 2012 15:24 UTC
I filed this before the 76th design meeting where we adopted the compliance initiative, but since illegal Modelica to get around a bug in a tool is a compliance issue, I'm raising this to a blocker.

Comment by hansolsson on 4 Oct 2012 14:38 UTC
I don't know what tool generates the warning, but it is common to add superfluous initializations in e.g. C-code to pass static code checkers.
That is normally considered good software engineering practice, even if a human can analyze the code and determine that the initialization is not needed in the particular case.
In this case we have:
   y = if time < T then endValue - (T - time)*rate else  endValue;
   when {initial(),u,not u} then
       T = if u and not (rising > 0) or not u and not (falling
         > 0) or not abs(amplitude) > 0 or initial() then time else time
         + (endValue - pre(y))/rate;
    end when;

Here T seems to use pre(y) - but looking more closely we see that during initialization we will get T=time, regardless of pre(y), and then compute y directly from T.
Written in e.g. C this would be:
  int i;
  double y=0; /* Value is not used, but needed to avoid warning from lint */
  double T;
  for(i=0;i<10;++i) {
    if (i==0 || f1(i)) {
      T=(f2(i) || (i==0)) ? i : f3(y, i);
    }
    y=f4(T);
  }

Removing the initialization of 'y' would be silly.
Conclusion: The initialization value for y should be kept as it is(*). However, the comment might be rewritten if found offensive, and as above explain why pre(y) is not used. There are also some improvements needed for the spec list below:
--
It is not clear what "invalid" refers to in this ticket, but I as far I understand the issue is the use of "pre(y)" in an initial equation (i.e. how y is initialized). That seems like an omission in the standard: the expressions in the "initial equation"-sections should be seen as discrete expressions.
The time is certainly not changing; and I see no issue with:
initial algorithm
   discreteVar:=f(time);

which is also used in MSL.
*: The alternative to having initial equation pre(y)=0; would be a start-value for y. However, I am not certain that it is specified that pre(y) is initialized to the start-value for continuous-time variables.

Comment by stefanv on 4 Oct 2012 14:46 UTC
I too do not know which tool it is that gives a warning (I didn't write the comment in the original code). However, the issue here is not entirely that y is being initialized in order to avoid a warning, but the fact that pre() is used on y. One can't use pre() on a continuous variable, which y is.

Comment by hansolsson on 4 Oct 2012 14:54 UTC
Replying to [comment:6 stefanv]:

I too do not know which tool it is that gives a warning (I didn't write the comment in the original code). However, the issue here is not entirely that y is being initialized in order to avoid a warning, but the fact that pre() is used on y. One can't use pre() on a continuous variable, which y is.

You can in some cases: The requirement is that pre() is applied to a discrete-time expression which is also a variable. Thus pre(y) for a continuous-time variable is allowed (and frequently used) inside when-clauses, since they are then seen as discrete-time expressions; and it seems that expressions in initial equations also should be seen as discrete-time expressions (in both cases time is fixed).

Comment by pharman on 4 Oct 2012 14:59 UTC
Replying to [comment:7 hansolsson]:

it seems that expressions in initial equations also should be seen as discrete-time expressions

Which in the specification they aren't, so the model is invalid. So the conclusion can't be that it is kept as it is, either the model must be changed or the specification must be.

Comment by hansolsson on 4 Oct 2012 15:23 UTC
Replying to [comment:8 pharman]:

Replying to [comment:7 hansolsson]:

it seems that expressions in initial equations also should be seen as discrete-time expressions

Which in the specification they aren't, so the model is invalid. So the conclusion can't be that it is kept as it is, either the model must be changed or the specification must be.

My conclusion above was that the spec should be improved; but the model code should not be changed. Currently the spec requires that pre(y) is unknown during initialization, but there is no way to write initialization equations for pre(y).

Comment by pharman on 4 Oct 2012 15:42 UTC
Replying to [comment:9 hansolsson]:

there is no way to write initialization equations for pre(y).

I'd say there is:
  when initial() then
    pre(y) = 0;
  end when;

which in my view makes matters even worse because it is different behavior between different methods of initializing variables. I've therefore created a ticket #853.

Comment by hansolsson on 4 Oct 2012 15:47 UTC
Replying to [comment:10 pharman]:

Replying to [comment:9 hansolsson]:

there is no way to write initialization equations for pre(y).

I'd say there is:
  when initial() then
    pre(y) = 0;
  end when;

which in my view makes matters even worse because it is different behavior between different methods of initializing variables. I've therefore created a ticket #853.

The left-hand side in a when-equation may not be pre(y), see <IP_ADDRESS>.

Comment by otter on 4 Oct 2012 20:26 UTC
As one of the principal designers of the hybrid features (including pre(..)), I would like to point out that the hybrid features have been designed so that pre(..) can be applied in a when-clause and in initial equation/algorithm sections on any type of variable, including non-discrete time variables. The meaning is:
A variable like y refers to the right limit y(t+eps), eps->0 and pre(y) refers to the left limit y(t-eps), eps->0.
If event iteration takes place, pre(y) refers to the value from the last event iteration.
If this feature would not be present, several useful models could not be defined.
If this is not stated in this form in the specification, the specification must be corrected (I did not yet have time to check this).
Now, back to the example. During initialization variables der(x1) and pre(x2) are treated as algebraic unknown variables that are independent of x1 and x2. The single assignment rule also holds at initialization and this means if there are n variables we need exactly n equations. For the TriggeredTrapezoid this means there MUST be an equation for pre(y), otherwise the number of unknowns (y, pre(y), endValue, rate, T) and the number of equations does not match.
I removed the initialization of pre(y) in the initial equation section and tried in Dymola: With default options there is a warning "The initial conditions are not fully specified" and Dymola assigns a value of 0.0 to pre(y). In pedantic mode, Dymola triggers an error (since the initial conditions are not fully specified). So, Dymola makes a perfect job.
Note, the alternative would be to set a start value for y:
RealOutput y(final start=0.0)

since this has exactly the same effect (providing the equation pre(y)=0.0 for initialization). However, this is quite visible to the outside for a setting that does not influence the result (every start value will give exactly the same time behavior of y). Therefore, it is better to set this inside an initial equation section.
To summarize, the model is correct. However, the comment is completely misleading. I removed the comment in 61aa793a203f51ff9a62c617b1cf999056da6ac6 and consider this ticket as fixed (an unclear specification should be a different ticket).