feat: Support BloomFilterMightContain expr

Which issue does this PR close?
Closes #145
Rationale for this change
More expr coverage
What changes are included in this PR?

define new expr in proto
add SparkBitArray, SparkBloomFilter and BloomFilterMightContain support in the rust side
glue code to transform SparkPlan to proto message in JVM side and proto message to physical expr in the native side
add tests in both JVM and native side

Note: BloomFilterMightContain is only available in Spark 3.3+. So we have to add a separate test directory to test that.
How are these changes tested?
Added new tests.

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

Project coverage is 33.42%. Comparing base (488c523) to head (dbddcd3).

Files
Patch %
Lines

.../scala/org/apache/comet/serde/QueryPlanSerde.scala
76.92%
1 Missing and 2 partials :warning:

...la/org/apache/comet/shims/ShimQueryPlanSerde.scala
0.00%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #179      +/-   ##
============================================
+ Coverage     33.29%   33.42%   +0.13%
- Complexity      766      767       +1
============================================
  Files           107      107
  Lines         35385    35422      +37
  Branches       7658     7685      +27
============================================
+ Hits          11781    11841      +60
+ Misses        21157    21119      -38
- Partials       2447     2462      +15

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

Merged, thanks!


[Event Request] Table 5902 Service Line "OnServiceLineOnBeforeShowNonstock"&"OnShowNonstockOnAfterUpdateFromNonstockItem"

Can we please get the following event?
  procedure ShowNonstock()
    var
        NonstockItem: Record "Nonstock Item";
        IsHandled: Boolean;
    begin
        TestField(Type, Type::Item);
        TestField("No.", '');
//Event Request Begin
        IsHandled := false;
        OnServiceLineOnBeforeShowNonstock(ServiceLine, NonstockItem, xRec, IsHandled);
        if not IsHandled then begin
//Event Request End
            if PAGE.RunModal(PAGE::"Catalog Item List", NonstockItem) = ACTION::LookupOK then begin
                CheckNonstockItemTemplate(NonstockItem);

                "No." := NonstockItem."Entry No.";
                CatalogItemMgt.NonStockFSM(Rec);
                Validate("No.", "No.");
                Validate("Unit Price", NonstockItem."Unit Price");

 //Event Request Begin
            OnShowNonstockOnAfterUpdateFromNonstockItem(Rec, xRec);
//Event Request End

            end;
     //Event Request Begin
        end;
    //Event Request End
        OnAfterShowNonstock(Rec);

    end;

    [IntegrationEvent(false, false)]
    local procedure OnServiceLineOnBeforeShowNonstock(var ServiceLine: Record "Service Line"; var NonstockItem: Record "Nonstock Item"; var xServiceLine: Record "Service Line"; var IsHandled: Boolean)
    begin
    end;

    [IntegrationEvent(false, false)]
    local procedure OnShowNonstockOnAfterUpdateFromNonstockItem(var ServiceLine: Record "Service Line"; var xServiceLine: Record "Service Line")
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


make sure we are in a browser before registerElement check  - #3369

Description:
Adding isClient check before registerElement  check to avoid issue while require Ractive in Node env.
Fixes the following issues:
#3369
Is breaking:
Hopefully not

Makes sense, thanks!


Add richMessage parameter to the Tooltip widget.

This adds RichText support to the Tooltip widget. Here is an example of using this widget in DevTools, where we'd like to customize the display of our tooltips to use multiple text styles:

Is there work in place to support using an arbitrary Widget as a tooltip? If so, I'd be happy to close this out in favor of that.

Is there work in place to support using an arbitrary Widget as a tooltip? If so, I'd be happy to close this out in favor of that. @chunhtai @HansMuller

WidgetSpan, which is a inlineSpan, can support arbitrary widget. I prefer a InlineSpan over a Widget because a InlineSpan always has a string representation which is needed for accessibility system. If we use a Widget we need to add an additional API for user to specify the string representation. What do you think ? @HansMuller

WidgetSpan, which is an inlineSpan, can support arbitrary widget. I prefer an InlineSpan over a Widget because an InlineSpan always has a string representation which is needed for accessibility system. If we use a Widget we need to add an additional API for user to specify the string representation. What do you think ? @HansMuller

Using InlineSpan sounds reasonable, since we do want the developer to provide a (localized) message string. The InLineSpan type may make it hard to for developers to figure out that there's a WidgetSpan subclass that opens up specifying any widget at all for the message, however a good example and a good explanation would fix that.

Hi @kenzieschmoll, are you still planning to work on this PR?

@chunhtai sorry for the delay - this got pushed off my plate. Happy to close in favor of https://github.com/flutter/flutter/pull/90199 if that PR meets your requirements from the framework side - I think the builder approach is more flexible and would allow the same support this PR adds and more.

If we use a Widget we need to add an additional API for user to specify the string representation

If a user uses a WidgetSpan as the InlineSpan, how should we guarantee there is a string representation for WidgetSpan?

If we use a Widget we need to add an additional API for user to specify the string representation

If a user uses a WidgetSpan as the InlineSpan, how should we guarantee there is a string representation for WidgetSpan?

The inlineSpan has toPlainText API to get the string represnetation. The widgetSpan does not provide an API to specify it and will return empty string if includePlaceholders = true.
If the developer wants it to be announce by talkback, they can add it by embedding the widgetspan inside a TextSpan.

@chunhtai are you satisfied with this PR then? (barring getting the tests to pass, of course)

@chunhtai can you take one more look at the last two commits? There are a couple changes that should be reviewed.

Something like this could be done for TextField's hint and label as well.


Wondering FPS of rendering

Dear researcher:
Hi! I have read the paper and consider EgoNeRF an incredible equirectangular image reconstruction method in terms of training speed and novel-view synthesis quality. I would like further seeing the detailed rendering FPS data to consider real-time applications.
Thank you!

The rendering FPS is dependent on various factors.
For example,

The number of ray sample
Early termination of ray
Target resolution

So, it depends on your choice! But, basically, the rendering speed should be similar to TensoRF

The rendering FPS is dependent on various factors. For example,
* The number of ray sample

* Early termination of ray

* Target resolution

So, it depends on your choice! But, basically, the rendering speed should be similar to TensoRF

Understood! I will try these out with my own application. Thanks again for your cooperation!


fix(sorting): fix sorting bug when data changes

Sorting was not preserved when new data was added

Codecov Report

Merging #19 into master will decrease coverage by 1.62%.
The diff coverage is 80.95%.

@@            Coverage Diff             @@
##           master      #19      +/-   ##
==========================================
- Coverage   98.54%   96.91%   -1.63%
==========================================
  Files           4        4
  Lines         206      227      +21
  Branches       45       52       +7
==========================================
+ Hits          203      220      +17
- Misses          3        7       +4

Impacted Files
Coverage Δ

src/hooks.tsx
96.31% <80.95%> (-1.91%)
:arrow_down:

Continue to review full report at Codecov.

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


PDF Paging Issue

See attached sample check PDF. This PDF was created using a scanner. I spoke to the operator and he states that the check is in a stack of paper fed into the scanner.  The scanner knows to scan both sides of the check.  Other PDF types and other pages in this image work fine.  Some of the other images are scanned like this check and some are created programmatically
We are using PdfiumViewer v2.11.0
The error:
When paging to page 2, the viewer pages instead to page 3.  When paging from 3 to 2, it stays at 3.
The code is correct I think:
pdfViewer1.Renderer.Page = page;
You can see the same result when running the above code in debug mode, when the above line executes and page has a value of 2 then Renderer.Page becomes 3.
We have 2 commercial viewers on site.  One works correctly and one works as above.
Buy the way, I was looking for a something like to but could not find it:
pdfViewer1.ViewMode = ViewModes.SinglePage;
Is there a way to fix this?
Regards, Lee
sample_check.pdf

I've updated the algorithm. The old algorithm didn't perform well with documents with irregular page sizes, like yours. It seems to work a lot better now.
If you're still having problems, please reopen this ticket or create a new one.


Small improvements to passing city to wttrin

This PR contains a couple of small changes that I think slightly improve how wttrin accepts the city name.

The city name is now accepted as an argument to the function, so that it can be called from other code.
If only one city is defined in wttrin-default-cities the input to wttrin, when called interactively, will be visibly defaulted to that city name.

@davep: LGTM!


Support for Function Plotting in Markdown

Feature Description:
I would like to kindly request support for function plotting in Markdown. It would be greatly appreciated if users could conveniently include function plots directly in Markdown documents, thereby enhancing the convenience and expressive capability of the format.
Feature Requirements:
I kindly ask for support in directly embedding code or syntax in Markdown to plot functions, similar to \begin{tikzpicture} in LaTeX or using the matplotlib library in Python.
It would be greatly appreciated if the basic functionality could include plotting common types of functions, such as straight lines, quadratic curves, trigonometric functions, etc.
Furthermore, I kindly request the ability to adjust parameters like image size, style, colors, etc., in order to cater to different needs.
Use Cases:
The function plotting feature would be extremely useful in various domains such as mathematics education, technical documentation, data analysis, and more. By allowing users to plot functions directly in Markdown, it becomes easier to visualize mathematical formulas, data trends, and other related content.
Additional Information:
If there are any existing similar functionalities, extensions, or plugins available for reference, I would be sincerely grateful for any relevant resources and links.

Sorry, the core project implements commonmark-only markup and does not accept extension requests. Any customizations should be done via plugins. Try to search in npm (links at the top of readme), probably someone implemented that.


Question about non-deterministic results

While investigating using argos-translate as a library, I have noticed non-deterministic results when translating a short test string "Hello world!" using your pre-trained models.  For English -> Russian, it returns "Здравствуй мир!" on some hosts, and "Здравствуй!" on others.  The results on a given host are deterministic on repeated runs and environments (at least in my testing so far).
I first tried to follow the advice here thinking it could be a random seed issue to no avail:
https://github.com/OpenNMT/OpenNMT-py/issues/392
https://github.com/pytorch/pytorch/issues/7068#issuecomment-484918113
I was not able to determine any significant differences between hosts (both running on cpu), and the output of ct2_verbose is identical:
[ct2_verbose] CPU: GenuineIntel (SSE4.1=true, AVX=true, AVX2=true)
[ct2_verbose] Selected CPU ISA: AVX2
[ct2_verbose] Use Intel MKL: true
[ct2_verbose] SGEMM CPU backend: MKL
[ct2_verbose] GEMM_S16 CPU backend: MKL
[ct2_verbose] GEMM_S8 CPU backend: MKL (u8s8 preferred: true)
[ct2_verbose] Use packed GEMM: false

Manually setting num_hypotheses=2 in the ctranslate2 Translator shows that it appears to be a score difference:
Host #1:
	{'tokens': ['▁З', 'д', 'рав', 'ству', 'й', '!'], 'score': -2.7840166091918945}
	{'tokens': ['▁З', 'д', 'рав', 'ству', 'й', '▁мир', '!'], 'score': -2.841048240661621}

Host #2:
	{'tokens': ['▁З', 'д', 'рав', 'ству', 'й', '▁мир', '!'], 'score': -2.7670412063598633}
	{'tokens': ['▁З', 'д', 'рав', 'ству', 'й', '!'], 'score': -2.7944717407226562}

Setting beam_size=1 so it uses greedy search did produce the same result on both hosts, but I don't think that is a valid solution.
I created a gist to provide some debugging output, and didn't notice any difference in the actual argos-translate parsing logic, so it seems to be much deeper:  https://gist.github.com/mikemoritz/a5bf76193ccb16d018a1af9ec584fb41
My questions are:

Are there other options you would recommend setting to increase the likelihood of deterministic results?  If so, could these be surfaced as options within argos-translate?
Is it possible that "Hello world!" is a bad test string?  If so, do you have any recommendations?
Do you think it could still be a random seed issue that may need to be implemented within argos-translate?
Is there additional debugging within ctranslate2 and/or torch that you would recommend to highlight differences between the hosts?

Thanks!

I had also noticed that the English -> Chinese translation was just providing the English string back.  Looking at multiple hypotheses for that shows that the "valid" translation is getting a lower score:
hypotheses=0
        batch=0:
                raw: {'tokens': ['▁H', 'ello', '▁world', '!'], 'score': -2.543808937072754}
                tokens: ['▁H', 'ello', '▁world', '!']
        debug translation:
                "Hello world!"
hypotheses=1
        batch=0:
                raw: {'tokens': ['▁', '希', '洛', '世界', '!'], 'score': -3.0267810821533203}
                tokens: ['▁', '希', '洛', '世界', '!']
        debug translation:
                "希洛世界!"

Thanks for the detailed bug report and happy to hear your considering using the library. I didn't attempt to make translations deterministic but you're right this would be a good feature to have for people that need it.
You said, "[you] didn't notice any difference in the actual argos-translate parsing logic", so you've ruled out Stanza sentence boundary detection and SentencePiece tokenization as the source of non-determinism? If not it's possible that CTranslate is deterministic but the sentence boundary detection or tokenization is causing overall non-determinism.
I don’t think the random seed issue you linked is going to be the solution if this is a CTranslate issue. My understanding is that CTranslate does not depend on PyTorch and Argos Translate only requires PyTorch for Stanza. Also the models are trained using OpenNMT for TensorFlow.
I looked at the CTranslate documentation and I don’t see anything about it being deterministic or having the option of being deterministic. I'm not that familiar with the specifics of CTranslate and I would recommend making an issue on the CTranslate project. I've also gotten pretty good support from the OpenNMT forum in the past so you could post there too.
For debugging the only thing I can think of is that CTranslate generates a random seed somewhere or somehow behaves differently with different amounts of memory available. If this is true the best solution may be to use a container or virtual machine for a standard environment if you need deterministic results. It looks like a larger beam size uses more memory so if CTranslate is using a smaller beam size when there is less memory available then setting the beam size to 1 could give you deterministic translations (but potentially lower quality).
The Chinese translation is a separate issue that I am aware of and is caused by a lack of data. I got all of the translation data from the Opus Open Parallel Corpus and there’s a surprising lack of data available for the English-Chinese pair. There are only 333 million tokens available for English-Chinese which isn’t very many compared to other languages (there are 4.5 billion for English-German). This causes it to often repeat the English input when translating to Chinese especially with single words or short sentences. I’ve found that entering a longer sentence or putting a period after your input increases the likelihood of getting a real translation. This gets to your question of whether “Hello world!” is a good test string, it should be fine in most cases but a full sentence is probably closer to the training data and may give you better results.
The ideas I’ve had to fix this are to either find more data (including maybe a English-Chinese dictionary to supplement what is mostly full sentence data and help with short translations), or if this is over-training issue train for fewer epochs than I am for languages with more data. It’s interesting that if you generate multiple hypothesises you do get a real translation just at a worse score. I hadn’t thought to try this, and it seems like evidence for overfitting. There could be a hack where you use the second best translation for short English to Chinese translations but that’s probably not an ideal solution.
Please share if you find any good solutions, adding support of deterministic translations would be a nice feature to have. Ideally this could be done in a way that relies on a stable interface from CTranslate.

Thanks for the quick response.
Yes I ruled out the Stanza and SentencePiece steps as the source of non-determinism.
I didn't have any luck with CTranslate, but I did find this interesting paper from Google on their NMT and beam search implementation:  https://arxiv.org/abs/1609.08144
Specifically this on length normalization/penalty:
With length normalization, we aim to account for
the fact that we have to compare hypotheses of different length. Without some form of length-normalization
regular beam search will favor shorter results over longer ones on average since a negative log-probability
is added at each step, yielding lower (more negative) scores for longer sentences.

They recommend defaults for length normalization/penalty and coverage penalty as 0.2.  CTranslate defaults these to zero, but the forums do recommend them as tuning parameters.  Setting these parameters to 0.2 did provide consistent results between my two hosts, so this could be something to consider but may need to be experimentally determined with your models?
Thanks for the details on the Chinese translation (and sorry for conflating it in this issue...).

Very interesting, the coverage penalty looks promising to look into as an enhancement. It could lead to to improved translation quality with a small code change and no model retraining.

I had also noticed that the English -> Chinese translation was just providing the English string back.

Came to open an issue about this, but somebody already beat me to it. :clinking_glasses:

I asked about length_penalty on the OpenNMT forum and it sounds like ideally this would fine-tuned for individual language pairs. For now I'm just setting it to 0.2 which seems like a better default then 0 based on the linked paper and keeps the simplicity of one pipeline for all languages.
I'm closing this issue now but leaving the other one open for Chinese translations.

I asked about length_penalty on the OpenNMT forum and it sounds like ideally this would fine-tuned for individual language pairs. For now I'm just setting it to 0.2 which seems like a better default then 0 based on the linked paper and keeps the simplicity of one pipeline for all languages.
I'm closing this issue now but leaving the other one open for Chinese translations.


Add UltraVNC (uVNC) to apps list

Thanks for adding TightVNC. Any chance that UltraVNC (uVNC) can be added as well?

Hello @PRTaz3
Once PR #1781 is merged, it'll be available in the test branch for sometime and then to the general public.

This Program Request Issue will be moved to ThetTracking List Issue #1782
Thanks for your request @PRTaz3 😄


about the performance evaluation code of the predicted group motion model

Thanks to the author for such an excellent work, but I want to know where the performance evaluation code of the predicted group motion model is, it seems that the repository does not include this part. I look forward to your answer and guidance, thank you

Hi. Thank you!
Indeed I did not include the code to this part of the paper but it is on my computer. We recently started to work on a future iteration of this paper and are in the process of doing some cleaning up. Expect a future version of this code with the evaluation code for this part in a few weeks. I will also let you know when it happens.

OK, I understand. Thank you for your hard work on this, it will be of great help to me.

Hello, I apologize for the disturbance again. While reading your code, I noticed an issue in the function [link to code](https://github.com/CMU-TBD/Group_based_navigation_v1/blob/93b0ca9e78ce50f8ff4fecd51a0366417d13a050/grouping.py#L86): I observed that the return value of db.fit_predict  (at [line 108](https://github.com/CMU-TBD/Group_based_navigation_v1/blob/93b0ca9e78ce50f8ff4fecd51a0366417d13a050/grouping.py#L108)) does not always start from 0, and it assigns a value of -1 to noise points. However, I did not find any handling for noise points in this function.
Let’s assume there are 6 people in one frame. Initially, in the function grouping (at [line 143](https://github.com/CMU-TBD/Group_based_navigation_v1/blob/93b0ca9e78ce50f8ff4fecd51a0366417d13a050/grouping.py#L143)), labels = [0, 0, 0, 0, 0, 0]. After the first clustering round, we assume that sub_labels = [0, 1, 0, 1, 1, -1] (at [line 108](https://github.com/CMU-TBD/Group_based_navigation_v1/blob/93b0ca9e78ce50f8ff4fecd51a0366417d13a050/grouping.py#L108)). At this point, after processing, the returned labels would be [0, 1, 0, 1, 1, 0], which is clearly an incorrect result. This is because it incorrectly assigns a noise point to a cluster.
I’m not sure if what I’m saying is correct. Thank you for your patience in clarifying this issue!

Hi. No worries. I am happy to answer any questions :)
Thank you for catching this. I realized the comments I put in _DBScan_grouping are wrong. In fact, I probably did not read DBSCAN's documentation carefully and just tested fit_predict directly...
I think in my case there will be no "noise points" because I set min_samples = 1 when initializing DBSCAN, but yes I need to be clearer about this.

Oh, I see! I understand now.
I hadn’t noticed the parameter settings when initializing DBSCAN, and I wasn’t very clear about the meaning of the min_samples parameter—this was my oversight.
Thank you for your explanation! Have a great day! :)


Confusing Buttons in /view/admin_uci/changes.htm "Unsaved Changes" Page: consider renaming? Cleanup Page.

This is more opinions, but are all easy to change, and would make the "Unsaved Changes" page a lot clearer to new users. Basic ideas to clean up the /view/admin_uci/changes.htm page.
REORDER THE BUTTONS: "Apply & Save", "Apply",  then "Revert"
To match the rest of luci's button ordering which is: "Save & Apply", "Save", "Revert". Except on the changes page, it says "Apply", "Apply & Save" then "Revert". Should order them to the "Apply & Save", "Apply",  then "Revert", to more closely match luci's button theme.
CONFUSING "Unsaved Changes" BUTTON: Rename to something else
When you make changes and click the "Save" button it goes into the "UNSAVED Changes" page. This doesn't really make sense that clicking "Save" moves something to "Unsaved". This page is more of a "Unapplied Changes" or "Not Applied Changes" or just a log of changes, which could be just renamed to "Changelog". I would rename it to what it is, just a "Log of Changes", or "Changelog" where when u make a change and save it, it goes into the log, and you can "Apply" the changes or "Revert" in that page. This button is named in the theme's header.htm, so someone would have to alter the 4 theme's header.htm name to change this button's name.
CONFUSING "Apply & Save" vs "Apply" BUTTON ON UNSAVED CHANGES PAGE: Rename "Apply & Save" to something else
Not to be confused with the "Save & Apply" button found everywhere else. The "Apply & Save" button is very confusing. We already clicked a "Save" button to put changes into this page, and now we have a Log of all the changes, what will "Apply & Save" do over just "Apply". This is a VERY confusing button. "Save" and "Apply" in this sense mean the same thing, since the changes are already "saved".
Upon testing this, what "Apply & Save" does is just Apply the Changes, and CLEARS THE LOG. If you just click "Apply" it'll Apply the changes, but keep the changes in the log. That's the difference between these two buttons. The name of the button should be renamed to match the function.
Assuming you agree that this page is more of a "Log of Changes" or a "Log of Saved Changes" or a "Changelog", then you should renamed the "Apply & Save" to something like "Apply & Clear Log". It would help new Luci people understand what is going on.

@NvrBst I generally agree with your points, except that Apply & Save is really (Apply & Save OR just Apply if already saved; i.e. you don't have to hit Save before Apply & Save).  In that case the name for the button is about as good as it gets while being sufficiently short & sweet.

@NvrBst @jow- @hnyman My biggest concern with the second suggested changes is the lack of translation activity for most translations.  What do you think?

Ah, I'm only talking about the buttons in the "Unsaved Changes" Page. The "Save & Apply" vs "Save" buttons (Everyone else) I understand.
However in the "Unsaved Changes" Page, top right (after you have just saved stuff, but not applied stuff).  Has a different button named "Apply & Save" This is the confusing one, since everything on this page is "Saved already". In fact this button really doesn't Save, it "Apply & Clears".

@NvrBst Oops, sorry, misundersood.  I agree completely then.  Just changing it to Apply I think would be best (I think saying clear might actually suggest some kind of reset, so best just say apply).

Ah yes,  But there is already an "Apply" button, and also an "Apply & Save". So in the "Unsaved Pages" You have a log of all the "Saved" stuff you did, and you have a choice of 3 buttons to click. I do not think most people know what the difference between the first 2...

Apply & Save: Most would assume this applies all the changes. But what does the save part mean? All these changes are SAVED already...
Apply: Most would assume this does the same as 1...
Revert: This everyone would understand.

With testing, to me, it seems "Apply" Applies all the changes, but leaves all the changes in this log so u can see them and revert them if u wanted (the "Unsaved Changes" button remains). "Apply & Save" Applies all the changes, and then removes the log. I'm unsure what the "Apply & Save" should be named to, but pretty sure "Apply & Save" isn't correct. It should be something like "Apply & Close" or "Apply & Clear Log". Basically it needs to describe the function of:

"Apply & Save": Applying all the Saved Changes, and CLEARS the current Log of Changes you have.
"Apply": Applying all the Saved Changes, but keeps the current "Log of Changes" you have, so the "Unsaved Changes" button is still in the top right of the screen even after you hit "Apply". Of course hitting Apply again on this page will "reapply" the current list if nothing new was changed. This button is not so useful, but maybe for some people.

Picture of the "Unsaved Pages" page

It would proably make sense to rename it to "Apply & Commit". In uci terms, "save" means to stage pending changes into a temporary directory which is gone after a reboot (or revert) while "commit" writes staged changes into the persistent storage.

@hnyman would you regard this as a translation breakage issue if it were done but only for trunk?

would you regard this as a translation breakage issue if it were done but only for trunk?

Hmm. Not quite sure what you mean.
But principally the same answer as in the other topic: if we change existing key button labels on core functionality, it would be great to edit .po files with sed (or manually) to ensure that most users do not see other buttons in local language and one in English.
In this case I think that there would still be a "Save & Apply" string (that has been there already earlier) and then a new "Apply & Commit" replacing S&A on the unsaved changes page, which string is new and untranslated. So no breakage.

@hnyman I actually meant 'do we need to do the edit .po files, etc thing'.  I call it breakage because AIUI the string becomes untranslated and therefore not in the target language, which is translation breakage vs. software breakage.

Not sure when I'd get to this, so unassigning; thinking just add a 'confirmed' label just to be able indicate it's triaged ( @hnyman would you think that okay )?

The current "Apply & Save" string on the "Unsaved Changes" page is not in the .po files, and thus not translated. So changing that to "Apply & Commit" will be fine, and no .po file changes will be necessary. (there is the "Save & Apply" (standard), but no "Apply & Save" (unsaved changes page) translation).
I like "Apply & Commit". It's much more obvious what is going on than what is there currently. The only issue is that the "Apply" on this page doesn't match the "Apply" everywhere else in LuCI (the Apply everywhere else actually means Commit). So if the common user has been using the standard "Save & Apply" button, he may be confused what the difference between "Apply" and "Apply & Commit" on this page. Since the "Save & Apply" he's been using all this time is actually a "Save & Commit". I assume a "Save & Apply" === "Commit". So really this page is just a "Commit" / "Apply" / "Revert". But introducing a solo "Commit" definition may confuse people, where an "Apply & Commit" shows that this button is doing one more action over the solo "Apply" button.
Changing the "Unsaved Changes" button would require modifying 16 *.po files (.po files with non-blank translations). I speak ca/french/jap and my brother german/spanish. So I can do 5/16 *.po properly. The other 11 I would have to rely on Google Translate. Looking quickly at the translations, it seems some of them are translating the buttons meaning over the literal text anyway. For example, the French Canadian button is translated "Unsaved Changes", while the France French version is "Not Applied Changes", which is actually what the button is. I assume some other nationalities have done the same and translated the buttons function and not the "text".
Would still need to choose a name for this though over "Unsaved Changes". Some suggestions would be "Saved Changes", "Unapplied Changes", "Modified Changes", "Uncommitted Changes" or simply just "Changes".   "Log of Changes" or "Changelog" also are options... Unapplied or Uncommitted or just Changes, seem like the more logical options maybe. After clicking "Save", and seeing "Saved Changes" at the top may confuse some users that the changes are actually Applied. After clicking "Save" and seeing "Unsaved Changes" at the top is probably more confusing to some though.

Works as expected and would not to get changed in the future


chore(package): update babel-eslint to version 8.0.1

Closes #81

Coverage remained the same at 100.0% when pulling e8795a3c6790f4d688e4b2d17d8fd52b690ae6f5 on greenkeeper/babel-eslint-8.0.1 into cc178cff783546aa5c45f9d758b0ee039d12794b on master.


FC Board Recompile to Remove Unused Pin Names

There are currently multiple pin names that are unused as hold overs from the first version of the FC board. We should strive to removed the unused ones and rename them to something that makes more sense.

This has been completed and new firmware resides in the board specific repos now:
https://github.com/proveskit/flight_controller_board


Test vertical metrics of tall fonts

When I figure out what is causing https://github.com/clauseggers/Inknut-Antiqua/issues/7 then FB should have a test for it :)

Did you ou Georg figure out what's causing that?
It is not clear to me exactly which conditions should be met to pass this test.

Okay, assigning to me to make this clear.

This is currently the highest priority task for milestone 0.1.0 (https://github.com/googlefonts/fontbakery/milestone/50) but I'll only be able to deal with it once I get some feedback from @davelab6 or @schriftgestalt to make it clear.

Name is most important

@davelab6 @schriftgestalt any updates here on what's causing the issue ?

No update from me yet

Unless I get some feedback no this one, lets move this to a future milestone.

Sure

@m4rc1e please take a look at this when you return to FB :)

@m4rc1e please schedule a 1/2 day next month to investigate this

@davelab6 If the font was previously released on fonts.google.com. The fix script in gf-glyphs-scripts will visually make the metrics look the same and ensure it won't clip in MS apps. https://github.com/googlefonts/gf-glyphs-scripts/blob/master/Google Fonts/fixfonts.py#L67-L108


howto: fqdn scrape for cleaner grafana names

Reference:
https://github.com/SovereignCloudStack/issues/issues/162

cool, thanks @linwalth. I'll go over this asap.

has been changed


lifecycle prevent_destroy option

Describe the Feature
Currently there's no way to prevent destruction of the MSK cluster/configuration if a terraform destory is run, or someone accidentally changes something that would force a rebuild. We can't set prevent_destroy on the module as a whole due to terraform limitations, so being able to flip a boolean that default to false to true that would set prevent_destroy would be super useful.
Expected Behavior
A boolean input should be added, prevent_destroy, that defaults to false and is used to set prevent_destroy on the MSK cluster and configuration at least.

Not possible in the current state of terraform.


updated validations.py to check that the first character is a letter Closes: #1

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Travis + Astropy CI helpers

Revised version of #189 courtesy of @eteq that only requires the backported packages for older Pythons.
Note: needs one more tweak: uncomment    # -<EMAIL_ADDRESS>

Coverage remained the same at 64.201% when pulling 689ade594ff537e18a2dfe9db5cd3532293215ef on eteq:travis-ci-helpers-test into cf4bddeb184e4ef15ca4ec76c41abceb184d3db2 on mperrin:master.

So can we close the #189 PR because it's obsoleted by this one?
I see that the latest Travis build with this was mostly fine but one test case ended up stalling out. Any idea what's up with that?

I just restarted that build. No idea what was going on... maybe a missing --yes in an invocation of conda within the CI Helpers?


Change name of flag from with_armature to without_armature

As suggested by @cmastalli in #936 I have changed the name of the flag with_armature to without_armature.

I cannot merge as I don't have write access


enable find_executable_batch_size on XPU

What does this PR do?
Currently, the find_executable_batch_size only works on CUDA and CPU. This PR adds the XPU support for this.
@muellerzr

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Thanks for the correction! @BenjaminBossan


Add Birds Eye Camera

Closes #47
Added a new crate projekto_camera which has both: the existing fly_by camera and the new birds_eye camera.

Renamed from birds_eye cam to orbit since it makes more sense.


[WIP] site: Switch jekyll -> pelican

i would prefer to shift to something like react-static but i think that would be quite a bit more work, this at least should remove ruby from the mix


CSS

CSS
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

Initial training complete. CSS style sheet file added to study guide website.


factory context refactor: refactor the transport factory context

Commit Message: factory context refactor: refactor the transport factory context
Additional Description:
second pr of #26476.
Risk Level: mid.
Testing: n/a.
Docs Changes: n/a.
Release Notes: n/a.
Platform Specific Features: n/a.

/wait

Seems the #27008 has added a new method to the transport factory context to return server factory context. But this PR will refactor the transport factory context completely.

/wait

/wait

Hmmm, I think all test should passed but some tests in tsan are timeout.

now, almost everything is done. but the mobile coverage test in the main branch is broken. But it's not relate to this pr.


[New game]:  Cow Hunting

🎮 Game Request
User need to tap on the cow so that the point will get increase
Point down the features
It will be very interesting coz of the speed of cow will get increase when user get high points
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @mukilan2815 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹


SSLContextFactory support for Self-signed certificates when connecting to private tangles.

Description
Currently there is no way to configure the SSLContextFactory to provide a way to support self-signed certificates when connecting to private tangles to communicate with them securely.  When trying to connect to a private tangle which has a self-signed certificate (HTTPS), the following error is thrown by the API currently, Error: error sending request for url (https://localhost:14266/health): error trying to connect: invalid certificate: UnknownIssuer.
Motivation
This will allow for the Java API to connect to private tangles that are secured using self-signed certificates (HTTPS) as you can provide the certificate store within the code, instead of having to communicate with them unsecured (HTTP).
Requirements
Write a list of what you want this feature to do.

Expose an SSLContextFactory option to provide your own certificate stores

Are you planning to do it yourself in a pull request?
No.

This should be fixed by https://github.com/iotaledger/iota-sdk/pull/300, let us know if it's still happening.


add Caktus logo to footer and update favicon to new colors

emulate the black and white logo from 2015

Nice! Looks good on desktop and mobile:

And the favicon looks good too (checked in Chrome, FF, Safari, Android Chrome):


add label when PR is ready for merge

Add label Ready for merge or Can be mrged to PR when all tests passed.

used query is: pull.mergeable_state

In master.


Add the Cascade enrage spell to Living Liquid phase of TEA

Timing is 8 seconds after Fluid Swing.

Here's a log with the event: https://www.fflogs.com/reports/qRWpDKHZr3wG7fy9#fight=62&type=damage-done&hostility=1&view=events&eventstart=12748499


About the location of Weights

Hi!
I had chosen the location of weights' backup to be on  /content/drive/MyDrive/Weights.
after successfully training the model, there  is nothing there but two files are created in my drive's main directory (/content/drive/MyDrive) one being Weights.data-00000-of-00001 and the other Weights.index.
everything seems to be allright, I can see results on tensorboard, but as said it was supposed to backup my weights on that specific location but that's empty. also I tried to but I can't use those two files mentioned to evaluate my model.
kind thanks
best regards...
Ali Mousavi

Hello!
I have the same problem here after training the model there is nothing in the mAP/predicted and mAP/ground-truth to evaluate the model and after running the evaluation.py my data suddenly disappears.

Hi! I had chosen the location of weights' backup to be on /content/drive/MyDrive/Weights. after successfully training the model, there is nothing there but two files are created in my drive's main directory (/content/drive/MyDrive) one being Weights.data-00000-of-00001 and the other Weights.index. everything seems to be allright, I can see results on tensorboard, but as said it was supposed to backup my weights on that specific location but that's empty. also I tried to but I can't use those two files mentioned to evaluate my model.
kind thanks best regards... Ali Mousavi

The saved weight, as you mentioned, consists of two files, "data" and "index". Those are what you get when you use model.save_weights in Tensorflow. When you want to load the weights for the evaluation, resuming the trainings or whatever, in your case the path should be "/content/drive/MyDrive/Weights", refering only to the prefix. So, the Tensorflow would take care of both files (i.e. ".index" and ".data") simultaneously.
I hope this fix your issue.

Hello! I have the same problem here after training the model there is nothing in the mAP/predicted and mAP/ground-truth to evaluate the model and after running the evaluation.py my data suddenly disappears.

I'm not sure if I got what is the problem. Do you mean when you finished the training, the ground truth and predicted directories are empty? Did you run evaluate.py to make prediction on your test data and make the necessary files in those directories? Would you describe what you mean by your data disappears? If you run evaluate.py multiple times, the old predicted files would be removed and replaced in those two directories but your dataset shouldnt be removed.

Hi! I had chosen the location of weights' backup to be on /content/drive/MyDrive/Weights. after successfully training the model, there is nothing there but two files are created in my drive's main directory (/content/drive/MyDrive) one being Weights.data-00000-of-00001 and the other Weights.index. everything seems to be allright, I can see results on tensorboard, but as said it was supposed to backup my weights on that specific location but that's empty. also I tried to but I can't use those two files mentioned to evaluate my model.
kind thanks best regards... Ali Mousavi

The saved weight, as you mentioned, consists of two files, "data" and "index". Those are what you get when you use model.save_weights in Tensorflow. When you want to load the weights for the evaluation, resuming the trainings or whatever, in your case the path should be "/content/drive/MyDrive/Weights", refering only to the prefix. So, the Tensorflow would take care of both files (i.e. ".index" and ".data") simultaneously. I hope this fix your issue.

I changed the location of those two files to where they were supposed to be (/content/drive/MyDrive/Weights) and then ran the evaluation code line (!python /content/tensorflow-yolov4-tflite/evaluate.py --weights /content/drive/MyDrive/Weights) but I got following error.  https://2xft.short.gy/img2
so I copied the weights back to their original location to check if the problem is that. (now location of weights is /content/drive/MyDrive but i refer to /content/drive/MyDrive/Weights in evaluation code line as before. now i don't get any error when executing, but after few minutes of staying in the situation that is shown in this picture (https://2xft.short.gy/img), it stops executing without any changes.
Thanks...

it seems that the evaluation is successfully done when the cell executes with no report. I can now get the AV, calling main.py
thanks

Hello! I have the same problem here after training the model there is nothing in the mAP/predicted and mAP/ground-truth to evaluate the model and after running the evaluation.py my data suddenly disappears.

I'm not sure if I got what is the problem. Do you mean when you finished the training, the ground truth and predicted directories are empty? Did you run evaluate.py to make prediction on your test data and make the necessary files in those directories? Would you describe what you mean by your data disappears? If you run evaluate.py multiple times, the old predicted files would be removed and replaced in those two directories but your dataset shouldnt be removed.

thanks the prediction and ground-truth folders are ok now.
about the data that disappears sometimes after I run the evaluation.py file the path, I gave to TEST.ANNOT_PATH on the config file the whole folder of the images on this txt file gets empty and I should bring the data back. my test images suddenly vanish.

Hello! I have the same problem here after training the model there is nothing in the mAP/predicted and mAP/ground-truth to evaluate the model and after running the evaluation.py my data suddenly disappears.

I'm not sure if I got what is the problem. Do you mean when you finished the training, the ground truth and predicted directories are empty? Did you run evaluate.py to make prediction on your test data and make the necessary files in those directories? Would you describe what you mean by your data disappears? If you run evaluate.py multiple times, the old predicted files would be removed and replaced in those two directories but your dataset shouldnt be removed.

thanks the prediction and ground-truth folders are ok now. about the data that disappears sometimes after I run the evaluation.py file the path, I gave to TEST.ANNOT_PATH on the config file the whole folder of the images on this txt file gets empty and I should bring the data back. my test images suddenly vanish.

I guess there is something wrong with your "DECTECTED_IMAGE_PATH". This line would remove the previously detected images to avoid disrupting the prediction results. So, if your "DECTECTED_IMAGE_PATH" is the same with "ANNOT_PATH ", your dataset would be also removed. Consider changing the "DECTECTED_IMAGE_PATH" or commenting this line.


[REEF-358]: Fix violations / reconfigure checkstyle checks in "Whitespace" category

This addressed the issue by

fixing violations of checks in our code.

JIRA: REEF-358

I'll merge this.


Request for Hashing support

It would be nice if Tink provided support for hashing passwords.

@sminogue like can you give some example other packages exist with this feature ?

Jasypt and bouncy castle (off the top of my head) both provide one way encryption (hashing) which can be used for storage of things like passwords.

On Oct 14, 2020, at 3:05 AM, Debojyoti Chakraborty<EMAIL_ADDRESS>wrote:

@sminogue like can you give some example other packages exist with this feature ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

So we can take them as reference.

Hi,
I think there is a duplicate of this at #446. But I really agree on the last sentence there:

Including hashing could also more often make tink the single required explicit dependency for all of an application's crypto needs.

Would be amazing if Tink provides Argon2.

I'm sorry, but we currently do not have plans to design or implement password hashing.

I'm sorry, but we currently do not have plans to design or implement password hashing.

But why? It is a feature which has been requested many times now.

Because we have a lot of other things planned and we only have limited resources.
But it is a reasonable feature request, so I guess we can also keep it open for now.

Unfortunately, there is no way we can do this at the moment -- simply due to the limits in our bandwidth at the moment. I will close this.


Fix/c sharp beginner

PR Details
Change KeyboadInputDemo's BlueTeapot rotation code from RotationEulerXYZ to Quaternion and update code comments
Related Issue
#725
Motivation and Context
Fix bug
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

 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.


Secure Ps Interface

We should secure the ps interface by restricting the allowed ip range. This means only changing the one line [1] to ".hasIpAddress()" with the correct expression.
[1] https://github.com/RWTH-i5-IDSG/BikeMan/blob/sessionbased-auth/src/main/java/de/rwth/idsg/bikeman/config/SecurityConfiguration.java#L116

.hasIpAddress('<IP_ADDRESS>/16') should be correct for the current VPN setup

yep, but we should/are waiting for the PS team to update their implementation.


fix grammar

@leios How is the status of this PR? Are you happy with the updated changes?

No, there are still a few things that need to be addressed.

@leios by them or by you?

By them

Ok. Do you still plan to work on this PR @Mukundan314 ?

Ok. Do you still plan to work on this PR @Mukundan314 ?

No

Oh, shoot. Sorry @Mukundan314 I didn't realize you had addressed the problems. There are still a few things that are personal preference, but it's mostly fine.


-[SDImageCache storeImageDataToDisk:forKey:]: unrecognized selector sent to instance 0x17ee1ab0

hi，when I update the sdwebimage to latest, and use it to save a image to disk,like this:
NSData *_imageData = [NSData dataWithContentsOfURL:_url options:NSDataReadingMappedIfSafe error:nil];
[[SDImageCache sharedImageCache] storeImageDataToDisk:_imageData forKey:_imgUrl];

But, I get the message from Xcode:
-[SDImageCache storeImageDataToDisk:forKey:]: unrecognized selector sent to instance 0x17ee1ab0
I checked many times, the _imageData and _imgUrl is right.
and what happened?

@HuiiChong did you solve your issue?

yes, when I clean the Derived Data and rebuild it. and it's ok now. this reason is I update form older version. so it's my misstake. I feel sorry about it.

@HuiiChong Thank you very mach


Use Powershell Variable in Search-AzGraph

Do you have example to use Powershell Variable in Search-AzGraph?  I need to reference variable in the query string.
Thanks!
AB#8644

This PowerShell commandlet is for the Azure Resource Graph, not Microsoft Graph.  https://docs.microsoft.com/en-us/azure/governance/resource-graph/first-query-powershell#:~:text=The Azure Resource Graph module requires the following,The Resource Graph module for PowerShell is Az.ResourceGraph.


Update CI

The three latest stable Go versions will be used for testing.

Codecov Report

Merging #439 (b4a37ff) into master (fbd4fee) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #439   +/-   ##
=======================================
  Coverage   77.09%   77.09%
=======================================
  Files          55       55
  Lines       18836    18836
=======================================
  Hits        14522    14522
  Misses       3679     3679
  Partials      635      635


CRUD methods for attributes

Adds CRUD methods for attributes to the client.

Create a separate attribute is missing (not bulk). What about attribute values/metadata? I'm not sure whether they are needed or not

Having people deal with values and metadata is probably a bit overwhelming, which is why we created the attribute endpoints, which wrap both of those.

Comparing all the fields is very overwhelming, so I have to trust you here;) Did you test all of the methods, to make sure everything works and the parsing doesn't break?

I did do all CRUD operations at least once for one Attribute, but I didn't populate all fields and try all variations.


Bug: Add links

Description
There is no links in the footer menu ..
Proposed Solution
Wanna add the links of respective pages and informations.
Screenshots

Browser 🥦
Brave
Checklist ✅

[X] I checked and didn't find similar issue
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (leave this unchecked for no).

@ItsRoy69 kindly assign this also
Thanks

@ItsRoy69 can you just provide me the links you need here in footer section


Confirmation task planner take two

Cf. #259
Tried to incorporate @schmir-at-bb suggestions, but I don't think I understood exactly what they were and I like this even less than the first version. We should have a call on this tomorrow.

I'll try to take a look at it today and we could have a call on this tomorrow.

I still do not get why we need the all these timestamps. But I'm fine with keeping it this way, I guess this will get clear to me with the followup PR.

We need some notion of time to know

up to which point the two chains are synchronized
at which time we can forget about stale events
to be able to give the home chain some time after transfer events to produce confirmation/completion events

Block numbers don't work as they are not synchronized between the two chains.

up to which point the two chains are synchronized

What does that mean?

at which time we can forget about stale events

What are stale events? If there is a transfer we either have to confirm it, or it is already confirmed or we did already confirm it.

to be able to give the home chain some time after transfer events to produce confirmation/completion events

Here we can use the local time on the machine from what I can tell.

up to which point the two chains are synchronized

What does that mean?

We see a transfer event at time t. If we have to confirm it or not depends on if there's a conf/comp event some time after that. To know this, we need to be sure that the home chain has synchronized at least until t + HOME_CHAIN_LOOKAHEAD.

at which time we can forget about stale events

What are stale events? If there is a transfer we either have to confirm it, or it is already completed or we did already confirm it.

I just mean events that have no meaning for us anymore but we still keep track of them. Most common will probably be a combination of transfer+confirmation event. We should not delete the two before observing the completion event because otherwise we'd end up with a stale completion event. Other example could be a confirmation event by a rogue validator for a transfer that doesn't exist.

to be able to give the home chain some time after transfer events to produce confirmation/completion events

Here we can use the local time on the machine from what I can tell.

Maybe, I don't quite know what you have in mind here, but that information would still have to come from the event fetcher, presumably via the event queue, and I don't see how this would be any simpler.

``.

We see a transfer event at time t. If we have to confirm it or not depends on if there's a conf/comp event some time after that. To know this, we need to be sure that the home chain has synchronized at least until t + HOME_CHAIN_LOOKAHEAD.

When we are in sync with the home chain, i.e. we have 'recorded all events, we can check if we have seen a completed event or if we have seen a confirmation event from ourselves (in case we forgot the latter). That's the point of introducing  the artificial event 'synced with chain'. I don't think the HOME_CHAIN_LOOKAHEAD is necessary.

At the very least the artificial event would need a timestamp, otherwise it could be that the artificial event is outdated (i.e. the chain was synced at some point in the past, but is not anymore). And I doubt the code would get any simpler if we had proper events without and artificial events with timestamp.
Agree that the HOME_CHAIN_LOOKAHEAD is not strictly necessary, but it's nice to have. It also might make future improvements easier, in particular we could introduce a random lookahead to avoid >50% confirmations.

At the very least the artificial event would need a timestamp, otherwise it could be that the artificial event is outdated (i.e. the chain was synced at some point in the past, but is not anymore).
And I doubt the code would get any simpler if we had proper events without and artificial events with timestamp.

The code would get simpler because we could get rid of all the timestamp handling. The problem is not the additional field in the events. The problem is that we do the timestam handling in the confirmation planner. The confirmation_task_planner is full of this timestamp handling. At the moment I don't see why we need this. Let me repeat myself:
If we are synced with the home chain, we can send out confirmations for every transfer that we have seen on the foreign chain up to this point, in case we did not already sent out a confirmation and we didn't see a  completion event for the transfer.  You don't need any timestamps for that.
Either the above statement is wrong or your implementation is too complicated. In the first case, please explain to me why it is wrong, in the second case, please change the implementation and get rid of the timestamp handling.

Agree that the HOME_CHAIN_LOOKAHEAD is not strictly necessary, but it's nice to have. It also might make future improvements easier, in particular we could introduce a random lookahead to avoid >50% confirmations.

I'm not sure what your plan is. But I'd rather keep it simple.

If we are synced with the home chain

how do we know that we are synced without a timestamp? If it's just a "you are synced now" on the queue, this information could be outdated.

If we are synced with the home chain

how do we know that we are synced without a timestamp? If it's just a "you are synced now" on the queue, this information could be outdated.

We know we are synced with the home chain, when we have fetched till the latest block and there are no new events. We put the artificial event on the queue and can even give it a timestamp. If we fail to process the event in the next say 2s we ignore it.
The fact that we use a timestamp for this one event, doesn't mean we need all the complexity that we have now.


Support volume_up/down override and async helper

Description:
This PR allows async_volume_up/down to call synchronous versions of volume_up/volume_down for synchronous media players, but for async media players still provides a default implmementation. Alternative to #5249
I'm not crazy about this implementation, but I also didn't want to move the logic to the service handler, in case the methods are called on the entities directly. Open to other suggestions.
Safe to wait until after 0.36

LGTM.
Nice that you use the different volume stepping (.1 vs. .2) to see which underlying function actually changed the volume.

please rebase and remove stuff on init and we can merge unittests 👍


Websocket input node not unsubscribing properly

This issue happens when you have a websocket input node, you make some changes on it and deploy it as "Modified Nodes" (Which only deploys modified nodes). Websocket server keeps sending messages to the previous node version, and to the new one as well.
UPD: here is a workaround for this one: https://github.com/GSeva/node-red/commit/c7fe5119c7342af7d0f7967811fde02c588d3dd1
UPD 2: another little bug i found is that websocket listener node emits "opened" event when socket is closed. Here is the fix: https://github.com/GSeva/node-red/commit/95c4355bdeab3b7f42d68e4f718e407a95f6d7da

Thanks for spotting this.


503 - service_unavailable

I'm also having this error for the past few days. But I think it's an error with their end. Hope it will be fixed soon. Though there are some hours that it's working fine and sometimes they're not. Thus, its fluctuating. :smile:

16:37 - europe/kiev timezone

1542206579

@callum-oakley ^^

thanks @Drengel1990
trying to resolve asap 🤞

We've just deployed what we hope is a fix for this, please let us know if you see it happening again.

Closing as this issue is fixed. Please open a new issue if the problem reoccurs 👍


Use git2 libray instead of git log command in get_authors() and get_creation_time

Following a Suggestion by @spenserblack  in #181

I wonder if interaction with repo history via the References iterator would be faster than running git log commands. For example, assuming References are sorted chronologically,
let repo: Repository; // declare repo
let first_commit = repo.rev().next().unwrap().peel_to_commit().unwrap();

Using a Rust iterator, which lazily evaluates its items, might be faster than executing git commands.

get_creation_time() using git2 instead of git log:
    async fn get_creation_time(repo: &Repository) -> Result<String> {
        let mut revwalk = repo.revwalk().unwrap();
        revwalk.push_head().unwrap();
        revwalk.set_sorting(git2::Sort::TIME | git2::Sort::REVERSE).unwrap();
        let first_commit_rev = revwalk.next().unwrap();
        let first_commit = repo.find_commit(first_commit_rev.unwrap()).unwrap();
        let ts = time::Timespec::new(first_commit.time().seconds() + (first_commit.time().offset_minutes() as i64) * 60, 0);
        let time = time::at(ts);
        Ok(format!("{}",time.strftime("%a %b %e %Y").unwrap()))
    }

On the same Linux repo, I am now getting : get_creation_time --> 12.539735171s compared to 9.860741358s with the old version.
Did I miss smth, or is this actually worse ?

:thinking: I guess executing git commands is faster after all.
We could probably use the result of get_commits to get creation time. Where n = number of commits, git log -1 HEAD~{n} should get the first commit. That may be faster than reversing then looking up.

We could probably use the result of get_commits to get creation time.

Great idea, let's do that.


Fix hugo anchor in readme

Hi!
Fix anchor in readme
issue

/language hi

/assign @php-coder

/assign @sftim

I'll need a /lgtm from a Hindi localization approver

/assign @mittalyashu

@Arhell Were you able to test the changes locally on your machine?

@mittalyashu
Of course!

/lgtm

@sftim I do have access to merge the PR.
Just want to double-sure, should I merge it?

If you're a Hindi approve and you approve, it's OK to /approve

just one more
/lgtm
:)
Thank you!

/approve

/cc @Rajakavitha1

/assign @sftim

Ping @kubernetes/sig-docs-hi-owners

сс @sftim

@mittalyashu to approve a PR you need both /lgtm and /approve. I see a /lgtm but I don't see
an /approve anywhere in your comments. Will you give that a try?
If you still have issues, I can approve this PR.
Thanks!

/assign @avidLearnerInProgress
/assign @daminisatya
/assign @mittalyashu

/retitle  Fix hugo anchor in readme

@mittalyashu to approve a PR, you need both /lgtm and /approve. I see a /lgtm but I don't see
an /approve anywhere in your comments. Will you give that a try?

/approve

@sftim @jimangel Seems like I don’t have required permission to use the approve command. 🤔

With https://github.com/kubernetes/website/pull/19314#issuecomment-623050482 recording approval, I can echo that:
/approve


Blazor GetJsonAsync returns an empty tuple

As for https://github.com/aspnet/AspNetCore/issues/11144
In version SDK 3.0.100-preview7-012821 the GetJsonAsync extension method returns an empty tuple
To Reproduce
Steps to reproduce the behavior:

Run this code
var retValue = await Http.GetJsonAsync<(bool Success, string ErrorMessage, MyClass MyClass)>("api/MyClass/GetMyClass");
the APIController returns (true, null, MyClass)
The returned tuple from GetJsonAsync is empty (false, null, null)
In preview 5 before version '3.0.0-preview6.19307.2' the tuple was successfully deserialized

Thanks for contacting us, @MaurizioVerde. This behavior change is caused by the change of the serializer we use. If you are looking for a feature from this serializer, you can file a new issue for the team who owns it at: https://github.com/dotnet/corefx

To unblock yourself, you can deserialize the data returned form the service to some other type (array ?) and then manually handle the conversion.

To unblock yourself, you can deserialize the data returned form the service to some other type (array ?) and then manually handle the conversion.

Thanks @mkArtakMSFT,  worked around this way
@using Newtonsoft.Json
@using Newtonsoft.Json.Serialization
@using System.Text.Json.Serialization
var message = await Http.GetAsync("api/Seminar/GetFirstAvailable");
string content = await message.Content.ReadAsStringAsync();
(bool Success, string ErrorMessage, Seminar Seminar) retValue = JsonConvert.DeserializeObject<(bool Success, string ErrorMessage, Seminar Seminar)>(content);
(I had to go back to Newtonsoft.Json due to  "options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore" missing in System.Text.Json)


Fix regression on retrieval of minute positions.

The main change in this PR is:
PERF: Remove memoization from minute bar position.
Instead of using the remember_last memoization on all calls to
_find_position_of_minute, add an instance local cache which is only
used by the get_value call. The get_value call is very hot, so any
extra overhead (e.g. creating the WeakArgs on every invocation) becomes
costly. The current usage get_value also has the property that it is
called with monotonically increasing, but with a high repeat count on
each value. (A further improvement could making a get_value which
supports being used by many sids, for use by the update portfolio
positions.)
The caching is not done at the _find_position_of_minute_level because
unadjusted_window always uses two positions on the tape (start and end
of range) which would cause the entries and removal into the cache which
would be invalidated both between the calls of start and end, and next
call of the function.
Also removes a parameter which was noticed while investigating the regression:
MAINT: Remove adjusted arg to position of minute.
The argument was only needed for mapping the positions which need to be
removed on adjusted windows. The start and end position of each range
can be derived from the early closes' positions and the market open,
respectively.
Remove to reduce moving parts.

nice.  we're back to a hit ratio of ~98% on that cached value for an algo that orders a lot, which triggers a lot of lookups to get_value.

LGTM, thanks

Coverage decreased (-0.03%) to 84.217% when pulling e78f4f072938a77fc4affe4a1679ca14d1cfc661 on remove-extra-parameter-to-position-of-minute into 3a1bcdbc393924a6acdd1833be6436730a0313ca on master.


Allow compatibility with SQLAlchemy 1.4.x

Overview
Resolution of broken compatibility between the SQLAlchemy-Ingres connector and version 1.4.x of SQLAlchemy.
Ingres connector versions 0.0.7 and 0.0.8 will not work with SQLAlchemy version 1.4.x and result in the following error:
  File "C:\test\.venv\lib\site-packages\sqlalchemy_ingres\base.py", line 36, in <module>
    from sqlalchemy.sql._typing import is_sql_compiler
ModuleNotFoundError: No module named 'sqlalchemy.sql._typing'

The fix restores compatibility with SQLAlchemy version 1.4.x and maintains compatibility with SQLAlchemy version 2.0.x.
Internal tracking
II-16194 ModuleNotFoundError: No module named 'sqlalchemy.sql._typing'
II-16298 SQLAlchemy Ingres dialect compatibility with SQLAlchemy 2.0.x and 1.4.x
Testing with the SQLAlchemy Dialect Compliance Suite
Dialect compliance suite reference

SQLAlchemy 1.4.54
Pass
Fail
Error
Skipped
Total
Pass Rate (a)

Before Fix
-
-
-
-
Fails to run
0%

After Fix
246
55
30
285
616
74%

SQLAlchemy v2.0.36
Pass
Fail
Error
Skipped
Total
Pass Rate (a)

Before Fix
547
101
33
882
1563
80%

After Fix
546
102
33
882
1563
80%

(a) Excludes skipped tests
It is important to note that there is odd inconsistency when running the SQLAlchemy dialect compliance suite. Often I have seen different results when running the suite multiple times with the exact same configuration. For example, running the suite 5 times in a row might produce 3 unique sets of results with slightly different pass/fail rates. My guess for a cause is that there must be timing issue causing a conflict in multiple tests accessing the same objects.
Conditional Imports
The code changes use conditional imports in a couple of places. This directly violates PEP 8 which states that "Imports are always put at the top of the file" although there is no mention of how to handle conditional imports.
I found this article which gives good advice on the issue and concludes by recommending that imports remain at the top of the module.
I'd like feedback from the reviewers on using conditional imports scattered throughout the code and expect that this will need to be changed by moving the imports to the top. I actually did try having the conditional imports at the top but ran into scope problems and didn't spend time figuring out how to fix, so left the code as is.
SQLAlchemy-Ingres Version
Once the code changes are approved, the version of the Ingres connector will need to be changed (at a minimum removing dev0) before pushing to PyPi.

Latest results of running the SQLAlchemy dialect compliance suite with commit 45f57b6

SQLAlchemy
Passed
Failed
Errors
Skipped
Total
Time

1.4.54
246
55
30
285
616
14.74s

2.0.36
555
93
33
882
1563
43.83s


Race condition during module interpretation with interpreter engine

Describe the bug
In the interpreter engine implementation a race condition occurs when trying to run modules in parallel (different runtime instances, shared cache). As a result execution is aborted with [fatal error: concurrent map read and map write](panic: runtime error: index out of range [2] with length 0)
panic: runtime error: index out of range [2] with length 0

goroutine 8 [running]:
github.com/tetratelabs/wazero/internal/engine/interpreter.(*engine).setLabelAddress(...)
	/<project-path>/vendor/github.com/tetratelabs/wazero/internal/engine/interpreter/interpreter.go:488
github.com/tetratelabs/wazero/internal/engine/interpreter.(*engine).lowerIR(0xc000092090, 0xc0020a6078, 0xc00bb038a0)
	/<project-path>/vendor/github.com/tetratelabs/wazero/internal/engine/interpreter/interpreter.go:466 +0x3d2
github.com/tetratelabs/wazero/internal/engine/interpreter.(*engine).CompileModule(0xc000092090, {0xc003b46000?, 0x305e2b?}, 0xc000501dc0, {0x0, 0x0, 0xc00019bc38?}, 0x0)
	/<project-path>/vendor/github.com/tetratelabs/wazero/internal/engine/interpreter/interpreter.go:386 +0x21e
github.com/tetratelabs/wazero.(*runtime).CompileModule(0xc0003a6b40, {0x7aef78, 0xa19960}, {0xc003b46000, 0x305e2b, 0x306000})
	/<project-path>/vendor/github.com/tetratelabs/wazero/runtime.go:237 +0x206
github.com/tetratelabs/wazero.(*runtime).InstantiateWithConfig(0xc0003a6b40, {0x7aef78, 0xa19960}, {0xc003b46000?, 0x305e2b?, 0x306000?}, {0x7b2cf8, 0xc00095c3c0})
	/<project-path>/vendor/github.com/tetratelabs/wazero/runtime.go:273 +0x38
...
exit status 2

To Reproduce
Try and run the same command module in a for loop, creating a new runtime for each iteration. Delegate load & execution to a new Go routine for each execution attempt.
Expected behavior
No race condition / panics shall occur when running modules in parallel with a common/shared cache.


libcxx: hardcode full path to

Motivation for this change
Fixes: #155458
Things done

Built on platform(s)

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

[x] Fits CONTRIBUTING.md.
[x] nix-build . -A llvmPackages_11.libcxx.dev -A llvmPackages_12.libcxx.dev -A llvmPackages_13.libcxx.dev -A llvmPackages_git.libcxx.dev | xargs grep -r version
[x] nix-build -E 'with import ./. {}; itpp.override { stdenv = llvmPackages_git.stdenv; }'

Hmm, I'm not sure about this.  I thought it was fine at first, but...
This isn't libcxx-private, at least according to: https://en.cppreference.com/w/cpp/header/version .  For example, gcc's C++ stdlib has a <version> as well.
This means all sorts of software (boost for example: https://www.boost.org/doc/libs/1_74_0/boost/config/detail/select_stdlib_config.hpp ) may wish to include <version>, and while that might not be breaking now in anything we have currently, it may in the future-- as long as we're incorrectly searching header locations in the wrong order/precedence.
As a small consideration, I'm not sure what the expected stability of these paths are (include/c++/v1/version) and am worried if they change we'll miss it (as we likely propagate this fix forward in the future).  This could be fixed, if a bit painfully, by including a check that the injected path indeed exists.
OTOH this is, of course, a problem we should try to fix!  Can we do something at the wrapper level to provide the expected behavior here instead?
I would guess the reason we don't have this problem with gcc is because it already 'knows' where to find its C++ bits (where-as we build libcxx separately from clang and so have to point it to the right places via, -isystem or whichever).
The benefit is fixing this at the wrapper (or clang?) level would fix all (current and potential) include'ers of <version> instead of this instance.  And possibly any other conflicts between user code/files and C++ standard library header names, as well (although 'version' is offhand probably the most likely to crop up in a source tree :)).  Additionally, I think we want(ed) to try to separate gcc from libstdcxx (and other runtime libraries) to keep everything working the same way, but I don't know the status of that.

I guess this is a long way to say I'd prefer if we could fix this more completely, but other than the consideration mentioned above I suppose I don't know that there are significant drawbacks to modifying libcxx in the suggested way (don't see how this would break things really, for example).
cc @Mic92 for possible input on addressing this at the cc-wrapper level (thanks! :heart:).

From what I understand, the -I flag is by design allowed to override the system includes, so a change to the cc-wrapper would break that behaviour for all the libcxx includes, unless we move the  to different path.
In ideal situation, upstream or us could patch all the software to not conflict with this  include from C++20, and it might just happen over time if we just leave things as is. But then folks will be getting the compilation errors, and those kind of look weird.
Also, I wonder why we don't see this with libstdc++ yet.


Partial note sections

Would it be possible to have a note with "partial sections"? For example, the plugin would update everything except a list of specified sections, as:
---
id: {{ id }}
updated: {{ updated }}
title: {{ title }}
author: {{ author }}
---

# Summary
This section would not be updated by the plugin.

# Key Insights
This section would not be updated by the plugin.

# Highlights

Hi @martinandrovich, unfortunately this is not currently on the roadmap, but I'd be happy to welcome a PR adding the feature.

@jsonMartin Fair enough! I think a more generic solution (or just an alternative) would maybe be to have a file per highlight within a folder for a given article/book/etc - I think there was an opened issue with a similar suggestion.


docs: Add user guide for Send a message in a different language

Automated message from Dropbox CLA bot
@fazerlicourice7, it looks like you've already signed the Dropbox CLA. Thanks!

@fazerlicourice7, looks great. Left some feedback. Thanks for working on this.

Hi @fazerlicourice7!
Could you address the minor comments before we can merge? Thanks!

@synicalsyntax, that's how my steps were initially, but the docs say that each step should be one individual action, and the mentors pointed that out, so I changed it. But I agree that they should  be more connected.

I think it's reasonable to have "type in X and press enter" be included in a single step; the goal is to keep things clear by avoiding joining multiple steps on different screens.  Maybe we should tweak the style guide to make our intent regarding steps clearer?

Another thought for this particular document -- does it make sense to document this in detail ourselves, or is there a standard 3rd-party document (e.g. the Windows online documentation) that we can link to?  The less text that we're responsible for maintaining, the better, as long as our guides can still solves users' problems well...

Yeah, there is external documentation by Windows and Apple respectfully. I just copied their documentation, I was just under the impression that the less links the better because they might go down/ be moved at any time, and we wouldn't know.

Yeah, that's a fair concern.  We can try this and see how it goes; it may be years before it goes stale.

Merged, thanks @fazerlicourice7!


Functionality to dinucleotide shuffle one-hot inputs and provide one-hot-encoded inputs to deeplift with shuffled reference

Dinucleotide shuffling code can handle either strings of fasta characters or one-hot-encoded sequences.
shuffle_seq_ref_function cam accept a one-hot encoded array in the "input_data_sequences" variable. if the one_hot_func is set to None (the default), the array is assumed to already be one-hot-encoded.

The benefit of this addition is that often the inputs to deeplift will already be one-hot-encoded, so there is no need to decode them to fasta and then re-encode them again within the shuffle_seq_ref_function

Thanks for the feature! made some cosmetic changes and version bumped. I removed the test since the dragonn import was causing the build to fail, but happy to take your word for it that it works, and anyway no older functionality was changed.


Enhancement request: Add to Search a link to a guide

Search filters were added in October 2022, and I still don't really know how to use them.
For instance, today I want to find a comment that I had made by searching for some set of words, and this comment would have been before Jan 2023.
Another post with "refinements" gives more info, in that i would add nym:cointastical to see my own comments.  But this is not intuitive.
A comprehensive guide for search and search filtering would be useful   (just as how for composing comments replies, a link to a guide for markdown is just a click away).

Multiple users (me included) noticed some lacking of UX with the search.
Thanks for the issue, the search definitely needs a rework

Current hidden filters that definitely need to be documented are:

~subname, search within a specific sub
nym:ausersnym, search for items from a certain user
url:aurl, search for certain urls ... currently this is only domain names iirc

These should probably be added to the FAQ @kerooke and we can link to it from the empty search page.


Capture Performance vs Test Name

Right now Java errors if capture performance is set without setting test name, but with the test runners this is set automatically after the session is created, requiring users to set it. We should remove the check in the setter and put it in the capability conversion method.

@titusfortner we should fix this bug, our current Performance example is weird as it's really tough to set a good test name per test as it's implemented in.
   @Override
    public SauceOptions createSauceOptions() {
        return SauceOptions.chrome()
                .setExtendedDebugging()
                .setName("PerformanceTest") // bug - https://github.com/saucelabs/sauce_bindings/issues/267
                .setCapturePerformance()
                .build();
    }

I didn't take a long look, not sure if you know of a work around?


create DateTime before epoch will cause bug. (Windows)

Create a DateTime instance before epoch will cause bug.
There is the smallest testcase.
void main() {
  // assign a dateTime before 08:00:00 (+8)

  // now i'm at +8 timeZone in my country.

  // it is before epochTime.
  var dateTime1 = DateTime(1970, 1, 1, 7, 24, 39);

  // it will print `1970-01-01 15:24:39.000 (8:00:00.000000)`
  _printWithTimeZone(dateTime1);

  // it is equal to epochTime.
  var dateTime2 = DateTime(1970, 1, 1, 8, 0, 0);
  _printWithTimeZone(dateTime2);

  // it is after epochTime.
  var dateTime3 = DateTime(1970, 1, 1, 8, 24, 39);
  _printWithTimeZone(dateTime3);
}

void _printWithTimeZone(DateTime dateTime) {
  print("$dateTime (+${dateTime.timeZoneOffset})");
}

The print result is:
1970-01-01 15:24:39.000 (+8:00:00.000000)
1970-01-01 08:00:00.000 (+8:00:00.000000)
1970-01-01 08:24:39.000 (+8:00:00.000000)

It seems that creates the dateTime before epoch will cause a bug, the result is not expected(1970-01-01 07:24:39.000 (+8:00:00.000000)), It happens when I want to express the timeOfDay by dateTime with epochDate.
os version: Windows11 22H2 22621.2283
dart version: 3.0.5
dart info:
If providing this information as part of reporting a bug, please review the information
below to ensure it only contains things you're comfortable posting publicly.

#### General info
|  Memory | CPU | Elapsed time | Command line |
| ------: | --: | -----------: | ------------ |
| 1655 MB |  -- |              | dart.exe     |
|  113 MB |  -- |              | dart.exe     |
|   15 MB |  -- |              | dart.exe     |
|  281 MB |  -- |              | dart.exe     |
|  542 MB |  -- |              | dart.exe     |
|   11 MB |  -- |              | dart.exe     |
|   78 MB |  -- |              | dart.exe     |

Doesn't reproduce in UTC+1 on Linux, so I'll have to check it on Windows.
I seem to remember something about Windows not providing time-zones before the epoch.
Since the error is exactly 8 hours, so maybe that is it.
And there is an assumption in the code that deduces the timezone offset for a local-date input, that no time-zone change is ever more than two hours.
Which is correct according to the timezone database, but if Windows sets everywhere to UTC before the epoch, there will be larger jumps at that point. That could be the issue.
(It's non-trivial to go from local-time year/month/etc to a DateTime, which contains a msSinceEpoch (UTC) and timezone offset, because you can only ask the OS for the local time-zone offset using an UTC msSinceEpoch, which is what we're trying to find. So it tries to solve for tzOffsetAt(timeSinceLocalEpoch - tzOffset) == tzOffset. That includes some guessing and assumptions to find not only a solution, but the desired solution when there is more than one, and a reasonable answer when there is no solution, both of which can happen around time-zone changes.)

Summary: This is working as intended with the available data.
Windows claims all time zone offsets before 1970 is +0:00, which means that 1970-01-01T07:24:39 does not exist as a local time in a location with a UTC+8 time zone, not with either of the surrounding time zones at the time, +0:00 or +8:00.
Using either would put the resulting time in the range where the other was the correct offset.
So the solution is to use the the point in (UTC) time for 1970-01-01T07:24:39+0:00, assuming that was what was intended,
and apply the +8:00 time zone offset to that UTC time, yielding the 1970-01-01T15:24:39+8:00 seen here.
This does not occur on the web (at least not in Chrome, didn't test others), likely because it uses ICU time-zone data instead of asking the operating system. That ensures consistent cross-operating system behavior.


Work

removed old demos
moved new demos on glitch into src folder

Removed gulp tasks

Linting

updated to 5.0.0

clean commit of publish-glitch w/o
problematic secrets in history

Added express server to top level
Requires explanation w/in server

updated background sync
strategies
precaching
w/ new updateServer.js

incrementing versions

updated precache express server

error handling in publish-glitch.js
fixed error in workbox-core
converted:
workbox-cacheable-response
workbox-expiration
workbox-routing

tested pushing new version

updated:
workbox-google-analytics
workbox-range-requqests
workbox-streams
modified publish-glitch logging

updated final demos:
workbox-broadcast-update
workbox-navigation-preload
workbox-window

Co-authored-by: Jeff Posnick<EMAIL_ADDRESS>to creating a pull request, please follow all the steps in the contributing guide.
Fixes #issue number
Description of what's changed/fixed.

dra

``


How to acquire the file of ' vqa_img_feature_train.pickle'?

How to acquire the file of ' vqa_img_feature_train.pickle'?

Image features are recommended to download  from the LXMERT's  repo or bottom-up attention 's repo,  We reorganized the storage structure of features as
vqa_img_feature_train.pickle{
"image_id":{'feats': features, 'sp_feats': spatial features}
}

The pre-trained LXMERT model expects these spatial features to be normalized bounding boxes on a scale of 0 to 1
The normalized process can refer to the prepare_img.py
we will provide the shell to help generate the pickle file from the original bottom-up attention file further.

I have updated the script to help generate the pickle file from the original bottom-up attention file.

谢谢你的回复，为你的工作点赞！！祝你一切顺利！！
dushanshan
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "AndersonStra/MuKEA"                                                                                @.>;
发送时间: 2022年4月6日(星期三) 下午3:59
@.>;
<EMAIL_ADDRESS>主题: Re: [AndersonStra/MuKEA] How to acquire the file of ' vqa_img_feature_train.pickle'? (Issue #1)
I have updated the script to help generate the pickle file from the original bottom-up attention file.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Check fullscreen is active before exiting fullscreen

I was getting a Document not active error and this fixes it. The change checks that the document is in fullscreen mode and only calls the exit functions if it is in fullscreen.
I am exiting my experiment through a callback, using the 'call-function' plugin. That trial is pushed to the timeline following the fullscreen off trial. I would have figured that would be okay but it kept throwing the error at the end of the experiment.

Thanks very much for reporting this and submitting the fix!

Thanks very much for reporting this and submitting the fix!


[Roots 3] Knife = pickaxe?

I believe because the Knife does not specify a tool type, it uses the default type of a pickaxe, meaning that it is an eligible tool where pickaxes are concerned.

Fixed by assigning a tool class