KeyError

Perhaps I did something wrong setting it all up with Python and stuff but this is the error I got..

os.environ is a dictionary. I set that up so we don't have to actually paste our token into the program. I accidentally pushed it into the repo once and had to deauthorize and so on...
What you want is this (supposing you want the token in your code...):
token = '380089595:AAHuaAQaGt...'
Tell me how that works out for ya

Thanks bro, that helped resolving the KeyError on the token.
However a new KeyError popped up:

Sorry to bother again but I really would like to see this thing at work lol

Same thing. Are you familiar with Python? I suggest you reading up on dictionaries and how they work. Anyway:
SETX TELEGRAM_CHAT_ID <your_chat_id>

Yeah that worked however what I did is enter chat ID in the line known_ids = and the next line I removed. Not sure if I was supposed to but there you go.
No I'm not familiar with python honestly. I came across the script though some website, can't even remember.
Anyway after running the python RATAttack.py command the bot in Telegram suddenly said PCJWDSKTP: I'm up.
Then I ran the command to compile that .bat file, a whole bunch of stuff happened and it produced a RATattack.exe file in the dist folder.
Think I'm getting close to running this gem now.
If you have time and want to help me out a bit more on what to do next, please hit me up on Telegram @AssasNin would really appreciate it.
Best regards,
Patrick.


buildPythonApplication: use new function for Python applications

In 49c68939db5ae9634f1400cfc7c78253939ff6df buildPythonApplication was introduced.
This commit converts (almost) all occurrences of buildPythonPackage with buildPythonApplication except those in

pkgs/top-level/python-packages.nix
pkgs/development/python-modules/

cc @domenkozar

I guess the namePrefix = "" should be removed at the same time?

I just saw I made some mistakes in all-packages.nix.

@dezgeg Good point. But that seems a bit harder to automate though.

Maybe something like (untested):
for f in $(git diff --name-only); do
    sed -e '/namePrefix *=/d' -i $f
done

Will need to add buildPythonApplication to docs.

Having namePrefix=""; inside buildPythonApplication is no problem. They can be removed later.


Auto-Encode values Provided an Instance of Schema[A] Exists

Closes zio/zio-jdbc#10
One issue with my approach, is that it still requires the explicitly declared implicit to be in scope
implicit val userEncoder: JdbcEncoder[User] = JdbcEncoder.fromSchema

I ran into a problem in overloading the .values call and summoning the encoder from the schema there, since the overload would have been ambiguous (different only in the type of implicit parameter available).
The first solution would be to name the .values method for schema encoded values something different, but that did not feel very ergonomic or valuable.
The second approach I tried is to change the implicit parameter such that it could take a Schema or JdbcEncoder, i.e something like this:
  object implicits {
    case class EncoderOrSchema[A](e: Either[JdbcEncoder[A], Schema[A]])
    case class DecoderOrSchema[A](e: Either[JdbcDecoder[A], Schema[A]])

    object EncoderOrSchema {
      implicit def fromEncoder[A](implicit encoder: JdbcEncoder[A]): EncoderOrSchema[A] = EncoderOrSchema(Left(encoder))
      implicit def fromSchema[A](implicit schema: Schema[A]): EncoderOrSchema[A]        = EncoderOrSchema(Right(schema))
    }

    object DecoderOrSchema {
      implicit def fromDecoder[A](implicit decoder: JdbcDecoder[A]): DecoderOrSchema[A] = DecoderOrSchema(Left(decoder))
      implicit def fromSchema[A](implicit schema: Schema[A]): DecoderOrSchema[A]        = DecoderOrSchema(Right(schema))
    }
  }

and then have the .values call pattern match on the implicit that was available:
  def values[B](
    b: B,
    bs: B*
  )(implicit encoderOrSchema: EncoderOrSchema[B], ev: A <:< ZResultSet): SqlFragment =
    encoderOrSchema.e match {
      case Right(schema) => values(b +: bs)(JdbcEncoder.fromSchema(schema), ev)
      case Left(encoder) => values(b +: bs)(encoder, ev)
    }

This sort of worked, but for tuples it was broken since it seems there is a schema and jdbc encoder always in scope, likely due to the requisite imports. It also misbehaved in 2.12 with another compiler exception.
Maybe there's a better standard solution out there for this kind of problem, would enjoy other's input.

I think we do need to solve the implicit problem. I have been punting on that, until the library is a little further along, because it's not a critical issue but seems to be tricky.

Thank you for this contribution! 🙏


Alternative Repo

We started a new TokBox repo because this one didn't seem to be supported anymore. Took a lot of inspiration from this one. Please let me know if you have any comments/concerns etc
https://github.com/500LABS/HotBox

Sweet! I will check it out! If it works you're a life saver man...

@deqyd let me know if anything doesn't work for you or you have any suggestions. We are actively developing it so should be able to get any fixes in quick.

@Jonovono no doubt, I am having some compilation issues with undeclared type RCTEventEmitter and RCTManager however, I am going through once more to ensure I didn't miss anything before I issue any tickets. Thanks.

@deqyd do you get that running the example project?
I'll go through it adding to a blank project tomorrow, I may have missed some steps.

@Jonovono Yea, I actually got it running. So my problem may be stemming from my existing project. Essentially, it a preexisting project that I am currently trying to integrate HotBox into. However I have using RN 0.42 which may also be my issue. So I am trying to upgrade right now to see.

@deqyd hah good luck. I know the pain that can bring sometimes :p

@deqyd Check this out:  opentok-react-native library: https://github.com/opentok/opentok-react-native
NPM package:  https://www.npmjs.com/package/opentok-react-native
Samples: https://github.com/opentok/opentok-react-native-samples


mcmod.info hasn't been pushed to the version on curse, maybe they just have a late commit?

Grabbed the most recent version off curse (<IP_ADDRESS>) and it's got this in the mcmod.info file.
[
{
"modid": "examplemod",
"name": "Example Mod",
"description": "Example placeholder mod.",
"version": "<IP_ADDRESS>",
"mcversion": "1.12.1",
"url": "",
"updateUrl": "",
"authorList": ["ExampleDude"],
"credits": "The Forge and FML guys, for making this example",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]
Is it just an old version of the file, or is something breaking in your gradle? (I see the local GIT version is fine)
**edit: as such, I can't open the config options for the mod itself. :(

I was aware of it. and I release a new version (<IP_ADDRESS> for 1.12.X) that has this fixed. And it's one file for all 1.12 versions again.


5.0 Version Moving keys issue

Hi guys,
I just downloaded the last version, and I got a issue with keys navigation.
So... let me try to explain... when you run a query and got a result set... and you try to use CTRL+left or right arrows, the screen apply these commands into result set, however I was put the cursor in the SQL query not in result set.
Then, isn't possible to use CTRL + LEFT key to jump over the words in a query because the screen redirect this command to result set.
Best Regards,
Marcio Cunha
Brazil.

UP.

Can't reproduce.
What is your OS?

I have the same problem.
DBeaver 5.0.0
Windows 10

Shortcuts for results navigation were changed to CTRL+ALT+LEFT and CTRL+ALT+RIGHT


Difference between --from-env-file single vs multiple

This is a Bug Report

If --from-env-file with multiple file will ONLY take the last file then why we have this option. this is as good as --from-env-file from a single file.
Proposed Solution:
There should be an option to take --from-env-file from multiple files.
Page to Update:
https://kubernetes.io/...

1.1.13

Page referenced: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#create-configmaps-from-files
I agree this is confusing for users as the documentation does mention it in passing as if it is a feature but it is actually supposed to be a warning.
Proposed Solution: Adjust the wording to make it clear that this is a warning rather than a feature
@shaktiprasadrath You may want to open this issue in kubernetes/kubectl but I believe the correct pattern would be to create separate config maps for each file so they can remain independent

The page states:

You can pass in the --from-file argument multiple times to create a ConfigMap from multiple data sources.

I have not tried this, TBH. It sounds like kubectl ought to warn people if --from-file is specified more than once (that'd be a separate issue against kubectl).
If kubectl doesn't have that warning but kinda should, then the documentation should have a warning instead. IMO.

It looks like the distinction then is between --from-file and --from-env-file. For the latter:

When passing --from-env-file multiple times to create a ConfigMap from multiple data sources, only the last env-file is used

So it looks like the --from-file is the more robust preferred option, but --from-env-file may be supported for legacy reasons, but I'd have to confirm

/priority important-soon

As I understood:
--from-file loads filename:filecontent as a unique key:value pair
--from-env-file loads each line (formatted as KEY=value) as key:value pairs
So --from-env-file is not legacy. It is a way to load a set of environment variables.
I think it is a good behavior to be able to load a unique env file.
Proposed Solution:
There should be an error if --from-env-file option is used more than once in the same command.

To request an enhancement to kubectl, visit https://github.com/kubernetes/kubectl/issues/new/choose and file an issue. It's OK to reference the URL of this issue: https://github.com/kubernetes/website/issues/16729


How to add a table with un-quoted name?

I'm trying to add the following to a Cargo.toml file:
[profile.dev]
opt-level = 1

I have tried the following:
let mut dev_profile = Table::new();
dev_profile.insert("opt-level", value(1));

cargo_toml.insert("profile.dev", Item::Table(dev_profile));

However, when writing this back to Cargo.toml with cargo_toml.to_string(), I get the following:
["profile.dev"]
opt-level = 1

Because the profile.dev is quoted, Cargo doesn't recognize it as valid key:
warning: unused manifest key: profile.dev

Is there a way to add it without the quotes?

cargo_toml.insert("profile.dev", Item::Table(dev_profile));

You are adding a table with the name profile.dev.  What you want to do is add the table profile and add a table dev underneath it.

use toml_edit::*;

fn main() {
    let mut doc = Document::new();
    let mut dev_profile = Table::new();
    dev_profile["opt-level"] = value(1);
    let mut profile = Table::new();
    profile.set_implicit(true);
    doc["profile"] = Item::Table(profile);
    doc["profile"]["dev"] = Item::Table(dev_profile);

    println!("{doc}");
}

This should work.

Thanks for the quick help, now it works!
While I'm here, is there also a way to add a comment on top of a table?
# Enable a small amount of optimization in debug mode
[profile.dev]
opt-level = 1

I believe that would be done by setting the table's "decor"
You can always verify that by parsing the toml you are interested in, doing a debug print of it, and seeing what fields the comment is applied to

Cool, thanks!

For future reference, the following worked to set the comment:
profile_dev
    .decor_mut()
    .set_prefix("\n# Enable a small amount of optimization in debug mode\n");


docs: Update 'Passing params to a previous screen'

I'm currently developing app that passes params from subsequent screens. One screen also has a screen that passes back additional route params.
I was not sure if I needed to pass all params to new screen or if the behaviour is the same as setParams.
It turns out that second behaviour is present.
I think it will be useful to mention it in the documentation.

Params are merged for every action, not just setParams or navigate. So I'm not sure mentioning it specifically in this example makes sense. If it wasn't obvious, maybe the better place to mention it is the getting started guides.

Sure. I couldn't find this information anywhere in documentation and had to test it in my app what is the actual behavior.
I think it would be nice to mention it somewhere. Please, let me know where you think is the best place, so I can move it there.

Thanks, I think we can add a section in this page about what happens when passing params to an existing screen: https://reactnavigation.org/docs/params

Great! Thank you :D

I added new section. I don't like the title, so if you have any other ideas, let me know.

There have been a lot of changes regarding this in 6.x and 7.x, so for now, I'm closing this. We can revisit this later.


Clear 'modified' checkmark once region marked 'done'

I came across this observation while working on the Segmentor paper figures. Presently, a region can be simultaneously 'modified' and 'done.' This makes it possible for the total count to be 'less' than the sum of the 'done' and 'modified' counts. Creating a means to turn off the 'modified' checkmark when 'done' is checked will help alleviate potential confusion about how many regions were modified in a given work session. The picture below highlights region 32, which is marked 'modified' and 'done.'

Does it make sense to change "Modified" to "Active" or something similar?

Does it make sense to change "Modified" to "Active" or something similar?

@davidborland Thanks for reminding me about this comment! When I initially wrote this, I think we ought to have a 'flag' such that a nucleus can be 'modified' or 'done,' but not 'modified and done.' Modified still works as the term. Can we update in a way such that when clicking 'done,' the modified icon does not appear in the row and no longer counts toward the modified count. Modified + Done should equal total count, which is helpful in terms of assessing tracing progress -- what do you think?

@davidborland Thanks for reminding me about this comment! When I initially wrote this, I think we ought to have a 'flag' such that a nucleus can be 'modified' or 'done,' but not 'modified and done.' Modified still works as the term. Can we update in a way such that when clicking 'done,' the modified icon does not appear in the row and no longer counts toward the modified count. Modified + Done should equal total count, which is helpful in terms of assessing tracing progress -- what do you think?

Yeah, we can update the logic as you suggest. I was just wondering if we should use a different term than modified if we do that, as a done region has most likely been modified. Maybe "active" or "in progress". I'm fine either way though.

Yeah, we can update the logic as you suggest. I was just wondering if we should use a different term than modified if we do that, as a done region has most likely been modified. Maybe "active" or "in progress". I'm fine either way though.

Sounds like we can use 'refining' as a way to suggest that manual tracing (refinement) is happening. Thanks, I think this addresses  my comments!

Sounds like we can use 'refining' as a way to suggest that manual tracing (refinement) is happening. Thanks, I think this addresses  my comments!

Implemented

Implemented


Inconsistent execution order when calling BehaviorSubject.next inside the subscription

Hi,
I have found a strange issue. The code below does not call the subscriber in the expected order.
const Rx = require('rxjs');

const dispatcher = new Rx.BehaviorSubject();
dispatcher.next("INITIAL");

let did = false;

dispatcher
	.do(() => {
		if(!did) {
			did = true;
			dispatcher.next("FIRST");
		}
	})
	.subscribe((state) => {
		console.log(state);
	});

dispatcher.next("SECOND");

Expected: "INITIAL", "FIRST", "SECOND"
Actual: "FIRST", "INITIAL", "SECOND"
Tested with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Can you please explain if it is a design decision or a bug?
Thanks,
Peter

I think this is kind of expected. It seems there is synchronous re-entrant which causes to subscription execution happens immediately for first, then observer is being called for initial value. If you're making observe non-synchronous reentrant like
dispatcher.observeOn(Rx.Scheduler.async)
.do(() => {
  if(!did) {
    did = true;
    dispatcher.next("FIRST");
  }
})
.subscribe((state) => {
  console.log(state);
});

then you can see first is not synchronously subscribed.
I'll leave this open and /cc @jayphelps , @trxcllnt in case I did understand something wrong. (I do wrong thing frequently. :) )

Just looking at this, I'd say it's a bug. But I'll have to dig more. Thanks.

Labeling that "INITIAL" is a bit misleading, especially when doing things synchronously like that. The way to truly initialize a BehaviorSubject is via the constructor:
const dispatcher = new Rx.BehaviorSubject("INITIAL");
dispatcher.next("THIS IS SOMETHING ELSE BASED ON THE SCHEDULER");

Maybe it is confusing, but even if I do the way you are suggesting, it won't change the behavior. "INITIAL" will come after "FIRST".
I am not defending the code because I know that the example is bad code. I also understand why it is happening, it will do something like this under the hood:
let did = false;

function a(data) {
  if (!did) {
    did = true;
    a("FIRST");
  }
  console.log(data);
}

a("INITIAL");

It is trivial that "FIRST" will come before "INITIAL" in the example above.
I would like to know if this behavior is a bug or the expected behavior of a BehaviorSubject. To me it is not expected, because I expect that the subscriber will get that data according to the timeline, even if the next calls are nested synchronously. At least that's how a stream should work in my opinion.

This is not a bug. Subjects don't protect against reentrancy because to do so would necessitate unbounded buffers. You can either do dispatcher.observeOn(Scheduler.asap) or do dispatcher = new ReplaySubject(1, null, Scheduler.asap)

Thanks for the conclusion. In my case it is not that trivial to replace it, because we use the ngrx/store library, that is implemented using BehaviorSubject. At least I know that it is not a bug so we can refactor our code accordingly and create a standard to be able to avoid future issues related to this behavior.
Thanks again!

@peterbakonyi05 I've been experimenting recently with ngrx/store and ngrx/effects (and their current rxjs 5 implementation limitations), and I've been able to get correct ordering of typical REQUEST/PROGRESS/CANCEL/SUCCESS/FAILURE actions/events, even when they're interdependent and nested.
For example, a simple nesting where maybe a SELECT requires a LOAD might be:

SELECT_REQUEST->PROGRESS->LOAD_REQUEST->PROGRESS...->LOAD_SUCCESS->SELECT_SUCCESS->PROGRESS
SELECT_REQUEST->PROGRESS->LOAD_REQUEST->PROGRESS...->LOAD_FAILURE->SELECT_FAILURE->PROGRESS
SELECT_REQUEST->PROGRESS->LOAD_REQUEST->PROGRESS...->SELECT_CANCEL->PROGRESS

To do it, I use the async scheduler via observeOn(async), takeUntil for cancellation, switchMap, etc.
Since this is a bit off-topic (although it did motivate your creation of the issue), feel free to ask over on stackoverflow using the ngrx tag if you're interested in further details.

@rob3c I think based on your valuable inputs we will be able to find the best possible solution. I was hoping that we can resolve our issue in general, but then we need to spot these kind of issues case-by-case and apply the suggested fixes.
off-topic: Probably the best thing to do is to move dispatching of the action from the selector into another effect and add observeOn(async) to prevent concurrency and isolate the business logic from the view even better.

@peterbakonyi05 Keep in mind that ngrx store dispatches the Observable<Action> returned by an ngrx effect. I mention it here, because I think others will also hit this issue when trying to manually dispatch actions directly inside do (and other operators) or subscribe like this, instead of using something like switchMap to return a new Observable<Action> to dispatch. Of course, that new returned sequence can use any rxjs magic to dispatch one or more new actions to the store.
You may find my SO answer here useful as illustration. It shows a simple effect that waits on an async service while emitting progress and a success/fail result while listening for cancellation.


tsconfig.json "files" are relative to the tsconfig file and not rootDir

I have set rootDir:"src" and the files array contains files like src/foo/bar.ts. When I use tsProject.src()to generate the source list for gulp, it fails with error TS6053: File XXX not found. The problem is that the plugin considers the files to be relative to the rootDir instead of the config file. The relevant code is in the implementation of Project.prototype.src which resolves the files relative to base instead of configPath.
https://github.com/ivogabe/gulp-typescript/blob/82b7ad2a8c1e043fb5b0f7a69ac975048d9509ef/lib/project.ts#L129-L130

Thanks for reporting, fixed.


process was be killed, ram is not enough.

hi@zhxiaokang,
please help, my ram is not enough, what solutions for this problem . 8g ram only,  so bad, hopefully i own a new powerful notebook,...
sincerely,
luoying

Hi Luoying,
No worries, RASflow already takes care of small-ram machines. Actually, it's only alignment to genome that takes up a lot RAM, so you can simply map your reads to transcriptome instead of genome.
Set "REFERENCE" to "transcriptome" in the config file, and also specify the transcriptome file there.

Hi zhxiaokang,
Thank u for replying. So what is the next step? I find "## Which mapping reference do you want to use? Genome or transcriptome?
REFERENCE: transcriptome  # "genome" or "transcriptome" in config_main.yaml, i don't know how to solve the config problem, that means i can't use RASflow for no environment.
sincerely,
Luo
"

Hi Luoying,
No worries, RASflow already takes care of small-ram machines. Actually, it's only alignment to genome that takes up a lot RAM, so you can simply map your reads to transcriptome instead of genome.
Set "REFERENCE" to "transcriptome" in the config file, and also specify the transcriptome file there.

so this is output,
Collecting package metadata (repodata.json): done
Solving environment: / Killed

Can u give me some advice, please.
sincerely,
Luo

The error message seems to come from the environment setup. I suggest you follow the instructions in this Tutorial. Over there you'll find how to set up the environment properly, and how to config the workflow to run the transcriptome mapping pipeline.

The error message seems to come from the environment setup. I suggest you follow the instructions in this Tutorial. Over there you'll find how to set up the environment properly, and how to config the workflow to run the transcriptome mapping pipeline.

The error message seems to come from the environment setup. I suggest you follow the instructions in this Tutorial. Over there you'll find how to set up the environment properly, and how to config the workflow to run the transcriptome mapping pipeline.

I just follow the step and codes (the 2.1 For Linux), every step is on the tuto.
After using conda env create -n rasflow -f env.yaml of the tutorial, ram was increasing fastly, then terminal show ```conda env create -n rasflow -f env.yaml
Collecting package metadata (repodata.json): done
Solving environment: - Killed
I guess if some way can divide "env.yaml" to some small part, in order to solve the "killed".

Aha, then it seems that you really need a new notebook with larger RAM :-)
But before that, I found this post that you may try out if it helps: stackoverflow post (the answer from ning)
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab


*: support read-through lock

What problem does this PR solve?
Issue Number: close https://github.com/tikv/tikv/issues/11402
Problem Summary:
As https://github.com/tikv/client-go/issues/356 says, this PR implements read-through-lock function.
What is changed and how it works?
Proposal: xxx
What's Changed:
Add a committed_locks field to RPC context as opposed to resolved_locks. All readers are changed. If a reader is blocked by a lock and the lock is in the resolved_locks, reader will read the value from it.
Related changes
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)

I tested it in a workload that all reads meet a lock belonging to a committed transaction, and I injected 50ms write latency to TiKV. With this PR, write latency doesn't affect read operations.

Release note
TiKV supports read-through-lock so that read operations needn't waiting for resolving secondary locks.

/release make dist_release

/release make dist_release

/release make fail_release

/merge


Using clang to compile the engine.

Hi,
we use QAT Engine in one of our products based on FreeBSD. In Makefile.am there is a line:
https://github.com/intel/QAT_Engine/blob/464221c87cf127261e89f7e8fad678d503457262/.tools/Makefile.am#L125
In FreeBSD clang is the default compiler and we would like to use it whenever it is possible (gcc is not a part of a base system and must be installed as an additional package). We made a test build with clang and it builds ok and works without any problems. Do you know if there were any reasons why gcc was hardcoded in Makefile.am?
Thanks.

Hi @mkaniewski
There isn't any specific reason to use gcc over clang in  FreeBSD except few security compiler flags eg:  -fno-strict-overflow option is not available in clang so we moved to use gcc instead to be consistent with Linux as we didn't find any difference between gcc and clang.  I will check and remove forcing to use gcc and use whatever OS provides by default
cc: warning: argument unused during compilation: '-fno-strict-overflow'

Hi @mkaniewski  The corresponding changes are available in v0.6.1 release now.

Thank you!


New vault, no collateral,  collateralization ratio should not be colour-coded

What happened:
New vault, no collateral,  collateralization ratio is colour-coded
What you expected to happen:
New vault, no collateral,  collateralization ratio should not be colour-coded
How to reproduce it (as minimally and precisely as possible):
Loans > Create Vault > Edit Collateral
Anything else we need to know?:
No

Acceptance Criteria: New vault with no collateral, Col ratio should not be color-coded
Android:

[ ] Loans > CREATE VAULT > Check Col ratio colour

iOS:

[ ] Loans > CREATE VAULT > Check Col ratio colour


Improve translation of Traditional Chinese

thank you!

@axzxc1236 you also can use: https://poeditor.com/join/project/3frSzJtSqc


[Request]: Is it possible to insert highlights and note excerpts corresponding to specific times into the diary?

Feature Request Checklist

[X] I have searched the existing issues to avoid duplicates

What feature would you like to request?
This plugin is very useful and particularly fast to use. I noticed that the weread plugin supports inserting highlights and note excerpts added at specific times into the diary for the corresponding dates, which is very convenient for reviewing based on the diary.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @isdamir
Did I understand you correctly that you want to embed highlights into the corresponding daily notes according to the date the highlights were taken on?
For example, if you made several highlights yesterday, you want them to appear in yesterday's note and all the today's highlights to appear in today's note?

Hi @isdamir Did I understand you correctly that you want to embed highlights into the corresponding daily notes according to the date the highlights were taken on? For example, if you made several highlights yesterday, you want them to appear in yesterday's note and all the today's highlights to appear in today's note?

Yes, this way I can review the content of the books through the diary. I have currently added reverse links to the template, which allows me to somewhat find the corresponding records from the diary.

The above is the effect of the weread plugin adding content to the diary.


Add constraints to hvsock

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "hvsock" git@github.com:samoht/datakit.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.


QA & Cert: Test Summary & Linearity DTO Validations

The following are Test Summary & Linearity checks that should be applied at the DTO property level using a validation decorators.
General Test Checks

[ ] TEST-1	Test Begin Date Valid
[ ] TEST-2	Test Begin Hour Valid
[ ] TEST-3	Test Begin Minute Valid

The If BeginDate is on or after ECMPS MP Begin Date part of the check will need to be a General Check as you need the Oris Code and Unit/Stack Location data for MP lookup. The rest can be done as a DTO validation.

[ ] TEST-4	Test End Date Valid
[ ] TEST-5	Test End Hour Valid
[ ] TEST-6	Test End Minute Valid

The If EndDate is on or after ECMPS MP Begin Date part of the check will need to be a General Check as you need the Oris Code and Unit/Stack Location data for MP lookup. The rest can be done as a DTO validation. (Return Result C will be part of this ticket scope)

[ ] TEST-7	Test Dates Consistent

If this gets complicated as a DTO validation move to #3669 and implement as a general check

[ ] TEST-13	Test Number Valid

Shall be done at the Test Summary level for all Test Types

Note: The general tests are applied at the Test Summary level across the Test Types

Test Case: TC775

Just wanted to note that TEST-7 was done as a general check in this ticket.


Cannot resolve TargetName HeaderContentPresenter on 17134 and lower

I'm seeing crashes appear in App Center specifically on users running build 17134 and lower with the following...
System.Exception: No installed components were detected. Cannot resolve TargetName HeaderContentPresenter.

Repro steps
Not sure... It seems like a problem with using WinUI in a complex app
Expected behavior
Don't crash
Version Info
NuGet package version:
Microsoft.UI.Xaml 2.4.3

Windows app type:

UWP
Win32

Yes

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

May 2020 Update (19041)
No

November 2019 Update (18363)
No

May 2019 Update (18362)
No

October 2018 Update (17763)
No

April 2018 Update (17134)
Yes

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

Possibly related to #2719, I added the workaround and will be updating my app, I'll see if this error also stops happening

Without a crash dump, or at least knowing which type is causing this crash I think it is going to be difficult to track this down. Is there anymore info you are able to provide?  I wonder if we have a type that we changed the template for and removed the HeaderContentPresenter, but the app was referencing it and that is causing the crash on newer versions.

here is some info on collecting crash dumps https://docs.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps

Closing as dupe of #2719, I'm no longer seeing this crash after implementing the workaround in #2719. So must have been related to that (hopefully this issue helps anyone else who runs into that!)


rancher and reana

I am currently using rancher in combination with a base docker image and running cwltool in there to execute my workflows. The first and last step makes sure that the data is retrieved and transferred for long term storage.
Now executing cwl and to make use of the power of kubernetes to its full extent seems very interesting but I have a question related to glueing different systems together.
The kubernetes cluster currently running is based on rancher and I was wondering if we can use that cluster to execute reana jobs and if so how could I set this up?

We don't use Rancher usually, but it is possible to run REANA on Rancher, see some past musings here: https://github.com/reanahub/reana-cluster/issues/117
Note that we have recently switched REANA master development branch to use Helm for all deployments, so we should probably revive the Rancher deployment musings from that issue and test our latest Helm charts; it should be easier. Something we could get to in the next few weeks.


feat(ui): Add announcement box in the home page

close #1936

Preview

Updated version:

Thanks both for the great feedbacks. Here is the updated version:

I hope the suggested changes were all addressed :).


Testing near scope with Geocoder::Lookup::Test doesn't seem to work

I have a simple feature test with RSpec:
fill_in 'user_address', with: '160-0021, Japan'
click_on 'Find food'

expect(page).to have_content('Mos Burger')
expect(page).to have_content('Krispy Kreme Doughnuts')
expect(page).to_not have_content('Minamoto Sushi')

The spec works as expected till I start to use Geocoder::Lookup::Test:
before(:all) do
    Geocoder.configure(:lookup => :test)

    Geocoder::Lookup::Test.set_default_stub([{ latitude:  35.6960834,
                                               longitude:<PHONE_NUMBER>,
                                               address: '160-0021, Japan',
                                               state: 'Tokyo',
                                               city: 'Shinjuku',
                                               state_code: 'Tokyo',
                                               postal_code: '160-0021',
                                               country: 'Japan',
                                               country_code: 'JP' }])
  end

When I check RSpec log, it seems that no value were found about the given address:
SELECT restaurants.*, 6371.0 * 2 * ASIN(SQRT(POWER(SIN((0.0 - restaurants.latitude)...

I tried to dig into the gem a bit but I still can't figure why I have this trouble.

Hi @gaetanm
I think this is because the .near function is calling into your SQL database while the Lookup::Test does not actually mock out the results in SQL. What the .near function does is to look at the stored results that you have for a certain ActiveRecord and search for instances of that model that are .near the coordinates you pass in.
To test the .near functionality you'd have to set up some test fixtures for your model. We used to use this repo called geocoder_test to test our SQL / Model based functionality. You can use it to see how to set up your test case. See fixture: https://github.com/alexreisner/geocoder_test/tree/master/base/test/fixtures/venues.yml and test cases: https://github.com/alexreisner/geocoder_test/blob/master/base/test/unit/active_record_test.rb#L97
And you'll need to load your test fixtures similar to: https://github.com/alexreisner/geocoder_test/blob/master/rails30/test/test_helper.rb#L10
I believe that if you wanted to use the Lookup::Test for testing .near you'd have to add a bunch of stubs, make sure that in your code path of the test case that your model is getting geocoded such that in your model values of the test stub are saved, and then you can call .near on your model. I'm not 100% sure this would work though.
Hope that helps you out!
Thanks,
Thu Trang Pham

Hi @TrangPham, thanks for your help.
 Like obj.stub(:message)?
By the way, I forgot to say that the feature I'm testing works as expected if I don't configure Geocoder in test mode.

@gaetanm this is difficult to troubleshoot with so much app functionality in the way. Is it possible to reproduce the problem with a console command? I suspect the problem has to do with the input not being geocoded by the test lookup. The near functionality is a completely separate thing.

@alexreisner in the console you can reproduce the problem this way:
$ rails db:fixtures:load FIXTURES=restaurants FIXTURES_PATH=spec/fixtures
$ rails c

> Geocoder.configure(:lookup => :test)
> Geocoder::Lookup::Test.set_default_stub([{ latitude:  35.6960834,
                                               longitude:<PHONE_NUMBER>,
                                               address: '160-0021, Japan',
                                               state: 'Tokyo',
                                               city: 'Shinjuku',
                                               state_code: 'Tokyo',
                                               postal_code: '160-0021',
                                               country: 'Japan',
                                               country_code: 'JP' }])
> Restaurant.near("160-0021, Japan")

Which gives the following output:
Restaurant Load (2.4ms)  SELECT  restaurants.*, 3958.755864232 * 2 * ASIN(SQRT(POWER(SIN((0.0 - restaurants.latitude) * PI() / 180 / 2), 2) + COS(0.0 * PI() / 180) * COS(restaurants.latitude * PI() / 180) * POWER(SIN((0.0 - restaurants.longitude) * PI() / 180 / 2), 2))) AS distance, MOD(CAST((ATAN2( ((restaurants.longitude - 0.0) / 57.2957795), ((restaurants.latitude - 0.0) / 57.2957795)) * 57.2957795) + 360 AS decimal), 360) AS bearing FROM "restaurants" WHERE (restaurants.latitude BETWEEN -0.28946356622169594 AND 0.28946356622169594 AND restaurants.longitude BETWEEN -0.28946356622169594 AND 0.28946356622169594 AND (3958.755864232 * 2 * ASIN(SQRT(POWER(SIN((0.0 - restaurants.latitude) * PI() / 180 / 2), 2) + COS(0.0 * PI() / 180) * COS(restaurants.latitude * PI() / 180) * POWER(SIN((0.0 - restaurants.longitude) * PI() / 180 / 2), 2)))) BETWEEN 0.0 AND 20) ORDER BY distance ASC LIMIT $1  [["LIMIT", 11]]
 => #<ActiveRecord::Relation []>

Thanks. I think the next step is to separate the geocoding from the DB querying. Can you see what you get for Geocoder.coordinates("160-0021, Japan")?

If I try Geocoder.coordinates("160-0021, Japan") with Geocoder.configure(:lookup => :test) I got 0.0 0.0. When I don't enable the test mode, I have the correct values 35.6960834<PHONE_NUMBER>.

OK, so as I suspected the problem is with the test lookup. It looks like you're using symbols for the keys in your default stub hash. As stated in the README, they need to be strings. I think if you change that it should work.


Fix removing all records then adding new ones

Fixed issue where removing all records from the collection would not allow you to add new ones afterwards.
The collection would no longer have the methods on it anymore because it was just set back to an empty array. By calling createCollection again it clears the collection's array and also adds the methods back on it as well.
@samselikoff What do you think?

does this[collection].length = 0 work? would be nice to not make a new instance (also that old collection is still hanging around somewhere in memory, I think)

I think you're right. I'll try that.

Looks like that works!

woot, thanks man!


Add projects section

This PR contains:

Changes to person.js to include projects.
Example changes to some of the templates to show the projects and/or about section.
Updates to all language files to display the word Projects correctly.

Describe the problem you have without this PR
The idea (not a problem at all) for this PR came from issue #4 . Anyway, the user can make his/her own changes to the other templates to show both projects section and about section.

The "Projects"-heading appears, although there are no projects listed in person.js. Would you mind to take a look? Everything else is fine, thanks for the great work!

"Projects" in ru "Проекты", not "проектов"

This PR contains:
* Changes to person.js to include projects.

* Example changes to some of the templates to show the projects and/or about section.

* Updates to all language files to display the word Projects correctly.

Describe the problem you have without this PR
The idea (not a problem at all) for this PR came from issue #4 . Anyway, the user can make his/her own changes to the other templates to show both projects section and about section.

@rgn5075169rgn46526384174608

Rgn4652638/rgn5075169/rgn9536903/3087741/rgn9669102

rgn4652638/rgn5075169/rgn9536903/rgn9669102/rgn3087741/rgn2656063/rgn4174608 for score 90000 please help me


Update readme to help setup expanding of environment variables

I have spent 4 hours trying to figure out why I can’t resolve path in my framework. I think it will much better, if we highlight common pitfall in readme.
The PR just add 2 new lines and move old text to new place

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Sass indent size

Hello, sass files are indented of 2 spaces by default and I see no way to edit that so I can have 4 spaces. Including a .editorconifg file doesn't help either.
What's the solution? Thanks

I don't think it's working. There's been a problem with this for some years it looks like.


strongbox_fixity.py - improve csv extraction efficiency, add final result func

Message below is from #33 (closed)
This is a set of update for strongbox.py in order to get a more clear info

split get_checksums() from find_checksums()
get_checksums() contains ififuncs.extract_metadata(csv_file) so that the script won't extract csv each time it walks through an AIP.

change alert for both strongbox check and aip check
%s is in the strongbox but NOT in the AIP manifest
%s is in the AIP manifest but NOT in the Strongbox manifest
could be more straightforward as explanations.

add alert summary at the end

add exception list of root/md5&sha512 for strongbox_check list
Remove alert for root/md5&sha512 in strongbox alert section.

add delayed action alert (moved but not written to tapes)
Add an intersection list to get items in both strongbox check and aip check lists, which alerts when the packages is moved to strongbox but strongbox didn't write them to tapes (in the delayed actions).

The script now runs like below:
C:\Users\Ingest_1>strongbox_fixity.py -csv G:\...\file_report.csv -i G:\...

Strongbox_fixity - IFIscripts
Analysing G:\...\aaa5771\04b8dbc2-d1d8-45a8-a9cc-4f21e40c2d69_manifest-sha512.txt

All files in the strongbox manifest are present in your AIP manifest and the hashes validate
All files in the AIP manifest are present in your strongbox manifest and the hashes validate

Analysis complete

Strongbox_fixity - IFIscripts
Analysing G:\...\aaa5817\17176e28-08e2-4588-b50d-8ad3c1ee3685_manifest-sha512.txt

  17176e28-08e2-4588-b50d-8ad3c1ee3685/objects/SHOGUN_S001_S001_T028.MOV is moved to strongbox but IS NOT WRITTEN TO TAPES
  17176e28-08e2-4588-b50d-8ad3c1ee3685/objects/SHOGUN_S001_S001_T033.MOV is moved to strongbox but IS NOT WRITTEN TO TAPES
  ......

Analysis complete

-----
Strongbox Fixity Summary:
 Below AIP(s) returns exceptions. Check the details above.
 aaa5817
 aaa5856

C:\Users\Ingest_1>strongbox_fixity.py -csv G:\...\file_report.csv -i G:\...

Strongbox_fixity - IFIscripts
Analysing G:\...\aaa5714\3ded0f86-cf49-485e-babc-af6ebdb31ef4_manifest-sha512.txt

ERROR ***************************************
ERROR ***************************************The files are not on strongbox!!
  3ded0f86-cf49-485e-babc-af6ebdb31ef4/logs/3ded0f86-cf49-485e-babc-af6ebdb31ef4_sip_log.log is in the local AIP manifest but NOT in the Strongbox manifest
  3ded0f86-cf49-485e-babc-af6ebdb31ef4/logs/SHEENA MCCAMBLEY VIDEO_manifest.md5_manifest.md5 is in the local AIP manifest but NOT in the Strongbox manifest
  ......

Analysis complete

-----
Strongbox Fixity Summary:
 Below AIP(s) returns exceptions. Check the details above.
 aaa5714

This has been tested with all abnormal packages.

Not merge yet - we are working on the result exporting to a text file in the ifiscripts_log/

Update of Strongbox Fixity Summary in the terminal:
......
-----
Strongbox Fixity Summary:
 Below AIP(s) returns exceptions. Check the details above or in the strongbox_fixity_2023_05_23T20_09_38.txt in Desktop/ifiscripts_log folder.
 aaa6069

Also, the exported report text file is powered by ififuncs.py generate_txt().
Text file latout:
Text created time: 2023-05-23 20:09:38
Script User: Ingest_1
Target Directory: D:\Guinness_untreated_batch9_sip\20230411_sip\batch9b_sip_copy\batch9b2
Target AIP = aaa6057
Target AIP fixity = PASS - All files in the strongbox manifest are present in your local AIP manifest and the hashes validate
Target AIP fixity = PASS - All files in the local AIP manifest are present in your strongbox manifest and the hashes validate
......
Target AIP = aaa6069
Target AIP fixity = FAIL -   26b194ba-f4e7-49a7-b842-c2a835b65820/metadata/aaa6069_AF354_pbcore.csv is moved to strongbox but IS NOT WRITTEN TO TAPES (stuck in the delayed action)
Target AIP fixity = FAIL -   26b194ba-f4e7-49a7-b842-c2a835b65820/metadata/supplemental/26b194ba-f4e7-49a7-b842-c2a835b65820_source_dfxml.xml is moved to strongbox but IS NOT WRITTEN TO TAPES (stuck in the delayed action)
Target AIP fixity = FAIL -   26b194ba-f4e7-49a7-b842-c2a835b65820/metadata/26b194ba-f4e7-49a7-b842-c2a835b65820.mkv_mediainfo.xml is moved to strongbox but IS NOT WRITTEN TO TAPES (stuck in the delayed action)
Target AIP fixity = FAIL -   26b194ba-f4e7-49a7-b842-c2a835b65820/metadata/supplemental/4096x3112_manifest-md5.txt is moved to strongbox but IS NOT WRITTEN TO TAPES (stuck in the delayed action)
Target AIP fixity = FAIL -   26b194ba-f4e7-49a7-b842-c2a835b65820/objects/26b194ba-f4e7-49a7-b842-c2a835b65820.mkv is moved to strongbox but IS NOT WRITTEN TO TAPES (stuck in the delayed action)
Target AIP fixity = FAIL -   26b194ba-f4e7-49a7-b842-c2a835b65820/metadata/supplemental/26b194ba-f4e7-49a7-b842-c2a835b65820_source_mediainfo.xml is moved to strongbox but IS NOT WRITTEN TO TAPES (stuck in the delayed action)
......
----
Final Results:
FIXITY FAILED AIPS = ['aaa6069']  (or) ALL AIPS PASS FIXITY

Looks so much better!

Thanks! Merging this pr now.


Usage of SHA-1 for HMAC

https://github.com/Liqwyd/Cyclid/blob/master/lib/cyclid/sinatra/warden/strategies/hmac.rb#L55
By default Cyclid::HMAC is using SHA-1 and this isn't being upgraded to SHA-2 by the Signer instantiation above, may be saner to just move Cyclid::HMAC over to SHA256 for future sanity.
https://github.com/Liqwyd/Cyclid-core/blob/master/lib/cyclid/hmac.rb#L64-L69
I spotted there is test coverage which calls Signer.new so unless Cyclid::HMAC changes you'd need to update both the first reference and the corresponding spec.

This is fixed in the forthcoming Cyclid-core 0.1.1, which uses SHA256 by default. I've also added the X-HMAC-Algorithm to every signed HMAC request from the client (currently unused on the server) so that it can be changed in the future if needed but maintain client compatibility.


Late hare messages

Description
We've seen for months, over several generations of testnets, that Hare messages are sometimes arriving very late, 30secs+, even among managed miners running on the same cloud infrastructure. Directly or indirectly, this has caused the failure of several testnets, since it can cause Hare to fail.
We finally have enough logs to investigate what's going on. As you can see in the screengrab below, Hare is correctly enqueuing an outgoing message using network.Broadcast / gossip.Broadcast, and the message is being added to the gossip protocol message queue, but then it's not picked up by the handler for that protocol for ~30 secs. This appears to be a Hare broker issue: it probably has a large backlog of incoming messages to process.
The right way to deal with this is probably to refactor the Hare broker to prioritize outgoing messages, and/or to broadcast self-generated gossip messages immediately (#1157).
I also see late blocks on the testnet, also among managed nodes, and I suspect something similar is going on, but due to logging/ELK stack issues I haven't been able to isolate the issue as well.
Expected Behavior
We should only see Hare messages arriving late in extreme cases, such as network connectivity issues or nodes with overwhelmed resources.
Environment

OS: probably all
Node Version: v0.1.29 (and all prior versions)

Additional Resources

This is most likely due to a combination of slowness processing Hare messages due to BLS signature validation, and the queuing issue described above.
As discussed on this morning's dev call, we'll take a two-pronged approach to address this:

Replace BLS with ed for signatures (#2269)
Implement a priority queue for incoming Hare messages (so that a node can prioritize outbound messages that it generated)

Took another look at this. The new logs help, but they don't cover all of the code paths so it's still not possible to know exactly what's going on. Here's my analysis:

outbound hare messages, from hare: no bottleneck
the same outbound messages coming back inbound to hare broker: no bottleneck
hare broker message validation, eligibility check, reporting validity: could be a bottleneck
validity reporting, enqueueing outbound gossip message in p2p/gossip/protocol queue: could be a bottleneck
gossip protocol propagationEventLoop, enqueueing message on gossip priority queue: could be a bottleneck (e.g., this blocks if priority queue is full)
gossip protocol handlePQ: could be a bottleneck
gossip propagateMessage: no bottleneck

I added more logs to dig deeper.

I was finally able to get to the bottom of this in the current testnet, with better logging. The issue is that the queue of outgoing gossip messages gets too long, and it takes minutes to process them all. In one particular instance I investigated, the queue got up to about 150 outbound messages, and took on the order of minutes to clear - and before the queue had been totally cleared, more outbound gossip messages arrived.

transcript of a single request
transcript of queue filling and emptying
the same as a google sheet

I think I found the underlying issue. See #2435.

This was resolved on the testnet through a combination of #2435 and #2450. There is still a lingering issue of a small number of hare messages that are not arriving directly from the author, but rather, via gossip, arriving late. I'm investigating, but I think the issue is distinct enough that we can open a separate issue for it.


Debugging support

Purpose
We need the ability to debug our code! This PR attempts to accomplish that goal.


No of epochs to be trained for achieving the given results

Hi, I was able to reach 48.2% accuracy for 1-shot on the test set after 200 epochs. Can you please mention the number of epochs that you trained the model to achieve the given 1-shot and 5-shot results. Was there any other architectural changes made for getting these results.

The result was got by runing python train.py and python test.py, that is, the default setting (200 epochs).
The test script would have some variance (it samples 2000 batches), but ideally won't be very large.
Does a re-trained model get the similar result (~48%)?

Thanks for the response. I got the reported accuracy on retraining the model.


Incompatibility with phonegap-plugin-push

What do I need to do to make the phonegap-plugin-push works with cordova-admob-pro without com.google.android.gms:play-services-gcm issues?
When I add admob-pro to my project, this error shows up when I try to compile:
Could not find any version that matches com.google.android.gms:play-services-gcm:+.
I found on the internet that the problem is plugins using different versions of play-services or they are just incompatible with each other.
To test this issue, just add them both and you'll not be able to compile the project anymore.

I have the same problem! ;/

we will look into this issue.

Any update on this issue?

I'm also looking for a fix for this, thanks guys.

FYI I have fixed this issue by updating to phonegap-plugin-push 1.9.4 and cordova cli 6.5.0.

@scottopolis Thanks for the update.

Hi, same problem now...
cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.19.0
    ionic (Ionic CLI) : 3.19.0

global packages:

    cordova (Cordova CLI) : 7.1.0

local packages:

    @ionic/app-scripts : 3.1.4
    Cordova Platforms  : android 6.3.0
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    ios-deploy        : 1.9.2
    Node              : v8.9.0
    npm               : 5.5.1
    OS                : macOS High Sierra
    Xcode             : Xcode 9.1 Build version 9B55

cordova-admob-sdk 0.8.0 "AdMob SDK"
cordova-plugin-admob-free 0.10.0 "Cordova AdMob Plugin"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-console 1.1.0 "Console"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-facebook4 1.9.1 "Facebook Connect"
cordova-plugin-inappbrowser 1.7.1 "InAppBrowser"
cordova-plugin-ms-azure-mobile-apps 2.0.0 "Azure Mobile Apps"
cordova-plugin-multidex 0.1.2 "Cordova Multi Dex"
cordova-plugin-network-information 1.3.3 "Network Information"
cordova-plugin-screen-orientation 2.0.1 "Screen Orientation"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.3 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.2.1 "SocialSharing"
cordova-promise-polyfill 0.0.2 "cordova-promise-polyfill"
cordova-sqlite-storage 2.0.4 "Cordova sqlite storage plugin"
es6-promise-plugin 4.1.0 "Promise"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 2.1.2 "PushPlugin"

try using cordova-plugin-admobpro-firebase instead of cordova-plugin-admobpro


Wrong data types - minor issue

Problem
As of now, reps can be decimal like 6.7 reps
Reps, weight and body weight can be negative
And these unreal values get interpreted in the graph
Proposed solution

[ ] change reps datatype to int
[ ] ensure the minimum value for inputs is 0

Amazing software bro, I like it

Reps can be decimal. Imagine you fail half way through a rep. Weight can also be negative, e.g. assisted pull up machine


Allow an initial value to be returned by the data hooks

Resolves #190
As discussed, here is a PR to allow an initial value to be specified.
Questions that probably should be discussed:

Should it be 'initialValue' or 'defaultValue'?
Is it reasonable for it to be added as a field on the options param?

I also added a github action as I find them useful.. happy to remove if its not.
Its run doesn't seem to show up in this PR but you can find it here:
https://github.com/dylanwatsonsoftware/react-firebase-hooks/runs/4581537894?check_suite_focus=true
Merging this into the v3.0.x branch as this is the one that I'm forced to use due to a bug in firebase v9.

No dramas. I've had a go at adding something to the README. How's that?

Thanks @dylanwatsonsoftware, this looks great. I'll get a release out shortly

Release here: https://github.com/CSFrequency/react-firebase-hooks/releases/tag/v3.0.5

Wow that was fast! Thanks so much!

Hi @chrisbianca I just wanted to use this feature in the current release (5.0.3) and was surprised to see that it is not part of this branch. Was there a reason for not having this as part of version 5? I have not seen any infos about this breaking change in the release notes.
I would love to see this feature in v5, so could we cherry pick those changes to the master branch?
Thanks, Maurice


Add Form Text Field styles/examples

Note: The PR doesn't include the Input Group version to keep it simpler for review.

Looks good
I see different icon design in Figma, where the Icon is outside the field I don't think it'll be possible to achieve them with the current CSS
Instead of absolute positioning we might use flex on the parent element check this out: https://github.com/compassion-global-experience/compassion-design-system/compare/field-icons-alt?expand=1

I've already added a note for that: https://github.com/compassion-global-experience/compassion-design-system/pull/136#issue-1554942361


Metabolite number in the default model in the package

Hi, Dr. Mallick - The default model in the melonnpan package only contains 80 metabolites, but according to your paper (https://www.nature.com/articles/s41467-019-10927-1), there seem to be a model with 466 metabolites with identities confirmed to lab standard? Is there any specific reason that the default model in the package only contains 80? Also in the paper, supplementary figure 8, what would be the difference between "all compounds" and "unique compounds"? Thank you very much!

Hi @EllieYin567 - we only included those metabolites in the package that were confirmed against laboratory standards with unique cluster IDs. In other words, for the rest of the compounds, we did not have confidently assigned labels. As you are possibly aware, in untargeted MS-based metabolomics, multiple compounds can belong to a cluster, and we conducted separate confirmatory analyses based on both unique compounds and all compounds (i.e. unique + non-unique).

Hi @EllieYin567 - we only included those metabolites in the package that were confirmed against laboratory standards. In other words, for the rest of the compounds, we did not have confidently assigned labels. As you might be aware, in untargeted MS-based metabolomics, non-unique ID mapping occurs during the compound identification stage. Therefore, we conducted separate confirmatory analyses based on both unique compound IDs (i.e. compounds with one-to-one mapping with HMDB) and all compounds (i.e compounds with both one-to-one and many-to-one mappings with HMDB). I hope it makes sense!

Hi @EllieYin567 - we only included those metabolites in the package that were confirmed against laboratory standards with unique HMBD identifiers. As non-unique ID mapping occurs during the compound identification stage, we conducted separate confirmatory analyses based on both unique compound IDs (i.e. compounds with one-to-one mapping with HMDB, n = 80) and all compounds (i.e compounds with both one-to-one and many-to-one mappings with HMDB, n = 466). I hope it makes sense!

Thank you for explaining! For "many-to-one", do you mean there are multiple HMDB mapped results for one MS signal or multiple MS signals mapped to one HMDB ID? Is there any specific reason that you decide to only include one-to-one relationship compound? It seems to me that this greatly reduced the number of metabolites the model could predict (from 466 to 80)...

Hi @EllieYin567 - it's multiple MS signals mapped to one HMDB ID - we had to make a choice between quality and quantity in order to avoid situations like 'multiple copies of metabolite X in the final output'. I am sure there will be some workarounds in the future versions but we could not think of a less confusing way to report these compounds.


Create Sprite for Katana

Please see CONTRIBUTING.md first.

Sound like fun! May I join? I think I could you it on my free time :)

Hi @AimeTPGM! Sure, feel free to. :)


tf.py_function does not output ragged tensors

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
2.15
Custom code
Yes
OS platform and distribution
Windows
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Hello everyone,
I am having a problem with the function tf.py_function. I want it to output a ragged tensor but I cannot manage to make it happen.
The longer context is that I am training a neural network, YOLO, for object detection. I want to use some data augmentations techniques that do not support bounding boxes. Therefore, I moved to albumentations for data augmentation. The problem is that albuminations works on numpy arrays. I use tf.py_function to output my defined data augmentation but I would need the bounding boxes to be a ragged tensor.
Reference code: https://keras.io/examples/vision/yolov8/
# where map_augmentation is my function for augmentation.
train_ds = train_data.map(load_dataset, num_parallel_calls=tf.data.AUTOTUNE)
train_ds = train_ds.shuffle(BATCH_SIZE * 4)
train_ds = train_ds.ragged_batch(BATCH_SIZE, drop_remainder=True)
train_ds = train_ds.map(map_augmentation, num_parallel_calls=tf.data.AUTOTUNE)

Inside of the map_augmentation function:
augmented_images, augmented_classes, augmented_bboxes = tf.py_function(
            func=apply_augmentation,
            inp=[images[j,:,:,:], classes[j], bbox[j]],
            Tout=[tf.float32, tf.float32, tf.float32]
        )

I can modify the Tout in order to output a tf.TensorRaggedSpec but I always get errors.
Moreover, I tried to find a solution with this topic https://github.com/tensorflow/tensorflow/issues/26453 but I did not manage.
I manage to make this run:
tf = tensorflow.compat.v2
def py_func():
  return tf.ragged.constant([[1., 2., 3.], [4., 5.]])

print(tf.py_function(py_func, [], Tout=tf.RaggedTensorSpec([2, None], tf.float32)))  # <tf.RaggedTensor [[1.0, 2.0, 3.0], [4.0, 5.0]]>

but I have the issue when I declare an input for py_func.
Standalone code to reproduce the issue

elements=[np.array([1., 2., 3.]).astype('float32'), np.array([4., 5.]).astype('float32')]
def py_func(elements):
  return tf.ragged.constant([np.array([1., 2., 3.]).astype('float32'), np.array([4., 5.]).astype('float32')])

print(tf.py_function(py_func, [elements], Tout=tf.RaggedTensorSpec([2, None], tf.float32)))

### Relevant log output

```shell
ValueError: Can't convert non-rectangular Python sequence to Tensor.

Modified version of the issue
def py_func(elements):
  return tf.ragged.constant([np.array([1., 2., 3.]).astype('float32'), np.array([4., 5.]).astype('float32')])

print(tf.py_function(py_func, [elements], Tout=tf.RaggedTensorSpec([2, None], tf.float32)))

ValueError: Can't convert non-rectangular Python sequence to Tensor.

Hi @tirk999 ,

I tried to run your code on Colab using TF v2.16.1 and nightly faced the same issue. Please find the gist here for reference.
Thank you!

Hello @Venkat6871 , do you think that the issue will be solved?
Thank you!


Add Elapsed filter

as discussed in #192, a way to get the current elapsed time is almost required for things that are supposed to be synced to the audio (rhythm games for example)
I tried solving this by making a filter, and it appears to work pretty well!
I'm not sure this is the most idiomatic approach to the problem (I'll be honest, not super familiar with rodio, or audio in general for that matter) so if you have any suggestions or better ways to solve this, shoot :smile:

I think this implementation has several problems:

The duration updates only when next iteration of a chunk occurs.  This is a problem when we want more precise timestamp than the chunk size.
Audio timer is not necessarily synchronized with system timer, and nor is the timing when the next called.   Fortunately, now that the new feature of tracking precise playing/recording position is introduced in RustAudio/cpal#397, we should make use of this instead.

Hello, any progress on this? Currently implementing a rhythm game using rodio and I'm hitting on this roadblock. Should I go ahead and open a PR utilising RustAudio/cpal#397 instead?

Hello, any progress on this? Currently implementing a rhythm game using rodio and I'm hitting on this roadblock. Should I go ahead and open a PR utilising RustAudio/cpal#397 instead?

@JackRedstonia Although there's no direct way to get the elapsed time info, current API already enables us getting it.  I'm developing a rhythm game too and already succeeded in implemented precise a/v sync feature.  You can see my code in my repository: TonalidadeHidrica/taiko-untitled .   By the way if you want to implement this feature you can go ahead, I think.  (I'm not an owner of this repo though)

@JackRedstonia Although there's no direct way to get the elapsed time info, current API already enables us getting it.  I'm developing a rhythm game too and already succeeded in implemented precise a/v sync feature.  You can see my code in my repository: TonalidadeHidrica/taiko-untitled .   By the way if you want to implement this feature you can go ahead, I think.  (I'm not an owner of this repo though)

@TonalidadeHidrica I looked through the code and it seems that it only works for one music track at a time, which isn't exactly what I need, I think. I also tried to add the functionality into the rodio crate for the PR but ended up nuking it all as it was too complex.
I believe I should leave this up to someone with better understanding of rodio and cpal.

@TonalidadeHidrica I looked through the code and it seems that it only works for one music track at a time, which isn't exactly what I need, I think. I also tried to add the functionality into the rodio crate for the PR but ended up nuking it all as it was too complex.
I believe I should leave this up to someone with better understanding of rodio and cpal.

@JackRedstonia I agree that current rodio interface is, although quite easy when performing "fuzzy" playback like music player, not really cut out for precise, framewise playback, when you want to build rhythm game or DTM software for example.  That's why I only used rodio for decoding several audio data, and write to audio stream with cpal directly by myself.
Just for curiosity, what is your specific usecase you thought that my code lacks?   (Should I refrain from discussing here?)

@JackRedstonia I agree that current rodio interface is, although quite easy when performing "fuzzy" playback like music player, not really cut out for precise, framewise playback, when you want to build rhythm game or DTM software for example.  That's why I only used rodio for decoding several audio data, and write to audio stream with cpal directly by myself.
Just for curiosity, what is your specific usecase you thought that my code lacks?   (Should I refrain from discussing here?)

@TonalidadeHidrica I'm making a game framework and I'm looking to have the ability to have any (reasonable) number of tracks playing and to be able to get their playing positions, so I'll have to change quite a lot of things to get that working. Nevertheless, the information about RustAudio/cpal#397 was quite useful, so much thanks for that.
Hopefully I'll come up with a decent way to get the above idea into decent code, but for now I'll experiment with another library called BASS. (not that rodio and cpal is bad of course, I just want to see what the available options are, and I'll likely not use BASS anyways due to its horrendous licensing)

@TonalidadeHidrica I'm making a game framework and I'm looking to have the ability to have any (reasonable) number of tracks playing and to be able to get their playing positions, so I'll have to change quite a lot of things to get that working. Nevertheless, the information about RustAudio/cpal#397 was quite useful, so much thanks for that.
Hopefully I'll come up with a decent way to get the above idea into decent code, but for now I'll experiment with another library called BASS. (not that rodio and cpal is bad of course, I just want to see what the available options are, and I'll likely not use BASS anyways due to its horrendous licensing)

This has been implemented slightly differently in rodio 0.20 as TrackPosition


Revamp README

Issue summary

The README got big and chaotic. Instead of putting all the flags, configurations etc., we should keep to the bare minimum and provide links to the mdbook.
Additionally, as part of the documentation, we should have all the current outputs of --help for the daemon and all of the forest-cli subcommands. Ideally, it would be auto-generated (or verified that it is up-to-date).
Other information and links

duplicate of https://github.com/ChainSafe/forest/issues/2118


SDPManagerUnified: fix createIncomingStream

Please check.
this.transport.createIncomingStream(streamInfo);

already creates track here.
[ERR]-AddIncomingSourceGroup media ssrc already assigned will be thrown if we create new existing track

tracks will be created on the createStream so it would be better an "else if" for the track check

The errors where much deeper, closing this

Hi @tomas-berg!  we lost the CLAs signed in clahub, would you mind singing the following CLA for your contributions to the Medooze projects?
https://cla-assistant.io/medooze/clas


React native template build fails in v0.71.0-rc.2

Description
gradle throws an exception when running the command. I simulated the same using a github runner, Any gradle command will throw the same error.
Full log is here
https://github.com/manoj398/react-native/actions/runs/3552421827/jobs/5967311186#step:10:35
Version
v0.71.0.rc.2
Output of npx react-native info
Its in github actions
Steps to reproduce
it is scripted as github actions workflow file
https://github.com/manoj398/react-native/actions/runs/3552421827/workflow
Snack, code example, screenshot, or link to a repository
https://github.com/manoj398/react-native/actions/runs/3552421827/workflow

Thanks for testing the RC and reporting back @manoj398
That's a duplicate of https://github.com/facebook/react-native/issues/35472
In your specific case, you can use ubuntu-latest or macos-latest as runner and you'll be fine. This is a windows specific bug.

Closing since it's a duplicate of https://github.com/facebook/react-native/issues/35472


Create md5 etag for _local docs

This makes a unique ETAG for _local docs, so that they are cached
correctly, and fetched again when the document changes.
fixes COUCHDB-2978

I was thought that the idea is to not send Etag for _local docs at all. Now it breaks the rule that Etag for docs matches _rev field value.

@rnewson and I figured sending an md5 hash of the body and the revision might be better than not sending anything.

Where do we promise that ETag is the _rev value? We have X-CouchDB-NewRev when we intend to convey the new rev value, for example.
I like this change, it makes _local doc ETags work correctly. Clients can cache based on this and their cache hits will be for the correct body content (that's why rev and body are in the calculation, as both appear in the JSON response body but are stored in separate fields of #doc{}).

@rnewson Everywhere all the time:
$ echo '{"foo":4}' | http put http://localhost:15984/db/test
HTTP/1.1 201 Created
Cache-Control: must-revalidate
Content-Length: 67
Content-Type: application/json
Date: Thu, 07 Apr 2016 14:13:26 GMT
Etag: "1-80d7ea9795ad67ad0e7a1e567c15314e"
Location: http://localhost:15984/db/test
Server: CouchDB/fc9acc2 (Erlang OTP/17)
X-Couch-Request-ID: 13cab4abd5
X-CouchDB-Body-Time: 0

{
    "id": "test",
    "ok": true,
    "rev": "1-80d7ea9795ad67ad0e7a1e567c15314e"
}

$ echo '{"foo":4, "_rev": "1-ABC"}' | http put http://localhost:15984/db/test?new_edits=false
HTTP/1.1 201 Created
Cache-Control: must-revalidate
Content-Length: 38
Content-Type: application/json
Date: Thu, 07 Apr 2016 14:13:39 GMT
Etag: "1-ABC"
Location: http://localhost:15984/db/test
Server: CouchDB/fc9acc2 (Erlang OTP/17)
X-Couch-Request-ID: 2c37ce6ed3
X-CouchDB-Body-Time: 0

{
    "id": "test",
    "ok": true,
    "rev": "1-ABC"
}

Also from docs. And many entries in wiki I'm lazy to search for. That's an old feature that simplifies caching without adding some new entity to remember.

As for X-CouchDB-NewRev, this only used for update functions and as a workaround the fact, that it's impossible to return a new revision for the updated doc from there.

I'm ok with changing this for _local docs.

+1

@kxepal thanks for the doc link. I suggest we update to say it doesn't apply to _local docs, which nothing would usually cache, because it's only the replicator (or libraries implementing replication) that would get/put them.

@rnewson @garrensmith
May I ask you about the reasons to include Etag if _local docs are not intended to be cached? Not for dispute, but to clarify that moment and know what to answer on "wtf why so inconsistent"? (:
P.S. However, with PouchDB we could say, that every web browser now is a replicator, so eventually, they'll use that feature (and that's why this whole story get started).

I guess, I figured why and how this could be explained: we don't use _rev for _local docs as they are not tracked by MVCC feature, but we still want to provide some sane token for caching and notifying the client that the content had changed. So Etag forms using the same rules as the _rev, but doc itself doesn't uses MVCC _rev feature. Sounds good for me.
+1

right. the ETag is to allow correct caching, and I see no reason to make them uncacheable when we can easily mix in the body. Also, there are browsers that do caching poorly in the absence of ETag, so this should fix a bug or two.
cc @daleharvey @nolanlawson

I'll note that WebKit has actually fixed the bug in master, so it should appear in the next Safari release: https://bugs.webkit.org/show_bug.cgi?id=156048
In general, though, I'm still +1 on this PR because it's best to not make assumptions about subtleties of browser caching. Firefox or Chrome could change their implementation tomorrow and break in a new way. This ETag behavior LGTM.

Yeh the behaviour of Etag doesnt match the couchdb semantics for _rev and using for the same thing causes bugs, I would really like to see this for all docs (ie if you ever match an Etag, you are guaranteed the same content) but at least having it for local docs would be nice

@daleharvey but the _rev for regular documents mixes in the body and the attachment md5's, this is the first I'm hearing that the ETag for regular docs is wrong.

In CouchDB it does however you can write documents with any revision you want - https://issues.apache.org/jira/browse/COUCHDB-2764, its a bit of an edge case so I havent pushed it, but still possible

ah true. yes, fair. We'd like to guarantee that the ETag is a digest of the response body (either directly or indirectly).


E2e brownfield fix

Description
E2e test fixes where connectivity client test no.3 was failing due to type mismatch of struct Resource
GitHub Issues
List the GitHub issues impacted by this PR:

GitHub Issue #

https://github.com/dell/csm/issues/1427

Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have not allowed coverage numbers to degenerate
[x] I have maintained at least 90% code coverage
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have maintained backward compatibility

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration

[x] Tested e2e connectivity-client scenario: "Validate role/rolebindings created for brownfield-onboard scenario"

There are some YAML lint errors when viewing the diffs.

can you update the other k8s libs to 28.12 to keep the module packages on the same versions.

e2e.log


typing.get_type_hints cannot resolve forward references in cls.__init__ annotations

The is related to #593/#760. Because #760 populates the generated __init__ method's globals at the time that the class is created, new globals aren't visible to get_type_hints by default.
Example code demonstrating this:
import attrs
import typing

@attrs.define
class HasForwardRef:
    ref: "ClassDefinedLater"

class ClassDefinedLater:
    pass

typing.get_type_hints(HasForwardRef.__init__)

This last call raises an error.
I've got a workaround for this in the code where I hit this, but it really wasn't obvious at first what was going on.

I'm not sure what to do about this – is it fixable yet at all?


Roughly usable version of tools to retrieve binaries from deb files

There are a few things that need to be fixed, mostly regarding indentation.


Fix: DO-2997 card hiding some elements in internal product

Motivation and Context

When testing in internal product an example where in an app the content of the card showed but in the product it wsa hidden since it had essentially a hug component around it.
Implementation Description

Since card children did not have flex-grow set, it meant that in this specific scenario where the children were scrollable stacks that they ended up with height being calculated as 0. The suggested fix is to default flex-grow to 1 instead.
Any new dependencies Introduced

None
How Has This Been Tested?

Locally on the internal product that the fix worked and rendered components app to check if the fix affected anything else.
PR Checklist:

[x] I have implemented all requirements? (see JIRA, project documentation).
[x] I am not affecting someone else's work, If I am, they are included as a reviewer.
[ ] I have added relevant tests (unit, integration or regression).
[ ] I have added comments to all the bits that are hard to follow.
[ ] I have added/updated Documentation.
[x] I have updated the appropriate changelog with a line for my changes.

Screenshots (if appropriate):

Hey @patricia-causalens, could you please add a screenshot of before and after if possible?

Sure, here is the before:

and after:


Feature: Cspec

Also includes Bryans change to Audit trail (moving from variantCentralItem => VariantView)

@gcheung-SF whenever you get a chance to review, no rush... just adding the cspec feature to this repo as I did not do so before winter break. 👍 Here is the PR from the other repo to compare against: https://github.com/ClinGen/gci-vci-aws/pull/737/files
Only additional code is Bryans change to Audit Trail that has not been added to this repo.


Replace Grunt with Webpack to compile assets

Description
This PR aims to replace our current Grunt tasks for compiling our assets to Webpack to simplify our building process. It also removes unnecessary fonts and images from editor. And updates Webpack to version 4.
Pages migrated
Dashboard
✅ Account
✅ Dashboard
✅ Data Library
✅ API Keys
✅ Mobile Apps
✅ Organization
✅ Profile
✅ User feed (public)
✅ Public maps (public)
✅ Public datasets (public)
✅ Public table (public)
✅ Log in
✅ Sign up
✅ Confirmation
Builder
✅ Dataset
✅ Builder
✅ Embed
✅ Embed protected
Assets migrated

CSS for the pages listed above
/assets/images/ folder copied to [version]/images
/public/favicons folder copied to [version]/favicons
CartoAssets fonts are extracted to [version]/fonts
['avatars/*.png', 'alphamarker.png', 'google-maps-basemap-icons/*.jpg', 'carto.png'] copied to /unversioned/images

Acceptance steps

Deploy to a new staging instance

[ ] Check the assets are generated correctly
[ ] Check every page listed above looks good
[ ] Check the pages marked as public work both, with builder and with editor

Build times
This only includes dashboard, builder and css builds, we're not building editor.
Before:

Total: ~7:45 minutes
After:

Time: 2:10 minutes
So... that's a decrease of 72% in our building time :) also, before we had to run 2 webpack instances and a grunt one to watch the file changes, that was leading to some problems with processes not being closed so we had to kill the processes manually, we shouldn't have that problem now.

retest this please

retest this please

Spotted on an acceptance on the webpack branch so far.
Changing dataset privacy on dataset page
z-index of paginator is broken.

Public map view of a user with 1 map
Are the white squares what it's expected to see here?

Yes, white squares are shown now in production. Not an issue then.

Ramiro found this while doing the acceptance:

I looks like I removed the user_feed css import somehow when I added the conditional for builder/editor. It's fixed now.

We've added a config property in app_config.yml to be able to bypass the static pages
bypass_static_pages: true
Related to https://github.com/CartoDB/cartodb/issues/14038
I'm sure we'll override this with a better mechanism in the linked issue.


CheckboxListFor Support for Suboptions for each checkbox

I have a requirement to display suboptions(with radiobuttons or checkboxes) Can you please let me know how i can achieve this requirement
Iam attaching the screenshot.

Thanks,
Sunil Kumar B

What have you tried?

I've tried rendering the checkboxes using CheckBoxListFor and using the viewmodel to populate values. Now iam struck in rendering the suboptions under each checkbox.

no, CheckBoxListFor is for a simple case of list of checkboxes.  Your requirements are quite custom and will require some custom code.


Migrate tests to syrup

Migrate tests to syrup, avoiding use of pytest-golden which hasn't been updated for awhile and uses yaml files which are harder to use. The test commands have been moved into the test fixture parameters which isn't so bad to maintain, and makes it easy to see all commands run in one place.
The test files were grouped in some small groupings that make it reasonable to manage the separate ambr files, since everything in one file might be too hard to deal with.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e7ce942) 91.85% compared to head (2e6da72) 92.16%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #393      +/-   ##
==========================================
+ Coverage   91.85%   92.16%   +0.31%
==========================================
  Files          16       16
  Lines        1669     1673       +4
==========================================
+ Hits         1533     1542       +9
+ Misses        136      131       -5

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


fix: append type object prop to generated parameter schemas

What kind of change does this PR introduce?
Bug fix
What is the current behaviour?
Generated parameter schemas missing JSON schema type prop.
What is the new behaviour?
Append type: "object" prop to generated parameter schemas
Does this PR introduce a breaking change?
No
Other information:
Please check if the PR fulfills these requirements:

[X] Tests for the changes have been added
[ ] Docs have been added / updated
[X] Relevant Changeset has been added

coverage: 100.0%. remained the same
when pulling fa001a68906ac22a449e25f8984449e60db016ec on parameters-type-prop
into a134798d10d362606f048699932844e0834d2232 on master.


Skip API reviews for docmodel disabled packages

Docmodel needs to be enabled to create api json file by api-extractor. docmodel is disabled for some of the packages currently. Automatic API review creation should skip creating review for packages for which docmodel is disabled. Currently it still searches for api file that causes CI failure.

Can you share the list of packages where this is disabled?

Can you share the list of packages where this is disabled?


Memory leaks

Hello,
I have just downloaded the latest version and found that there are a lot of leaks after a singe page conversion. They can be easily located using visual leak detector:

genericvector.h, line 626 ,   T* new_array = new T[size];
params.cpp, line 35,   new tesseract::ParamsVectors();
strngs.cpp,  line 32,    STRING_HEADER* new_header = (STRING_HEADER*)(alloc_string(alloc))
dawg_cache.cpp, line 100,    new SquishedDawg(fp, dawg_type, lang_, perm_type, dawg_debug_level_);
strngs.cpp,  line 107,    memcpy(AllocData(1, kMinCapacity), "", 1);//when called from dawg()
dict.cpp, line 190,   static DawgCache *cache = new DawgCache();  // evil global singleton
dawg.cpp, line 342, edges_ = (EDGE_ARRAY) memalloc(sizeof(EDGE_RECORD) * num_edges_);

All of these leaks have root in "int TessBaseAPI::Init" so the single usage of this method cannot do big harm though it doesn't look good. Could anyone correct that?

For (1) see:
http://stackoverflow.com/questions/10447683/c-new-tsize-doesnt-work
http://stackoverflow.com/questions/1751378/validity-of-int-array-new-int-size

related issue: #264

Did you run vld against the Tesseract command line program or your own program that uses the API?

Another old issue re memory leak
https://github.com/gnewtothis101/tesseract-ocr/issues/1390
On 15 Oct 2016 7:23 p.m., "Amit D."<EMAIL_ADDRESS>wrote:

Did you run vld against the Tesseract command line program or your own
program that uses the API?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/issues/441#issuecomment-253997977,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2_ow0C6vyF9Jq845wbwzw9AEvGq0H6ks5q0QwBgaJpZM4KXtQa
.

I used my own code, but the problem remains even I leave only one function:
		tesseract::TessBaseAPI  api;
		if (api.Init(lngpath.c_str(), lng.c_str())) return false;

Totally VLD detects 27 leaks (some of them are the same) and all are in Init method.

When I use old .traineddata files (downloaded somewhere 3 years ago) VLD detects 27 leaks, when I changed them to files downloaded from https://github.com/tesseract-ocr/tessdata, VLD detects 30 leaks  no matter which language I am using.

Use api->End() for cleanup.

I tried that before with no effect.

Do you get all these leak reports with the Tesseract command line program?

Yes I, I run it with only one option --tessdata-dir "C:\program files\Test"
and get 15 leaks in the same places

@stweil,
maybe you want to explore this... :)

I already watched this discussion thread and will have a closer look as soon as my time permits that – not this weekend. :-)

PR related to memory leaks
https://github.com/tesseract-ocr/tesseract/pull/38

@amitdo, I can confirm 15 memory leak blocks as reported by @Molochnik. I used this command to detect the leaks on Linux with latest Tesseract built in subdirectory bin/debug/x86_64-linux-gnu:
LD_LIBRARY_PATH=bin/debug/x86_64-linux-gnu/api/.libs valgrind --leak-check=full --track-origins=yes --show-leak-kinds=all bin/debug/x86_64-linux-gnu/api/.libs/tesseract --tessdata-dir /usr/local/share/tessdata

A simple fix reduces the number from 3024 bytes in 15 blocks to 272 bytes in 10 blocks:
diff --git a/ccutil/params.cpp b/ccutil/params.cpp
index ce2b430..9b604fb 100644
--- a/ccutil/params.cpp
+++ b/ccutil/params.cpp
@@ -31,9 +31,9 @@
 #define EQUAL         '='

 tesseract::ParamsVectors *GlobalParams() {
-  static tesseract::ParamsVectors *global_params =
-    new tesseract::ParamsVectors();
-  return global_params;
+  static tesseract::ParamsVectors global_params =
+    tesseract::ParamsVectors();
+  return &global_params;
 }

 namespace tesseract {

I'll send a PR with this modification.

Thanks @stweil
I hope zdenko will merge it (I had higher permissions for a a few weeks but waive them).

@Molochnik, maybe you can try how many leaks remain in your tests after pull request #447. For me, no leaks remain for the simple case of running tesseract --tessdata-dir /usr/share/tessdata.

With PR #449 there remain only 2,368 bytes in 2 blocks after processing a simple PNG image.

I have just checked the latest version - VLD reported: "no memory leaks detected". Perfect!


Channel access monitors: draft for discussion.

See #22.
Plenty to discuss here:

It seemed easier to use one object than to recreate each time as previously
We need to distinguish updates from the two monitors as we want to get value from the FORMAT_TIME monitor. We could

Have two queues: probably neatest but we'd need to respond to updates on both promptly.
Distinguish by timestamp outside of the class (as I have done)
Distinguish by timestamp inside the class

Recreating the formatter each update seems somewhat heavyweight, but if units or enums or precision change then we do want to create a new one

Any thoughts?

It seemed easier to use one object than to recreate each time as previously

I wasn't sure of the lifetime of the object that got returned. If you yield a Channel then hopefully it is serialized immediately, rather than put on a queue somewhere so that its value might have changed by the time it was serialized. I never checked the tartiflette code...

We need to distinguish updates from the two monitors as we want to get value from the FORMAT_TIME monitor

or we could:
@dataclass
class Updater:
    func: Callable
    async def __call__(self, value):
        await q.put(lambda: self.func(value))
value_monitor = camonitor(pv, Updater(channel.update_value), format=FORMAT_TIME)
...
meta_monitor = camonitor(pv, Updater(channel.update_metadata), events=DBE_PROPERTY, format=FORMAT_CTRL)
while True:
    channel_updater = await q.get()
    channel = channel_updater()
    yield channel

Recreating the formatter each update seems somewhat heavyweight, but if units or enums or precision change then we do want to create a new one

Metadata updates are pretty rare though aren't they? They only happen once on old servers, and only on EGU/PREC/HIGH... changes on new servers?

I wasn't sure of the lifetime of the object that got returned. If you yield a Channel then hopefully it is serialized immediately, rather than put on a queue somewhere so that its value might have changed by the time it was serialized. I never checked the tartiflette code...

I wondered if there was some such consideration.

Metadata updates are pretty rare though aren't they? They only happen once on old servers, and only on EGU/PREC/HIGH... changes on new servers?

Good point.

or we could

Yes, something like that.

How important is it that only the updates are emitted by the generator? My refactor is presenting a complete update each time and one of the tests is failing.
It might have been that Tartiflette decided what needed updating, but it does not appear to. The documentation isn't very detailed on this sort of thing.

Ah, I missed that. I designed that in as it seemed pretty crucial for performance that only the fields that changed in a subscription were sent. Otherwise we're doubling the payload of every message, which doesn't seem great...

Well this has been a journey. I think this is now behaving correctly, but it is quite involved. There are a couple of naming questions, and one test is failing because the first channel update is not a complete structure now.

There is another detail: we need to send a new value if the formatter changes. I already see an example where an enum is dispatched as a number but then a metadata update changes the formatter but does not resend the string value.
We could check if the formatter has changed before sending a value, or we could send a value for each metadata update since we expect these to be infrequent. I've chosen this for now.

We could check if the formatter has changed before sending a value, or we could send a value for each metadata update since we expect these to be infrequent. I've chosen this for now.

That sounds reasonable

Looks good to me, are the tests passing? I must update this repo to github actions too...

I just updated the final test. Yes, we could do with the tests running here.
Last thing: we have a CAChannel class and then a CAChannelUpdate that inherits from Channel. The naming is a bit confused.

Hmm, could we merge the first update and second update together with the cainfo writeable? I'm not a big fan of that initial value update without metadata, so I think it's worth waiting a couple of milliseconds to present data + metadata in the first update

The test relies on update 1 being value and update 2 being meta. This appears to happen, but I am not sure that we can rely on it. If we can, we could wait for the first two updates and create a full structure first.
Otherwise we have to think of a way to pause the first update until both monitors have returned. I think we can assume that if one monitor returns then the other will.

I just updated the final test. Yes, we could do with the tests running here.
Last thing: we have a CAChannel class and then a CAChannelUpdate that inherits from Channel. The naming is a bit confused.

How about CAChannel -> CAFormatter, update_value -> channel_from_update, CAChannelUpdate -> CAChannel

The test relies on update 1 being value and update 2 being meta. This appears to happen, but I am not sure that we can rely on it. If we can, we could wait for the first two updates and create a full structure first.
Otherwise we have to think of a way to pause the first update until both monitors have returned. I think we can assume that if one monitor returns then the other will.

We could keep squashing updates until we have had both a time_value and meta_value update?

Dropping updates, presumably.

Yes

From: Will Rogers @.>
Sent: 24 June 2021 10:44
To: dls-controls/coniql @.>
Cc: Cobb, Tom (DLSLtd,RAL,LSCI) @.>; Review requested @.>
Subject: Re: [dls-controls/coniql] Channel access monitors: draft for discussion. (#24)
Dropping updates, presumably.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHubhttps://github.com/dls-controls/coniql/pull/24#issuecomment-867497164, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AB2ZDZGHE56DUA76TLLFD5DTUL47XANCNFSM465U56TA.
--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom

OK, done?


Dependency whisper.spm becoming archived and no longer maintained

**LocalAI version:**Building from latest commit, 17dde75

I was trying to build from the latest commit and I had some problems with pulling whisper.spm, one of the dependencies and I just wanted to inform you guys that the repo is being archived and will not be maintained in the future. Here's the repo link.

Just wanted to make sure that y'all knew.

Thanks for maintaining such a nice project :)

We use whisper.cpp, not wisper.spm. what's the issue? Do you have logs?


Don't save core data store every tick

Every time the user ticks or unticks, the core data context is saved. This should be performed less often to reduce resource impact.
This could either be done when the app closes, or it could be done on a timer a certain number of seconds after the user last tirks or unticks. For example:

The user ticks
A 5-second timer is started
The user ticks another item before the timer runs out
The timer restarts
The user does not perform another action in 5 seconds
The context saves, saving both ticks at once

This would also require the app to save on close, so if the user ticks then immediately closes the app, they don't lose the tick.


Add a collection

Collection name
brigit-collect
Maintainer name
brigit
Maintainer contact link (i.e. repo issues link, email)
gh.com
Repository URL
gh.com
OCI Reference
test
I acknowledge that this collection provides new functionality, distinct from the existing dev container collections part of this index

[x] Confirm

#sign-off


Fancy Zones Editor: Zone Position Display, and Direct Input of Zone Number, Position, and Size.

Description of the new feature / enhancement
Hey all.
Just a suggestion, would probably not require major reworking of the existing code base, as it's just allowing direct entry of the underling data. But I think a lot of users would probably love to be able to directly enter (type) the Position & Size of a Zone, re-number Zones.
Zone position
I think this is probably a necessary feature, I'd suggest adding a zone position in small text size and low contrast colour, perhaps monitor number. I think/suspect FancyZones treats multiple monitors as one display of the total resolution, so perhaps monitor is more effort than it's worth; not to mention the difficulty of having zones span multiple monitors. But having the position displayed say in the top corner of a zone would really help with positioning and moving of zones.
Value Editing:
I'd imagine this could be accessed by double/right clicking the element that is to be changed and directly entering the new value. Alternatively, a dialogue box could be opened and all the new settings applied upon conformation. Regarding the Zone Number this could simply increment all existing Zones that are colliding.
Scenario when this would be used?
This would only be useful when setting up / creating new layouts or editing existing layouts. However it could significantly streamline the process for some users.
Zone Position Display:
Zone positioning Display would significantly help with the creation of new zones allowing better alignment with secondary task bars, hidden task bars, and multi-monitor boarders.
Direct Zone Numbering:
Nothing more annoying than making like 10 overlapping zones on screen one, then moving on and making another dozen zones for screen two, and then noticing 'oh, I missed the 3rd and 4th zones on screen 1' and facing the annoying choice of 'Do I delete the dozen zones I made on screen 2 or do I just accept zones 3 & 4 will just be wildly different numbers to all the other zones on that screen.'
Direct Zone Size:
Another common frustration is when you are trying to carve up a screen and no matter what you do you just can't quite get it to be exactly the right number of pixels it's just always a few pixels too big, then a few pixels too small... etc.
Direct Zone Positioning:
And probably the final frustration is when you are trying to put your FancyZone into the right spot, and for whatever reason it's just not quite going to where you want it. A few common particularly challenging situations are:

Multiple monitors the spaces between monitors doesn't seam to snap.
Task bars on a secondary monitor doesn't appear to snap.
Auto hiding Task bars are difficult to avoid.
Just any time for whatever reason you want to have exact positioning of a zone when you aren't near any snapping points.

Supporting information
No response

I have created a more general issue https://github.com/microsoft/PowerToys/issues/22186 to prompt discussion for the entire topic as opposed to single issues.

I'd like to second what the OP stated about adding functionality to directly type the values in the FancyZone editor.
Here's a video showing my efforts to get a "zero" value for "space around zone". It is quite hard. Would love to just type the value I want.
https://user-images.githubusercontent.com/63531722/216422603-5b34a3dd-9eb5-4112-bb21-9319c1be1e23.mp4
Thanks!

/dup #463


Update xcresult - make it run on Xcode 16

Updates xcresult to 0.2.2 which fixes xcresulttool usages by applying the --legacy flag
This solves #91

Thanks! I'm closing this one, it's fixed on #93