Boxes extending in right margin with v0.5 (TeX Live 2019)

Starting with v0.5 shipping with TeX Live 2019, awesomeboxes extend in the right margin. Here's a MWE:
\documentclass{article}
  \usepackage{mwe}
  \usepackage{awesomebox}

\begin{document}

\lipsum[1][1-3]
\notebox{\lipsum[2][1-3]}
\lipsum[3][1-3]

\end{document}

Compiling with
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019)

yields

The problem comes from the underlying tabular cells definition. As you can see bellow, whatever margin you use, the array content will be always the same (note the difference between my first and last paragraph, and the fact that the box is always the same).

With the v0.5 we introduce a new customizable length \aweboxcontentwidth which is by default set as \setlength{\aweboxcontentwidth}{0.92\linewidth} (as described in the section 6.2 of the manual). For various reason we had to switch from tabularx to tabular and thus… no more x. In your case, 0.87 seems to do the job:
\documentclass{article}
\usepackage{mwe}
\usepackage{awesomebox}

\setlength{\aweboxcontentwidth}{0.87\linewidth}

\begin{document}

\lipsum[1][1-3]

\notebox{\lipsum[2][1-4]}

\lipsum[3][1-3]

\end{document}

Merci Étienne.
I had read the manual and looked at the source code of the package. After investigating further, I now understand why the boxes extend in the right margin by default (as my MWE shows).
The default columns widths are set to 0.08\linewidth and 0.92\linewidth, which appears to make sense since this totals \linewidth. However, this does not take into account the inter-column space and the rule width. Add all these lengths and you find the amount by which the box/table extends in the margin.
The difficulty, then, is in finding the correct \aweboxcontentwidth that will yield a table of exactly \linewidth. This is precisely what tabularx is good at.
It shouldn't be up to the user to find this length. IMO, the current implementation is not satisfactory and the issue should remain open.

Replacing p{\aweboxcontentwidth} in the table definitions by p{\dimexpr\aweboxcontentwidth-#4-3\tabcolsep} solves the issue.
Of course, the documentation would need to be adjusted accordingly, since \aweboxcontentwidth would now be the content width less the space needed to fit the box in a space of width \aweboxleftmargin + \aweboxcontentwidth.

Hi!
Thank you for your investigations and explanations. I had problems with tabularx and environment creation, and on the other hand and wanted to stay the more homogeneous between simple command and environment implementation. That's why I remove tabularx.
I'll check your proposal later this week and if it's work I'll published them. Until then, I agree this issue should stay open.

I've run into this too and experimented with \aweboxcontentwidth until I found an adequate value. @vigou3's solution is effective and elegant.

Hi all, sorry for being late, I've been busy. I just check your proposal @vigou3 and it seems ok for me. But I must admit I'm not a latex expert and before committing my changes, I would like to understand what I'm doing. Can you confirm that your command \dimexpr\aweboxcontentwidth-#4-3\tabcolsep should be read as this:
Compute (\dimexpr): \aweboxcontentwidth minus fourth parameter (vrulewidth) minus 3 × table cell padding (\tabcolsep)
If it's ok, I'm wondering why you multiply \tabcolsep by 3 and not 4 ? For me the awesome box should look like:
|<---------------------------------- linewidth ----------------------------------->|
|<--------aweboxleftmargin (0.08)-------><--------aweboxcontentwidth (0.92)------->|
|<tabcolsep><aweboxleftmargin><tabcolsep><borderwidth><tabcolsep><--X--><tabcolsep>|

But currently we have:
|<tabcolsep><aweboxleftmargin><tabcolsep><borderwidth><tabcolsep><--X--><tabcolsep>|
|<aweboxleftmargin><borderwidth><tabcolsep><tabcolsep><tabcolsep><tabcolsep><--X-->|
|<aweboxleftmargin><------------------aweboxcontentwidth (0.92)------------------->|

Thus, X = aweboxcontentwidth - (4 × tabcolsep + borderwidth)

After some thought, I purpose to do the following. Replacing the line:
{p{\aweboxleftmargin}!{\color{#1}\vrule width #4}p{\aweboxcontentwidth}}

by
{p{\dimexpr\aweboxleftmargin-#4-2\tabcolsep}!{\color{#1}\vrule width #4}%
 p{\dimexpr\aweboxcontentwidth-2\tabcolsep}}

With the following default values:
\setlength{\aweboxleftmargin}{0.12\linewidth}
\setlength{\aweboxcontentwidth}{0.88\linewidth}

The new semantic is that both \aweboxleftmargin and \aweboxcontentwidth are the size of the boxe component including the cell paddings and that the border width is integrated in the left margin component. Or the following schema:
|<---------------------------------- linewidth ----------------------------------->|
|<-------------aweboxleftmargin (0.12)---------------><-aweboxcontentwidth (0.88)->|
|<tabcolsep><aweboxleftmargin><tabcolsep><borderwidth><tabcolsep><--X--><tabcolsep>|

Do you agree that?

You're correct about the interpretation of the command: \dimexpr computes a length.
I don't recall exactly why a put 3\tabcolsep instead of 4\tabcolsep. Probably trial and error. :-) Now that a look at it again closely, it still wasn't 100% correct.
Personally, I would like the right side of awesomeboxes to be aligned on the right margin of text. That is: no padding or anything in the table cell. Your proposed solution does not achieve this in my tests.
I think it would be simpler to remove padding on the left of the first cell and on the right of the second cell, like this:
{@{}p{\dimexpr\aweboxleftmargin-\tabcolsep}!{\color{#1}\vrule width #4}%
       p{\dimexpr\aweboxcontentwidth-#4-\tabcolsep}@{}}

One rationale (other than cosmetic): users should not have to know that the box in set up in a tabular and, therefore, that is normal to have an indent of \tabcolsep on the left and on right.
One could prefer that the box symbol be centered in the left cell. I don't have a strong opinion one way or another, but I probably prefer the centered version. To center the symbol, we should use instead as tabular declaration:
{@{}>{\centering\arraybackslash}%
 p{\dimexpr\aweboxleftmargin-\tabcolsep}!{\color{#1}\vrule width #4}%
 p{\dimexpr\aweboxcontentwidth-#4-\tabcolsep}@{}}

P.S. Don't forget to make the changes also in the environment API.

P.S. Don't forget to make the changes also in the environment API.

How about a pull request so that we may review your proposed changes?

Hi all, I just pushed some new commit addressing this issue. Can you try this new version and check if it's ok for you?
I take the liberty to change the old \aweboxleftmargin and \aweboxcontentwidth behavior: instead of having dimension, we now just have variable (defined or customized with \def. That's because even with the proposed changed, as \aweboxleftmargin was computed once for all at the beginning of the document, we still have overflow in list environment, minipage or elsewhere. With this change (number instead of dimension) we are sure the generated boxes will always keep to the current \linewidth.
Even if I don't make a PR (sorry @georgerbr I only see your comment now :/ ), I'm still open to review and comment :)

Good catch the fact that aweboxleftmargin and aweboxcontentwidth would be computed once and used throughout the document, generating overfull hboxes if the awesomebox is used inside another environment!
However, I don't think the proposed interface is a good choice for two reasons:

it is quite unusual in LaTeX to define parameters as merely fractional values;
even not so long ago, I was very reluctant (afraid?) as a LaTeX user to use plain TeX primitives like \def.

My proposal would rather be to add two more (!) optional parameters to \awesomebox to control what I'd call iconwidth (instead of leftmargin) and contentwidth, with default values 0.12\linewidth and 0.88\linewidth, respectively. That way, these values are computed each time a box is constructed and the widths adapt to the surrounding environment.
The declaration of the command would go as follows:
% \awesomebox[vrulecolor][hrule][title][iconwidth][contentwidth]{vrulewidth}{icon}{iconcolor}{content}
\NewDocumentCommand \awesomebox { O{abvrulecolor} O{} o O{0.12\linewidth} O{0.88\linewidth} m m m +m }{%

The numbering of arguments with a value > #4 in the definition need to be adjusted accordingly. Tested here with a hacked version of awesomebox.sty and it works A1.

I'm not very fund of infinite arguments. After some researches, I revert some of my changes to stick with the old API. \aweboxleftmargin and \aweboxcontentwidth are now expected to be expressed as a "best case scenario" (plain page) length. After that, each time a box is built, I just test if the current linewidth is the same than the reference one and adapt \aweboxcontentwidth accordingly for this box. I now provide a test.tex document in this repository to check various box situations.
Furthermore, I found some incompatibility with package such as geometry. To avoid problem, \aweboxleftmargin and \aweboxcontentwidth are now computed in a \AtBeginDocument block and thus their customization are expected to take place only after \begin{document}.
I think my last commits answer definitely this issue. Is it ok for you too?

Looks great!
Just replace "thiner" with "thinner" in https://github.com/milouse/latex-awesomebox/blob/d5849b29715fcbfc423b4b335dbacd11da726700/awesomebox.tex#L432

Well, to paraphrase Spiderman: «with great control comes great number of arguments». :-D
The current version overflows in the right margin. Compiling test.texwith either with either pdftex of xetex yields, e.g.:
Overfull \hbox (2.22pt too wide) in paragraph at lines 17--17

I observed the same thing with my own test file. Loading geometry or not makes no difference.

That was mainly cause by the lorem package and latin words, which are badly hyphenated. I add \usepackage[latin]{babel} to mitigate it a little. The other little cause was whitespace left in command definitions.
Test and doc now compile without such warnings.

I confirm that everything looks fine.
Merci Étienne!

Great!
In case anyone is interested in using the package with Overleaf -- at the moment they use TeX Live 2016 and don't have the fontawesome5 package but do have fontawesome --, I've attached the .sty file I use for my personal project.
awesomebox-tl16.zip

Thank you very much for your reviews. I'll tag and release the new version ASAP.
@georgerbr it's a really good idea. I've copied your .sty file in that repository as a new package awesomebox-compat and write about it in the README and the doc/test document.


WIP: updates messaging for creating sites and error messages

- Summary
Based on feedback from our CLI call. This PR improves the messaging when you create a site through the CLI and when that command fails.
- Test plan

- Description for the changelog

Modifies the messaging to include the idea of a global site creation failure rather than a local one. Users will be confused when the site creation fails based on the name if the name is not outright determined to be a global conflict.
- A picture of a cute animal (not mandatory but encouraged)

I didn't want to include another library in package.json BUT I didn't want to create a new util file because that didn't exist yet, and since importing lodash.sample only adds that one method.

Makes sense to me!

🐑


Adding weave plugin to prerequisites.

Some minor doc updates

Already done by @gavrie in a concurrent PR.


fixed Merger bug related to finding free bucket

Coverage increased (+0.07%) to 86.136% when pulling 286cb6859d5de14a95286879608f79298a402a42 on narek-cliqz:merger_64bit_offset into 32239b32fb190abe2ad2f38fe9e9588a5cc48dfb on cliqz-oss:master.

LGTM


Issue with file names

I am using this to download a specific file type (its a text file with parameters) that isn't really accounted for, although it refuses to save the file name; "Date InvalidName.asm" Is there a way to get it to correctly grab the name?
Edit; I checked the original program and the same exact thing was happening. It seems to be a MIME mismatch. I am not sure how to get this file type to properly download though, any help would be appreciated.

@macarooni-man Can you give me an example filename it would have, so I can try and replicate it for testing?
It only uses InvalidFilename if it doesn't detect the input as a filename with regex, so it's weird that it's doing that.

Yeah for sure, I'll give a more detailed description. So essentially the file type I am using is a preset file for a VST plugin, it just loads the settings of the synth with a list in a text file with the extension ".vital". I modified the source code of the original program to allow it to download the patch from discord and it did the same thing with that one too. Here's what is happening with my modified version of the original;

With your version;

It's interesting because it saves the file in a working state. I wrote a PowerShell script that loops in the output folder to change the file extension while that program is open and the presets work, it's just that the name isn't saved (so jank LOL). But anyway I read through the code and it looks like the issue lies somewhere around line ~1020. I am not new to programming but I have no idea how to use golang syntax haha. Thanks for your help.

I believe I have fixed it, I took a peek into the regex file and I found this;
REGEXP_FILENAME = ^^[^/\\:*?"<>|]{1,150}\.[A-Za-z0-9]{2,4}$$
The last part {2,4} I guessed that it was a limit for the file extension in characters and voila I bumped the 4 up to 5 and it works fine. I don't know how many file extensions actually have 5 characters but maybe it's something to consider.

@macarooni-man So changing the max to 5 completely fixed your issue?

Yeah for sure

Glad you figured it out! I changed it to 2,5 for the next release.

I just hit the same problem. I would recommend to completely remove the limits for file extensions because file extensions doesn't follow any pattern.
Here is a list of many known file extensions: https://en.wikipedia.org/wiki/List_of_filename_extensions
Here some examples for common file extension:

.c--/.h--
.c++/.h++
.dochtml/.docmhtml/.dothtml
.torrent
.unitypackage
.vbox-extpack

I just hit the same problem. I would recommend to completely remove the limits for file extensions because file extensions doesn't follow any pattern.
Here is a list of many known file extensions: https://en.wikipedia.org/wiki/List_of_filename_extensions
Here some examples for common file extension:

.c--/.h--
.c++/.h++
.dochtml/.docmhtml/.dothtml
.torrent
.unitypackage
.vbox-extpack

https://github.com/get-got/discord-downloader-go/commit/5559230207ceab7030f39b206f7db9d9cc0502d7


Investigate optimal zk parameters

We need to spend some time going through our parameters and the overall data commitment design to investigate potential changes that would make Celestia more zk friendly.

Is this still ongoing @rahulghangas? can we close this?


Popup view frame is not centered when device orientation is horizontal

When running the example project in the PopupView library and turning the device horizontally, the popup view's frame is not centered on the screen

Hey @nazar-velkakayev, thanks for bringing this to my attention. Please check out version 2.3.1, should be fixed there. Please feel free to reopen if the issue persists, and be sure to have a marvellous day!

Hi @f3dm76 . Same problem with this type popup:
`        .popup(isPresented: $present) {
Rectangle()
.fill(.red)
.frame(height: 200)
    } customize: {
        $0
            .type(.floater(verticalPadding: 0, useSafeAreaInset: false))
            .position(.bottom)
            .closeOnTapOutside(true)
            .backgroundColor(.black.opacity(0.4))
    }`

Hey @nazar-velkakayev, could you please try version 2.5.1? Please do let me know if you notice anything else, have a great day!


Add logger

This PR adds a new submodule, apify.log, and in it a logger, which is just a standard logger from the logging library, with name apify as per best practices for Python logging. It also makes it available under the Actor.log property, for convenience.
The main magic happens in the ActorLogFormatter, which is a log formatter that consumes the logging messages, and formats them so they are pretty:

The log formatter and handler is attached in the actor setup, so in the __main__.py file. We'll have to put the setup in all the Python actor templates so that it's applied in the actors by default.
The integration tests and unit tests might be too strict, and any slight change might break them, so if it happens too often, we can rewrite them a bit.

For some reason, just one test is failing. @fnesveda


Global Secrets - not accessible during build

Hello,
I would like to be able to use global secrets (those specified in PLUGIN_PARAMS) during the build and image pull phase (specifically, so I can use them in the auth_config and not have to store the same GCR token in the drone.sec file on all my projects). Currently these are only accessible at the plugins phase (works well for the slack webhook URL for example).
Is this something that might be possible in the future? The name PLUGIN_PARAMS suggests they are specifically for plugins, so it does kind of make sense, but it would be great to be able to specify global secrets that can be used in all phases and not just plugins.
Thanks a lot

Currently these are only accessible at the plugins phase

This is partially true. Global secrets are available to all sections of the yaml for private repositories, but only available to plugins for public repositories. This is for security reasons to prevent a malicious pull request from exposing your secrets.
Either way this is covered by https://github.com/drone/drone/issues/1538#issuecomment-201403419 which gives you direct control over when secrets are injected. Let's merge with and track #1538 going forward

@bradrydzewski That makes a lot of sense! Thanks! Should I expect it to work on Pull Requests on private repos?


wrong base / volume correspondence

in https://github.com/OpenPecha/P000525 layer v001 is associated with bdr:I1KG2126 (volume 1), while it's in fact the OCR of bdr:I1KG13691 (volume 11). Given that we have the Google OCR of each image it's probably easy to recover which volume should be associated with which base layer

sure, I will have @ta4tsering look over it

I will correct the volumes and ocr the missing volumes from 13 to 33

let's close this and expect it will be fixed in the next OCR reimport round


Custom colour assignments

When we have support for more wavelengths (e.g. #11, #12), it would be nice to be able to assign these to a specific colour in the resulting image (e.g. X-ray -> blue, visual -> green, IR -> red or combinations thereof, as done in combined observations of Spitzer/Hubble/Chandra).
This is probably too complicated for a command-line interface, so maybe we should be looking to do this in a parameter file or from a GUI.

you could, for this you need the skip the mapping from filters to perceptual colors (as its meaningless in that case)..I think one nice thing to do before expanding the wavelength range is to test the resulting images for narrow line sources (Halpha, nebular lines)..it should already work in that case..but is different from broad spectral distributions used until now...

Yes, I’d like to add narrowband filters in a future version (probably before implementing this issue). Support for spectral lines (working on that) is probably even more important.


After migration from Hermes to aion and upgrade to MW 1.33.0 queries some substance queries fail

A prior issue (#25) documented this breakage as being related to pagination.
Further investigation showed certain substances trigger malformed data being returned by the root api.

Fixed by https://github.com/psychonautwiki/bifrost/compare/d3e66faff0009fcbf8e23c266938fc4671ace211...3634f3eafd3ba3855a9432cce2c36084f2eb9596. Replaces GraphQL platform, general refactoring and fixed request layer.


New more flexible page type

It has been raised that it would be useful to have a richer page type than our usual "dataUse", "news" etc.
This is an attempt to clarify what that could look like
A Contentful model could be
COMPOSITON:
blocks [FeatureBlock, HeaderBlock, MarkdownBlock, HeroBlock] // on or more of a list of allowed block types - these will not influence search results
title: string // for <title> element which shows on tab and will be used for search
description: string // for <description> element which shows when e.g. facebook link to the page. Also used in search.
searchable: boolean // the usual we have on all items - include in search results or not

FeatureBlock: // Based on https://github.com/gbif/portal16/issues/573#issuecomment-815785980
title: string
features: [feature] // a list of features that will show as a block

HeaderBlock: // similar to the headers on news etc.
title
summary
primaryImage

ProseBlock:
body

HeroBlock:
image: Asset
title: string
summary: string
links: [url] ? // for action buttons?

That would allow for building something like below where A: HeaderBlock, B. ProseBlock and C: FeatureBlock

The main challenge with this is search. It would require a fair bit of work I think. Since the core item have no content (and we rely on that for our current approach)

I would like to know

Is this idea of building a page composed of blocks what we want?
What block types do we need?
What need are there for these pages to be found through search? We can add the option for keywords (like we have elsewhere), but the pages themselves do not have any content beyond that as they are just a set of references.

Regarding search, all things being equal, I had expecting that keywords (which we already use very sparingly) would provide the means of surfacing these.

My suggestion here:
Necessary blocks

Title (required)

Summary (not required)

Feature bar (4x desktop | 2x tablet | 1x mobile)

Title (optional)
Prose block (optional)
Features (mandatory)

Add feature strip(s)

Could we have some simple metadata on the core item to help search?

We could have a normal body and summary field. It just feels a bit weird not to show it then. And it also makes for a somewhat convoluted model to have some self-referential pointer to insert self as a block which was the only other option I could come up with.
If you have another model in mind @dnoesgaard then please suggest it, the suggestion of mine is far from perfect. But it is fairly simple.

I don't know what the best solution is, search-wise, tbh.
I agree with the composition model that allows you to add x numbers of blocks of different types in a desired order. I like the idea that nothing is mandatory in the composition itself model and that you can add several blocks of same type. Would that make sense?
We can then also define new block types later on, if need be?

The challenge is really search I think. And even if we changed the way we do search to include referred children, then it wouldn't be clear which children to include - it would be odd for example to return results based on the content of the featured articles or even their titles (since the real content of those are indexed and available elsewhere).
The simplest solution I can come up with is keywords and a description text (which we will use for meta tags as well). I imagine that these landing pages are also more about using them in menus and direct links, than to have them appear in search.

Ah I think I see what you mean. Like Composition A contains a feature block with links to news item A, data use B, event C—should searches matching data use B then return composition A?
Again, I'm not sure what the best solution is—but I think we should start simple and see where we can go?

(happy to help try to set up the content models)

(happy to help try to set up the content models)

Sounds good - I've updated my suggestion above with what we have discussed in this thread. If you create the model in dev and add some test content, then I can afterwards add it to the index and create the UI

I've got a bare-bones model ready now with a single entry:
https://app.contentful.com/spaces/qz96qz790wh9/entries/4rxRvuCY1Zoi1UXL1ZrJol
I can't remember if the crawler needs to be updated in order to index new content types?

Note, I've allowed featureBlock to contain the same content type as the feature set on the homepage.

Based on your content example I've implemented https://www.gbif-dev.org/composition/4rxRvuCY1Zoi1UXL1ZrJol/my-first-composition.

Hero
I didn't include the hero type, as I wasn't sure what was intended with the fields. Could you make a mock of what you imagined? How are the links intended to be used? As highlighted action buttons?

For Hero, perhaps something like this?

Perhaps we don't need two text fields and I guess only one link really makes sense?
We could also add a left/right switch for the text block?
Thoughts?

Btw, the implementation looks great and works like a charm!

yeah, super to see this progress @MortenHofft !

@dnoesgaard so when you say Hero you do not mean those full width background images with some floating text?
In the above example it looks like it is an image with same width as the text - so it appear almost like an inline images?

Yeah, it looks like that because that's how I did the mock-up. But I'm actually not quite sure about the width of the image.
@kcopas?

I also noticed that the hero in the contentful item is placed mid page. I would normally think of a hero as a header. It can be used elsewhere of course, but then the header is typically at least as heroic I would think? So before implementing anything, it would be nice to have it clarified.

Please ignore the placement. The mock-up was just to illustrate the floating text and call-to-action button.

Maybe "hero" is the wrong name here. I think the true hero is the image that goes with the header block (full-width for available viewport).
Daniel's mock-up aligns with what I had in mind for being able to provide some visual variety and relief (as well as secondary emphasis—an image masquerading as h2/h3, if you will) to a composition page made up largely of multiple feature blocks. Making it clickable reinforces its utility in such a setting…

I've updated the page https://www.gbif-dev.org/composition/4rxRvuCY1Zoi1UXL1ZrJol/my-first-composition2
It just uses the feature row and adjust the layout depending on the number of features added per row.
For smaller devices it just stacks it all and for mobile it removes images (hoping that it will load faster)

@MortenHofft this looks fantastic! So, reading between the lines in contentful, the way you've added greater flexibility is by keying the various display modes based on whether there are 1, 2, 3 or 4 features in the feature block—is that right?
Can't wait to field test it (but I have to)…

Yes - so a feature block should contain 1-4 items. And it just show them on one line (styling them a bit differently depending on count). If on a  tablet then 4 items is wrapped to 2x2. If mobile then it is all just a stacked list.
Other types
That doesn't mean we couldn't have more types. E.g. another semi-full-width-hero-like-card with more options (say link buttons and left/right switch as @dnoesgaard mentioned)
@kcopas you also mentioned the desire to have image only and text only. If that is still the case, then we need to change the content model as image and title is both required for features. @dnoesgaard could you add a new contentType or relax the constraints on the existing Feature contentType depending on what you prefer?

This is awesome!

I noticed that you can have more than 4 features in a feature block—the UI simply adds another row. Should we keep this? Or should I restrict featureBlock to 1-4 features?
I'll wait for @kcopas to elaborate before changing anything. Image/text only could easily be done in textblock?
Seeing the featureBlock with a single full-width feature, I'd love to have some flexibility in regards to the floating text, i.e. width and alignment. Ideas?

Another small thing: I think we still wanted the option for Summary to be shown in headerblock, right @kcopas?

Another small thing: I think we still wanted the option for Summary to be shown in headerblock, right @kcopas?

Yes, please.

The field has been renamed in the Contentful model it seems (it used to be description unlike the usual summary). I've update the code accordingly.

Have we used description previously?

I think so. I can see in my code that I have renamed a standard component from summary to description. But I might have lost my mind. But I guess that is what the dev environment is for.

I'd like to propose that we merge this and deploy to prod. It's gone from dev and we're probably going to have to start using it with real content for us to be able to iron out any other kinks and make further developments. Being a new content type, it shouldn't affect any existing content either.
@MortenHofft, what do you think? I can start copying over the content model in Contentful...

If you are happy with it, then yes please port to prod cms. thank you.

Done.
test entry:
https://app.contentful.com/spaces/uo17ejk9rkwj/entries/3fvWSwDCj8tZBpRFiWC8QQ
https://www.gbif.org/composition/3fvWSwDCj8tZBpRFiWC8QQ

in prod, uat and staging. If the need for changes appear, then feel free to create a new issue.


Bumped production RELEASE for 1.18-15

Bumped production RELEASE for 1.18-15
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/unhold


Test coverage

Some tests don't quite cover everything they should, eg. testClaimReturns does not check that the claim's approver name is set.

Added some tests to test for the approver's name.
Can anyone else find any potential tests which haven't been implemented?


Avoid constraint problems when migrating to the new processing engine

Context: https://github.com/backstage/backstage/issues/5869#issuecomment-853245380
Considered dropping the constraint itself, but there's no need really before we do the cleanup migration that also drops the tables etc.

Sure, added a blurb about that.

superseded by #5898


More hub centric docs

Let's have more hub-centric documentation in the datasets docs
Tutorials

Add “Configure the dataset viewer” page
Change order:

Overview

and more focused on the Hub rather than the library

Then all the hub related things

and mention how to read/write with other tools like pandas

Then all the datasets lib related things in a subsection

Also:

Rename “know your dataset” page to “Explore your dataset”
Remove “Evaluate Predictions” page since it's 'evaluate' stuff (or move to legacy section ?)

TODO:

[ ] write the “Configure the dataset viewer” page

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Yea I think some of it should be in the Hub docs indeed, let me open a new PR there.
Then I'll update the datasets docs anyway to avoid redundant stuff and add redirects instead


The new transaction autocomplete behaviour in develop may have usability problems

I've had some confusion with the new transaction autocomplete function based on templates and I think it make bring some usability problems.
I've been looking for advantages of the new system, but the only I can think of is that now the user can select which transactions will appear in the autocomplete llist. This makes the list smaller and saves typing.
However, I see some disadvantages:

When the user upgrades she'll have to either edit each transaction and check the option for it to appear in the dropdown or she'll have to type again these transactions.
Requires more interaction from the user. In addition, she now has to scroll to the end of the form and check the option.
The user must know the option exists. Taking into account that it's at the end of the form and, provably below the fold, makes it more difficult for the user to discover it.
The user may not relate the "Save as template" with the autocompletion. In my case I didn't relate it until I looked at the code.
The user may forget to check the "Save as template" option. He'd have to edit the transaction again to check the option or remember to check it when he enters the transaction again the next time.
The behaviour is different from that of other applications and from previous versions of GnuCash. This can confuse users that expect the previous behaviour [1](point 3) and think (like me) that it's a bug. I can't think of any application where the autocomplete entries of a form are explicitly selected by the user.
The option adds more clutter to the interface. In my opinion, GnuCash should strive to have simpler screens instead of adding more options.
If the user decides he no longer wants the transaction to appear in the dropdown, it may be difficult for him to find the one he marked as template.

Is there any other problem that the new behaviour solves apart from the number of transactions in the autocomplete dropdown? I there isn't, I'd rather go for improving the quality of the entries. For example, listing at the top the ones matching from the same account, the more recent, avoiding duplicates, etc.
Right now, in the worst case, the user just has to continue typing some more to filter out the unwanted entries.

In truth, I like the concept of the change, but the real nice thing it
would allow is to have a new widget to jump directly into adding a
transaction with an specific template, and then after that notifications
coming predicting transactions, mostly expenses, that are regular (like
lunch meals) but may vary on amount, and allowing to add from the
notifications if the amount is the same...
Just presenting the idea. Later I'll try to open specific issues and maybe
send some PRs.
Rafael Teixeira
O..:.)oooo
On Thu, Apr 9, 2015 at 3:33 PM, Àlex Magaz Graça<EMAIL_ADDRESS>wrote:

I've had some confusion with the new transaction autocomplete function
based on templates and I think it make bring some usability problems.
I've been looking for advantages of the new system, but the only I can
think of is that now the user can select which transactions will appear in
the autocomplete llist. This makes the list smaller and saves typing.
However, I see some disadvantages:

When the user upgrades she'll have to either edit each transaction
and check the option for it to appear in the dropdown or she'll have to
type again these transactions.
Requires more interaction from the user. In addition, she now has to
scroll to the end of the form and check the option.
The user must know the option exists. Taking into account that it's
at the end of the form and, provably below the fold, makes it more
difficult for the user to discover it.
The user may not relate the "Save as template" with the
autocompletion. In my case I didn't relate it until I looked at the code.
The user may forget to check the "Save as template" option. He'd
have to edit the transaction again to check the option or remember to check
it when he enters the transaction again the next time.
The behaviour is different from that of other applications and from
previous versions of GnuCash. This can confuse users that expect the
previous behaviour [1]
http://www.nngroup.com/articles/the-top-ten-web-design-mistakes-of-1999/(point

and think (like me) that it's a bug. I can't think of any application
where the autocomplete entries of a form are explicitly selected by the
user.

The option adds more clutter to the interface. In my opinion,
GnuCash should strive to have simpler screens instead of adding more
options.
If the user decides he no longer wants the transaction to appear in
the dropdown, it may be difficult for him to find the one he marked as
template.

Is there any other problem that the new behaviour solves apart from the
number of transactions in the autocomplete dropdown? I there isn't, I'd
rather go for improving the quality of the entries. For example, listing at
the top the ones matching from the same account, the more recent, avoiding
duplicates, etc.
Right now, in the worst case, the user just has to continue typing some
more to filter out the unwanted entries.
—
Reply to this email directly or view it on GitHub
https://github.com/codinguser/gnucash-android/issues/309.

@rivaldi8 Thanks for the feedback.
I agree with you that there is utility in providing auto-complete with all the transactions in the database (that's why I put the feature there in the first place).
Maybe it could be eventually improved with some of the enhancements you mention.
That said, there are a few things to consider:

Firstly, transaction templates have a lot more uses than just for auto-complete, e.g. scheduled actions, the widget (as @monoman mentioned) etc. So they're here to stay.
Also, note that the templates feature as it is now in the develop branch is not complete and of course there will be UI for users to edit and/or delete templates.
I disagree that this is fundamentally different from the expected use of an auto-complete box. Yes, it may break the expectations of existing users but I've had more complaints than positive feedback about the feature as it is now.
I also disagree that it clutters the interface. Otherwise everything since amount & description fields can be considered clutter as well. I don't think so.

Development is ongoing so we might revisit the auto-complete feature again if we find ways to improve what it is now. Thanks for highlighting this issue!

Updated code to include both templates and existing transactions, while improving the selection and display of suggestions. Let me know what you think @rivaldi8

That was fast! I like it very much the way the autocomplete appears now. In my opinion improving the autocomplete suggestions is the way to go. Most of the time I enter transactions one-handed while walking on the street, so any additional interaction is a big pain for me.
The widget mentioned by @monoman was the way I expected the templates feature to work. That's because I got confused when the autocompletion stopped working.
By the way, sorry if I've complained too early on an unfinished feature. I'll better wait for the beta the next time :)

It's alright, feedback while development is ongoing also helps shape the direction of the future release.
Keep it coming! :+1:


[456] (Part 4) Read from UserPermission

Context

This trello ticket

Changes proposed in this pull request
You will need to run a rake migration to turn all organisation users into user permission to see publish working correctly

[x] Fix broken specs
[x] Flip app to use UserPermission
[x] AccessRequestApprovalService writes to both join tables for time being
[x] Write specs to validate the above

Guidance to review
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[ ] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 Dual running UserPermission along with Organisation

 (Part 4) Flip the join table and read from UserPermission

In addition to rebasing, perhaps we should squash these commits too. We won't be losing much in the way of commit message detail, and it might make a revert easier to manage if we need to back this change out for whatever reason.


returned  date incorrect caused by TZ rollover

Reporting an issue
Thank you for taking an interest in rrule! Please include the following in
your report:

[X ] Verify that you've looked through existing issues for duplicates before
creating a new one
[X ] Code sample reproducing the issue. Be sure to include all input values you
are using such as the exact RRule string and dates.
[X ] Expected output
[X ] Actual output
[X] The version of rrule you are using
[x] Your operating system
[x ] Your local timezone (run $ date from the command line
of the machine showing the bug)

os info
uname -a
Linux sams 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy

local tz, America/Denver
Wed Dec 13 01:40:55 PM MST 2023
sample code
const RRule=require("rrule").RRule
const datetime= require("rrule").datetime;
const Log=console

	let rule = new RRule({
		  freq: RRule.WEEKLY,
  	           interval: 1,
                  byweekday: [RRule.WE],
		  dtstart: 	datetime(2023, 12, 14, 00, 15, 00),  //20231206T171500
		  count: 5,
		  tzid: 'America/Denver',
		})

	let results=rule.all()
	console.log("all dates="+JSON.stringify(results,null,2))

results
all dates=[
                                                    // because of the wrong date, todays event is clipped off 2023:12:13T17:15:00 MST
  "2023-12-20T00:15:00.000Z",  // this is tuesday 2023-12-11T17:15:00 in local tz, not wednesday
  "2023-12-27T00:15:00.000Z",
  "2024-01-03T00:15:00.000Z",
  "2024-01-10T00:15:00.000Z",
  "2024-01-17T00:15:00.000Z"
]

from package,json
{
  "name": "rrule",
  "version": "2.8.1",

remove tzid no change

Basically this library is full of footguns because it tries to rely on bare Date object and stores everything in utc. If it use moment or analog it would be like 4x smaller and cleaner. So this is it. Number of issues says it all.

@Reeywhaar general  criticism is not helpful. you are welcome to show your talent and provide a better solution. I don't have time or the inclination
our app uses an ICS parser that uses this library. and I support the calendar component, so I'm sorta stuck.

here is my fix :
`
from dateutil.rrule import rrulestr
from datetime import datetime
import sys
inputtime = sys.argv[1]
rules = sys.argv[2].split("RRULE:")[1]  #
start = datetime.fromtimestamp(float(inputtime)/1000)
ruleObj = rrulestr(rules, dtstart=start)
next = ruleObj.after(datetime.now())
print(next.isoformat())

const response = spawnSync(python, [join(__dirname, "rrule.py"), ${isoOffsetString}, rule], { encoding: "utf8" })
return new Date(response.stdout.trim())
`
works liek a charm 🤣 (sry i just spent half a day on this )

I'm sure this library can do a lot of things. Creating date recurrences that respect timezones and daylight saving times unfortunately isn't one of them. If you want to do this, you've picked the wrong tool.
Anyone who ends up here, might want to check out rschedule. It comes with adapters for many popular date libraries, such as moment.js and Luxon, as well as vanilla JS Date. It doesn't see much activity and documentation isn't exactly exhaustive, but from the few usage examples and the codesandbox one will quickly figure out how to use it. It sports a modular approach and pluggable features, such as JSON and iCal support.
Hope this helps.


Show post just posted on new post page

It does it now but the format needs to match the post page

It does this already.


Console DI Example does too many things

(Unconnected feedback - a general problem here is that clicking feedback goes to this page on the same tab, so you can no longer see the page you are sending feedback on. It would be better to open a new tab.)
This example appears to be doing too many things :-

It shows how to use DI in a console application
It explains Singleton, Scoped and Transient
It does other things I don't understand

In addition :-

It uses I think a substring of a GUID. Better to think of something better ?
It uses DefaultImplemenation.cs to add OperationId and MUCH better to add to the interface files individually
OperationLogger.cs would be MUCH better if it did not try to do everything

Whoever wrote this is clearly very competent, but good documentation, and I can remember the early days of Microsoft when documentation was truly terrible, means editing out all the clever stuff, and leaving something so simple that anyone could understand it, like me.
Remember, users looking at documentation will NOT understand the subject they are looking up. That is why they are looking it up. Make it as easy as possible for them to understand the subject.

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

ID: a4eb702a-d75f-f780-aef1-2e858e14258f
Version Independent ID: 9a183e07-d5fd-1de9-796d-3bc77f07e033
Content: Use dependency injection - .NET
Content Source: docs/core/extensions/dependency-injection-usage.md
Product: dotnet-fundamentals
GitHub Login: @IEvangelist
Microsoft Alias: dapine

Associated WorkItem - 58190

I agree this example page is WAY too complicated and if some aspiring C# dev decided to ditch C# for Python afterwards, call me surprised.


Travis: jruby-<IP_ADDRESS>, skip gem update --system - it is done by rvm

This PR updates the CI matrix to use latest JRuby.
http://jruby.org/2017/11/08/jruby-9-1-14-0.html

This version is EOLed. I'm going to update this shortly.


mec172xevb_assy6906: tests/drivers/i2c/i2c_api  i2c_test failed

Describe the bug
when running the zephyr test case "tests/drivers/i2c/i2c_api", the UART output has a "PROJECT EXECUTION FAILED"
Please also mention any information which could help others to understand
the problem you're facing:

What target platform are you using?  --> mec172xevb_assy6906
What have you tried to diagnose or workaround this issue?  --> tried several times and the fail rate is 100%

To Reproduce
Steps to reproduce the behavior:

source ~/set_env_mec172x.sh      //content printed in "Additional context"
west build -p always -b mec172xevb_assy6906 tests/drivers/i2c/i2c_api
west flash

Expected behavior
The test should pass
Impact
Failed to run this test case.
Logs and console output
picocom v3.1

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        :
omap is        :
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready
*** Booting Zephyr OS build zephyr-v3.0.0-1212-ga5b33f89b729  ***
Running test suite i2c_test
===================================================================
START - test_i2c_gy271
Cannot get I2C device

    Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/i2c/i2c_api/src/test_i2c.c:154: test_i2c_gy271: test_gy271() == TC_P                                                                   ASS is false

 FAIL - test_i2c_gy271 in 0.15 seconds
===================================================================
START - test_i2c_burst_gy271
Cannot get I2C device

    Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/i2c/i2c_api/src/test_i2c.c:159: test_i2c_burst_gy271: test_burst_gy2                                                                   71() == TC_PASS is false

 FAIL - test_i2*** Booting Zephyr OS build zephyr-v3.0.0-1212-ga5b33f89b729  ***
Running test suite i2c_test
===================================================================
START - test_i2c_gy271
Cannot get I2C device

    Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/i2c/i2c_api/src/test_i2c.c:154: test_i2c_gy271: test_gy271() == TC_P                                                                   ASS is false

 FAIL - test_i2c_gy271 in 0.15 seconds
===================================================================
START - test_i2c_burst_gy271
Cannot get I2C device

    Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/i2c/i2c_api/src/test_i2c.c:159: test_i2c_burst_gy271: test_burst_gy2                                                                   71() == TC_PASS is false

 FAIL - test_i2c_burst_gy271 in 0.16 seconds
===================================================================
Test suite i2c_test failed.
===================================================================
PROJECT EXECUTION FAILED

Environment (please complete the following information):

OS: Ubuntu 20.04
Toolchain: zephyr-sdk-0.13.2
Commit SHA or Version used: 4a0e3529ba217c1a623db2b4bc922b45768d5679

Additional context
build and flash logs for reference (looks normal)

ztest@ztest-NUC11PAHi5:~/zephyrproject/zephyr$ west build -p always -b mec172xevb_assy6906 tests/drivers/i2c/i2c_api
-- west build: making build dir /home/ztest/zephyrproject/zephyr/build pristine
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /home/ztest/zephyrproject/zephyr/tests/drivers/i2c/i2c_api
-- Found Python3: /usr/bin/python3.8 (found suitable exact version "3.8.10") found components: Interpreter
-- Cache files will be written to: /home/ztest/.cache/zephyr
-- Zephyr version: 3.0.99 (/home/ztest/zephyrproject/zephyr)
-- Found west (found suitable version "0.12.0", minimum required is "0.7.1")
-- Board: mec172xevb_assy6906
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.13.2 (/home/ztest/zephyr-sdk-0.13.2)
-- Found dtc: /home/ztest/zephyr-sdk-0.13.2/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6")
-- Found toolchain: zephyr 0.13.2 (/home/ztest/zephyr-sdk-0.13.2)
-- Found BOARD.dts: /home/ztest/zephyrproject/zephyr/boards/arm/mec172xevb_assy6906/mec172xevb_assy6906.dts
-- Generated zephyr.dts: /home/ztest/zephyrproject/zephyr/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /home/ztest/zephyrproject/zephyr/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /home/ztest/zephyrproject/zephyr/build/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: /home/ztest/zephyrproject/zephyr/build/zephyr/dts.cmake
Parsing /home/ztest/zephyrproject/zephyr/Kconfig
Loaded configuration '/home/ztest/zephyrproject/zephyr/boards/arm/mec172xevb_assy6906/mec172xevb_assy6906_defconfig'
Merged configuration '/home/ztest/zephyrproject/zephyr/tests/drivers/i2c/i2c_api/prj.conf'
Configuration saved to '/home/ztest/zephyrproject/zephyr/build/zephyr/.config'
Kconfig header saved to '/home/ztest/zephyrproject/zephyr/build/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/ztest/zephyr-sdk-0.13.2/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
CMake Warning at /home/ztest/zephyrproject/zephyr/CMakeLists.txt:810 (message):
  No SOURCES given to Zephyr library: boards__arm__mec172xevb_assy6906

  Excluding target from build.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/ztest/zephyrproject/zephyr/build
-- west build: building application
[1/159] Preparing syscall dependency handling

[2/159] Generating include/generated/version.h
-- Zephyr version: 3.0.99 (/home/ztest/zephyrproject/zephyr), build: zephyr-v3.0.0-1212-ga5b33f89b729
[149/159] Linking C executable zephyr/zephyr_pre0.elf

[153/159] Linking C executable zephyr/zephyr_pre1.elf

[159/159] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       42648 B       352 KB     11.83%
            SRAM:        7824 B        64 KB     11.94%
        IDT_LIST:          0 GB         2 KB      0.00%

 CARLSBAD_A1_SPI_GEN Version 2.0 2020-02-24
 ==============================================
 Chip String        = Carlsbad_A1
 Config File Name   = /home/ztest/zephyrproject/zephyr/boards/arm/mec172xevb_assy6906/support/spi_cfg.txt

 ******** Config dump ********

  TAG Addr0 :0
  TAG Addr1 :0
  Board ID :0

  Image 0:
  ========
  HeaderVendorID         = MCHP
  HeaderVersion          = 02
  ImageLocation          = 2000

  SpiFreqMHz             = 24
  SpiReadCommand         = Dual
  SpiDriveStrength       = 4
  SpiSlewFast            = false

  FwBinFile              = zephyr.bin
  ImageRevision          = 86
  FwOffset               = 0
  FwLoadAddress          = c0000
  FwEntryAddress         = 0

  KeyRevPermission       = 11223344
  AutoKeyRevEn           = true
  RollbackProtPerm031000 = 11223344
  RollbackProtPerm063032 = 55667788
  RollbackProtPerm095063 = 0
  RollbackProtPerm127096 = ddeeff99

  FwEncrypt              = false
  Authentication         = false

  SPI Image Size         = 0 MBytes
  Output FileName        = /home/ztest/zephyrproject/zephyr/build/zephyr/spi_image.bin

  Done with image Generation!
==============================================
ztest@ztest-NUC11PAHi5:~/zephyrproject/zephyr$ west flash
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner dediprog

DpCmd Linux <IP_ADDRESS> Engine Version:
Last Built on October 27 2021

By reading the chip ID, the chip applies to [  W25Q128BV W25Q128FV S25FL128K W25R128FV W25R128JV W25Q128JV ]

W25Q128BV parameters to be applied by default
W25Q128BV chip size is 16777216 bytes.

Loading file, please wait ...(/home/ztest/zephyrproject/zephyr/build/zephyr/spi_image.bin)

Auto Sequences, please wait ...
Device 1 (DP114008):

Device 1 (DP114008):
Automatic program OK

Checksum(whole file): 1EC279F6
Checksum(Written part of file): 1EC279F6

Verifying, please wait ...
Device 1 (DP114008):

Device 1 (DP114008):
Verify OK

ztest@ztest-NUC11PAHi5:~/zephyrproject/zephyr$ west flash
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner dediprog

DpCmd Linux <IP_ADDRESS> Engine Version:
Last Built on October 27 2021

By reading the chip ID, the chip applies to [  W25Q128BV W25Q128FV S25FL128K W25R128FV W25R128JV W25Q128JV ]

W25Q128BV parameters to be applied by default
W25Q128BV chip size is 16777216 bytes.

Loading file, please wait ...(/home/ztest/zephyrproject/zephyr/build/zephyr/spi_image.bin)

Auto Sequences, please wait ...
Device 1 (DP114008):

Device 1 (DP114008):
Automatic program OK

Checksum(whole file): 1EC279F6
Checksum(Written part of file): 1EC279F6

Verifying, please wait ...
Device 1 (DP114008):

Device 1 (DP114008):
Verify OK

The test case fails because it needs to connect a gy271 board on the i2c as a slave device. As we do not have this board, the test will fail as expected. We will close this issue first. When we get the board of gy271 and the test case still fails, we will create a new issue. Thanks.


Test

Hello!
In this new version of the installer I added support for YUM in case DNF is not installed. I also added a series of comments explaining each function of the installer, I hope it will be useful!
Best regards.
Note: I'm sorry that the title is "test", I got confused and didn't change the name.

I made a mistake with this pull request. I have made another one in the form.
I am sorry.


Build: zest update

Summary
Testing steps
tests pass
Checklist

[ ] Tested with snapshotting feature disabled and pulp server URL not configured if appropriate

/retest

The pr-check tests are going to fail until an iqe-core update is released - which is actually blocked by the app being broken in stage. The job at least built and deployed the content-sources-backend image successfully to ephemeral.


Added Gnash - SWF player for Flash games

Added Gnash script.  I couldn't quite figure out the proper way to write the addEmulator command while adhering to the Script Style Guide used by RetroPie, so feel free to rewrite that portion of the script.
This isn't really an emulator per-se (calling it one would be like calling VLC an MP4 emulator), but it doesn't quite fit into ports either since you have to supply your own games.
Terminology aside, I've tested this on my Pi 3 non-overclocked and it runs older games pretty well all things considered; however it can't properly run games made past SWF 10 (which rougly covers everything made after 2009 or so), and performace is pretty spotty on more intensive games such as Mario 63.
I should also note that there's a Github repository available, if you want to write a source-build version of this script (though commits seem to be few and far between, so it's not exactly going to be very practical).

I've also considered running addEmulator multiple times, to allow additional video modes (such as one mode for 480p, one for 720p, one for 1080p, etc.; similar to the Moonlight script).  It probably wouldn't end up benefitting the Pi all that much, given that even 480p is fairly hit-or-miss performance-wise, but it would be nice to have the option.
I should also note that reading through the documentation, it appears that a file called .gnashrc could be theoretically made to set Gnash to low quality by default, boosting performance somewhat.  I couldn't find exactly where Gnash tries to look for this file, but it would streamline Gnash a bit further.

First off, thanks for sending this my way. I do appreciate it.
If the only way that .gnashrc affects anything is if it is placed into /root, that means that the application is running as root. This is bad. Everything should be running under the pi user. Try logging into your Pi while gnash is running and use ps aux to see what user it is running under.

Here's a few examples of some games that run more-or-less perfectly under Gnash (by no means an exhaustive list obviously, but just the ones I've tested and can confirm run at full-speed with no issues):

This Is the Only Level
Shopping Cart Hero
Pac-Xon
The Impossible Game: Lite

I'll remove the hardcoded resolution and specify instructions on how to set it manually in the help section in my next commit, however I can't really find a proper fix for running xinit as sudo; trying to run it without sudo always results in an error due to /dev/tty0 not being accessible (permission denied).  Maybe you're using a different version of xinit, or there's some kind of command argument I haven't tried?

Progress Report:  I tried chmod 666 /dev/tty0 which did fix that error, but then I got another error about being unable to open virtual console 2, also for permission reasons.  Couldn't find much on this error besides some methods involving xserver-xorg-legacy, which I refuse to resort to since you recently pushed a commit stating it's no longer needed.
Are you sure xinit can be ran from a shell script without sudo?  And are you sure you didn't intermittently run extra chmods that allow it to run?

Progress Report:  Solved it!  Turns out the reason it didn't work was because installing X on Stretch doesn't properly set the permissions.  Running chmod ug+s /usr/lib/xorg/Xorg fixes this problem, and the script now works without sudo.
Of course, you have to run that chmod as sudo, but given that it's merely a permission change it shouldn't be too big of a problem; the application itself runs without it.  Pushing a commit shortly!

Still awaiting your new changes.

The changes should be present by now...?
Unless I'm completely missing something...

I'll take a look as soon as I have time.


Bios file not found

After following the steps using hidevm_ahci.cmd and running loader.exe the virtual machine fails to start with the following error
Failed to open system BIOS file 'C:\VBoxLdr\Binary\datapcbios386.bin'

Result Code:
E_FAIL (0x80004005)

Component:
ConsoleWrap

Interface:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Source files are stored in C:\VBoxLdr
Virtual box is stored in D:\AppsnStuff\Oracle\Virtual Box\VBoxManage.exe

Quite obvious, there is no such file C:\VBoxLdr\Binary\datapcbios386.bin. Likely you miss slash at the end of path. It should be "set vmscfgdir=C:\VBoxLdr\data" as stated in cmd script example.


struct's inits are executed before each test, but class's deinits only after a suite is complete.

Description
Hi, I'm learning how to use Swift Testing and preparing a series of tutorials for my Youtube Channel.
In my next video I want to present how to migrate from setUp and tearDown into init/deinit. According to this documentation struct's init acts as XCTest's setUp, and I created a small demo to see what is the time when init is called:
var myValue = 0

struct ProductStoreTest {
    init () {
        print("init called")
        myValue = 0
    }

    @Test
    func test1() {
        print("Test1 executed")
        myValue += 10
        #expect(myValue == 10)
    }

    @Test
    func test2() {
        print("Test2 executed")
        myValue += 10
        #expect(myValue == 10)
    }

    @Test
    func test3() {
        print("Test3 executed")
        myValue += 10
        #expect(myValue == 10)
    }
}

As you can see, init is called before each test runs, which is expected. However, since deinit is not available on structs, I have to convert my suite into a final class. I was expecting that deinit will be executed after each test run, but that's not happening:

So, my question is: Is this expected?
From what I'm seeing, deinit is running after all tests in the suite are done. If that's the intention, I feel this is confusing in terms of marking deinit as equivalent to tearDown.
I will really appreciate your guidance. Thank you!
Expected behavior
Class's deinit work as teardown running after each test is complete.
Actual behavior
Class's deinit are executed after all tests in suite are done.
Steps to reproduce

Run the tests above in a new project as final class (not struct).
Observe

swift-testing version/commit hash
0.11.0
Swift & OS version (output of swift --version ; uname -a)

Language version: Swift 5
Minimum Deployment Target: iOS 17.0
Xcode 16 Beta 5

Tests in Swift Testing run in parallel by default, meaning that they will be accessing the shared global state myValue at the same time. Your code won't compile in Swift 6 mode and in Swift 5 mode I'd expect to see a diagnostic such as:

⚠ Var 'myValue' is not concurrency-safe because it is nonisolated global shared mutable state

Because tests run in parallel by default, the exact moment at which deinit is called relative to another test is undefined (or, at least, controlled by the system's task/thread/queue/etc. scheduler.)
If you run your tests with the --no-parallel option, do you see logging occur in the order you expect?

Tests in Swift Testing run in parallel by default, meaning that they will be accessing the shared global state myValue at the same time. Your code won't compile in Swift 6 mode and in Swift 5 mode I'd expect to see a diagnostic such as:

⚠ Var 'myValue' is not concurrency-safe because it is nonisolated global shared mutable state

@grynspan Thanks, that makes sense. Right now I'm just running a quick test to try out Swift Testing. That global variable won't be part of my "production" code.

Verified at desk that the logging occurs at the expected time when --no-parallel is passed. This is just a side effect of running tests in parallel: deinit is called at the correct/expected time, but because multiple tests are running at once, it can appear that events occur in spooky order.
I'm closing this issue on that basis, but please do feel free to reopen if I've misunderstood the problem or if I've missed something here!

@grynspan I tried running the suite serialized, but I got this issue that I don't know how to fix:

I tried cleaning everything and nothing worked. The only way to fix it is creating a brand new project from Xcode and selecting Swift Testing as Testing Framework, but if it's added as a dependency, this issue happens all the time. (Is this already reported?)
Regarding your comment, that makes sense, however, this documentation is misleading about the use of deinit, since it's not acting as tearDown. In that case, I would recommend to update the documentation to clarify that deinit != tearDown.
Thanks for your help!

@grynspan I tried running the suite serialized, but I got this issue that I don't know how to fix:
I tried cleaning everything and nothing worked. The only way to fix it is creating a brand new project from Xcode and selecting Swift Testing as Testing Framework, but if it's added as a dependency, this issue happens all the time. (Is this already reported?)

We haven't yet tagged a release of the Swift Testing package that includes the .serialized trait (see #535), so the compiler is complaining that it doesn't look like a display name instead (because it has no idea .serialized refers to a trait.) The fork of Swift Testing included in Xcode already exposes the trait as API. I was planning to tag 0.12.0 on Monday and it will include this trait.

Regarding your comment, that makes sense, however, this documentation is misleading about the use of deinit, since it's not acting as tearDown. In that case, I would recommend to update the documentation to clarify that deinit != tearDown.

Respectfully, the difference in behaviour here is entirely due to the parallelization of tests when using Swift Testing. If we implemented tearDown() in Swift Testing exactly as it's implemented in XCTest, you'd still see the same or similar behaviour because tests would still be setting themselves up in parallel, running in parallel, and tearing themselves down in parallel. I hope that makes sense.

We haven't yet tagged a release of the Swift Testing package that includes the .serialized trait (see https://github.com/swiftlang/swift-testing/pull/535), so the compiler is complaining that it doesn't look like a display name instead (because it has no idea .serialized refers to a trait.) The fork of Swift Testing included in Xcode already exposes the trait as API. I was planning to tag 0.12.0 on Monday and it will include this trait.

I didn't know that. Thanks for sharing!

Respectfully, the difference in behaviour here is entirely due to the parallelization of tests when using Swift Testing. If we implemented tearDown() in Swift Testing exactly as it's implemented in XCTest, you'd still see the same or similar behaviour because tests would still be setting themselves up in parallel, running in parallel, and tearing themselves down in parallel. I hope that makes sense.

And thank you for the explanation. I completely understand this behavior, and I apologize if my previous comment was not clear enough. My point is that I believe it would be beneficial if the documentation included a note indicating that due to the nature of parallelization, it's not simply a matter of replacing tearDown with deinit, but rather refactoring your code to function in a parallel environment or making it serialized in the meantime.
At the end, it's merely a suggestion that could assist other developers. Thank you for taking the time to reply to my issue! 😃


document Twine.shouldDiscardEvent

This feature was not documented and I had to look in shopify core to figure out what it did. Figured a note in the readme was a good idea.
for review
@pushrax @qq99

So this is sort of like a blacklist?  Can you specify that all click handlers will have this function run before them?  Can you amend the copy to say, "If the function you set returns true, then the event processing chain will be halted" or something to that affect?

yeah thats how it works. I'll make your change

@pushrax you good with the wording here?


Incorrect type-based optimization for enum == null

My team has a bunch of code that uses /** @enum {number} */ that include an entry for 0.  We also have a lot of nullable references to these enum values.  If we want different behavior depending on whether the variable has a non-null value, then we'll usually check value == null.
When --use_types_for_optimization is turned on, these checks get optimized into a truthiness check.  This is incorrect when the enum contains 0.  For example:
/** @enum {number} */
var Vehicle = {
  CAR: 0,
  TRUCK: 1,
  BICYCLE: 2,
  VAN: 3,
  UNKNOWN: 4,
};

/**
 * @param {?Vehicle} v
 * @return {Vehicle}
 */
function vehicleOrDefault(v) {
  if (v == null) {
    return Vehicle.UNKNOWN;
  }
  return v;
}

var testCases = [null, Vehicle.CAR, Vehicle.VAN];
console.log(testCases.map(vehicleOrDefault));

is incorrectly optimizing to:
console.log([null,0,3].map(function(a){return a?a:4}));

If I use --use_types_for_optimization=false, this same code compiles correctly:
console.log([null,0,3].map(function(a){return null==a?4:a}));

(We're also using ADVANCED_OPTIMIZATIONS, compiling ES6 input to ES5_STRICT output, etc.)

@Dominator008 this is pretty similar to the case you fixed recently right? It looks like we just need one more check to make sure that @enum {string} or @enum {number} isn't treated as Object.


generate appropriate packages/ paths for entrypoints nested within web/ or example/

 Issue by sigmundch
Originally opened as dart-lang/sdk#17596

Our code generation logic assumes that there is a packages/ folder next to the entrypoint. But pub-build will only have one next to the top-level folder (web/ or example/).
Code generated in example/a/b/c.html, should have references to the polyfills like this:

 Comment by sigmundch

This requires also a fix in code_transformers/lib/assets.dart and how we allow resolving packages.

 Comment by sigmundch

Added 1.5 label.

This comment was originally written by<EMAIL_ADDRESS>
I experienced this as well. But for me there was a packages ordner with just the "browser"-package in it, but nothing else. Cool this might get fixed soon! :) I had the problem with using the polymer package.

 Comment by jmesserly

Added Pkg-Polymer label.

 Comment by sigmundch

Removed this from the 1.5 milestone.
Added this to the Polymer0.10 milestone.

 Comment by sigmundch

Added this to the 1.5 milestone.
Removed 1.5 label.

 Comment by jmesserly

Removed Area-Polymer label.
Added Area-Pkg label.

 Comment by jmesserly

Removed Library-PolymerBuild label.

 Comment by sethladd

Customer request to address in the 1.6 build. Happy to provide more context. Thanks!

Removed Priority-Medium label.
Added Priority-High, C8 labels.

 Comment by kasperl

Removed this from the Polymer0.10 milestone.
Added this to the 1.6 milestone.

 Comment by jmesserly

Removed Pkg-Polymer label.
Added Pkg-PolymerBuild label.

 Comment by zoechi

I think this is also related to https://code.google.com/p/dart/issues/detail?id=16947

 Comment by sigmundch

Removed Polymer-Milestone-Next label.

 Comment by justinfagnani

Removed C8 label.
Added C7 label.

 Comment by sigmundch

Added PolymerMilestone-Next label.

 Comment by sigmundch

Removed Polymer-P-1 label.
Added Polymer-Milestone-Next label.

 Comment by sigmundch

Removed this from the 1.6 milestone.
Added Polymer-P-1 label.

 Comment by sigmundch

Added C8 label.

 Comment by kasperl

Added this to the 1.6 milestone.


[Enhancement] [Editor] WYSIWYG Mode

Could be useful for people who don't know a thing about Ascii docs. I didn't find one online but maybe you have an idea ?

I think that might be what the live preview is all about. I do find that I need to go and have a look at asciidoctor.org's cheatsheet daily for AsciiDoc syntax. I think it's a choice you make when you select any mark-up language. You actually need to learn the language and experiment.

Hi @Murazaki ,
I agree with @jaredmorgs.
For writers the power of a markup is that the syntax keeps you focused on the content.
We are aware that the use of Asciidoc can be complicated at the beginning, we will add some helpers https://github.com/HubPress/hubpress.io/issues/77 https://github.com/HubPress/hubpress.io/issues/15

I understand that you want to stick with AsciiDoc.
Just a point though, it could be good for further UX improvements : The choice of a markup language is not the user's choice here, but the developer's.

You have a live preview of your AsciiDoc markup. That's about as WYSIWYG as
asciidoc gets. HubPress actually makes it easier than normal.
And it's the user's choice to select this solution knowing that asciidoc is
the underlying markup language. Choose HubPress over all the other fork and
write solutions like jekyll-now and you're making a conscious decision to
learn AsciiDoc.
On Sun, Mar 8, 2015, 12:48 Mehdi Zakaria Benadel<EMAIL_ADDRESS>wrote:

I understand that you want to stick with AsciiDoc.
Just a point though, it could be good for further UX improvements : The
choice of a markup language is not the user's choice here, but the
developer's.
—
Reply to this email directly or view it on GitHub
https://github.com/HubPress/hubpress.io/issues/35#issuecomment-77729546.

We could always implement a toolbox (for automatic AsciiDoc markup), that would be easy to turn off for those who don't want to focus on the markup aspect.

I did suggest having quick formatting buttons in another issue from memory.
Use some of the UI real-estate up the top of the editing window to add
things like sections, bulleted lists, ordered lists, etc.
On Sat, Mar 14, 2015, 16:19 Ryan Mavilia<EMAIL_ADDRESS>wrote:

We could always implement a toolbox (for automatic AsciiDoc markup), that
would be easy to turn off for those who don't want to focus on the markup
aspect.
—
Reply to this email directly or view it on GitHub
https://github.com/HubPress/hubpress.io/issues/35#issuecomment-79986658.

This issue is somewhat stale now, and was previously marked as wontfix over a year ago. I am going to close this out as part of project maintenance.


Closing inactive editors will still update breadcrumb

Testing #98019

see attached GIF
open and pin an editor, make sure it has breadcrumbs
press cmd+w
editor stays but breadcrumbs flash

@jrieken hm, Cmd+W at least should always close an editor, even if pinned. Did you assign anything special to Cmd+W?

Yeah, looks like I have "close group"

@jrieken that would explain it, and is covered by https://github.com/microsoft/vscode/issues/99037
I can look why the breadcrumb flickers, that seems wrong to me.

It looks like we would update breadcrumbs even if no editors are closing, I fixed that with https://github.com/microsoft/vscode/commit/64955f13910a2ce8e04055e33400ec41aa78b43a
Looking at https://github.com/microsoft/vscode/blob/64955f13910a2ce8e04055e33400ec41aa78b43a/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts#L430 we still might have cases where we call updateBreadcrumbsControl even if the editors that close are not the active one. Leaving that up to you to clean up, e.g. maybe this should only call when the active editor is part of the ones to close.

I would need to know if the active tab was closed or not but it seems that this.group.activeEditor is already set to the new, active editor when reaching this code: https://github.com/microsoft/vscode/blob/e6470a9752007b1a0aa5552b007560732ac67ec5/src/vs/workbench/browser/parts/editor/tabsTitleControl.ts#L385
@bpasero Am I missing something or this this too far down the line?

nvm - looks like openEditor is called always before close (when closing a single tab) and then breadcrumbs are already updated. Only when closing all tab special breadcrumb updating is needed...

@jrieken closeEditors may also be called without the active one being included, e.g. "Close Others". How about this code:
closeEditors(editors: IEditorInput[]): void {
	this.handleClosedEditors();

	if (this.group.activeEditor && editors.indexOf(this.group.activeEditor) !== -1) {
		this.updateBreadcrumbsControl();
	}
}

To make sure breadcrumbs update when the list of closed editors includes the active one. I can see that reduces flicker when running "Close Others".

For closeEditor I see the same. Once the call reached me, the active editor is already updated and hence never in the list closed editors. Meaning, I'd never update the breadcrumbs here... Tho, it might be enough to only update the breadcrumbs when no more editor is around (which means hide breadcrumbs)


go/running the tests

Tapir looks like a super interesting project!
I have two quick questions:
a) is anyone already doing go-bindings or a golang port?
a) how do I run the tests? gtest-all.cc seems to be missing...
# on osx 10.11.6 with c++ compiler: Apple LLVM version 8.0.0 (clang-8<IP_ADDRESS>)
 ~github.com/UWSysLab/tapir (master) $ make test
make test
WARNING: Paranoid mode enabled
make: *** No rule to make target `.obj/gtest/gtest-all.o', needed by `.obj/gtest/gtest_main.a'.  Sto\
p.

Nope, no one is doing a golang port
You need to install gtest, which is the google testing framework
You can get it from here: https://github.com/google/googletest/tree/master/googletest

At some point, we should probably switch over to an easier to use build framework, like CMake, but I'm trying to graduate right now ... :)

cool, thanks. I may do a port.
gtest was installed. perhaps it isn't getting invoked by the makefile? :|
Nice, hope you graduate soon! :)

Ah, the Makefile expects gtest to be at:
GTEST_DIR := /usr/src/gtest
so set accordingly.

For others reference, I was able to get the tests to build (for googletest downloaded from github.com/google/googletest) by setting this in the top level Makefile:
GTEST_DIR := $(HOME)/go/src/github.com/google/googletest/googletest


BUG:Position of the ChatBot

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
chat bot should be on the extreme bottom right for the entire website and in any page
it is not working if we go down in website
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

i want to work on this issue


Conditional field override

Hello,
I'm trying to figure out if there's a way to set the field type conditionally, something like (that's obviously pseudo code, since it can't work this way):
list do
  field :demo, :boolean unless bindings[:view]._current_user.admin?
  field :demo, :integer if bindings[:view]._current_user.admin?
end

Thank you for the help,
Gabriele

The saddest thing is you actually can.
Just define it twice, then make each one visible for each profile.
And now you know why RailsAdmin is completely unmaintainable.

Ok, thanks I'll try, I can swear I tried it, but if I can remember well it didn't worked for me, I'll give it a try, but I can see that it must really work as you say, I probably had done some mistakes.
Thank you again.


Setup tenderduty for all bronbro chains

https://github.com/blockpane/tenderduty
Add as much chains as it could cover. Setup domain uptime.bronbro.io (at api front) and and connect one to each other.

@prevetal  pls play with HTML to make tables look pretty
@altbro  pls add neutron and stride keys as hardcode


change TestConstants to be like puppeteer

https://github.com/GoogleChrome/puppeteer/blob/v1.0.0/test/test.js#L81
split into 2:

server

PREFIX
CROSS_PROCESS_PREFIX
EMPTY_PAGE

httpsServer

PREFIX
CROSS_PROCESS_PREFIX
EMPTY_PAGE

we could split into 2 classes or just move them to the base class.
something like:
public class PuppeteerBaseTests : IAsyncLifetime
{
    protected static readonly int Port = 8907;
    ...

    protected static readonly int HttpsPort = Port + 1;
    ...

    protected Browser Browser { get; private set; }
    public async Task InitializeAsync()
    {
        Browser = await PuppeteerSharp.Puppeteer.LaunchAsync(TestConstants.DefaultBrowserOptions(), TestConstants.ChromiumRevision);
    }

    public async Task DisposeAsync()
    {
        await Browser.CloseAsync();
    }
}

public class PuppeteerPageBaseTests: PuppeteerBaseTests
{
    protected Page Page { get; private set; }
    public new async Task InitializeAsync()
    {
        await base.InitializeAsync();
        Page = await Browser.NewPageAsync();
    }

    public new async Task DisposeAsync()
    {
        await base.DisposeAsync();
        await Page.CloseAsync();
    }
}

this will reduce the overhead of writing using (var page = await Browser.NewPageAsync()) in so many tests... :)

I think I can buy this. Could you reduce the scope of this issue so it won't overlap with https://github.com/kblok/puppeteer-sharp/issues/106 ?


Adding vagrant support.

This is noice, but can we not change the ports in the tests by default? I'd rather not have to change 'em every time I pull and then again before PR'ing.

DONE.

THANK YOU.


Opacity set permanently when using flash

Hey, thanks for creating this plugin, just a little problem with the flash effect.
When set, it changes the active/inactive_opacity of the affected windows permanently until they are closed and effect is disabled.
before applying effect

after applying effect

btw i tried setting different flash_opacity values in the plugin section, all with the same results
full settings used

hi! could you please provide a minimal config for repro in text form? I'll have a look at it when i have time


Allow to have the editor tab bar above the side bar

VSCode Version: Code 1.6.1 (9e4e44c19e393803e2b05fe2323cf4ed7e36880e, 2016-10-13T16:21:53.542Z)
OS Version: Windows_NT ia32 10.0.14393

Current state
After opening the side bar, tab bar width is horizontally limited to the area left over by the open side bar
Wanted
Vertically shrink side bar to allow tab bar extend to the full width of the window, even if side bar is open

How can you NOT shrink the tab bar but still make room for the sidebar?

Curent:

wanted:

@PunchyRascal appreciate the drawing :)

This feature request will not be considered in the next 6-12 months roadmap and as such will be closed to keep the number of issues we have to maintain actionable. Thanks for understanding and happy coding!


Add uninstallation steps for root certificate

I couldn't get HDR working in the end, so I decided to uninstall VDD and I noticed there was no undo step for the batch script.
Tbh, we could probably write a script for this!
(If you're wondering why: apparently Moonlight says my AMD RX 5700XT GPU is incompatible with HDR streaming? Seems false according to Google but I'm giving up on this for now.)

This is somewhat useful information, but the certificate generally doesn't need to be removed to remove the driver from your system. It should just be uninstalled normally using the Device Manager. Will check with the team on adding the PR/info though, as it may still be useful. Thanks!

The certificate generally doesn't need to be removed to remove the driver from your system.

@itsmikethetech True! But ideally the uninstallation process would restore the original state prior to following installation, minus any custom configuration; which is why I thought it was worth including this info.

Even though this obsolete soon

Oh, why is it obsolete now @bud3699?

The certificate generally doesn't need to be removed to remove the driver from your system.

@itsmikethetech True! But ideally the uninstallation process would restore the original state prior to following installation, minus any custom configuration; which is why I thought it was worth including this info.

Even though this obsolete soon

Oh, why is it obsolete now @bud3699?

To drop in with some info, we'll be moving to a real signed certificate in the next release, so no local certificate inclusion will be necessary. :)

This is now obsolete as we have a signed certificate.

Oh, congrats on the signed cert!

Thank you!


How to pick the best epoch?

Hello,
I have used your repo to train a yolact++ model on my custom dataset. After the training finished, I found some weights saved. I collected the corresponding evaluation mAPs as follow:
       |  all  |  .50  |  .55  |  .60  |  .65  |  .70  |  .75  |  .80  |  .85  |  .90  |  .95  |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 61.44 | 80.53 | 80.22 | 79.55 | 76.49 | 74.82 | 72.89 | 66.13 | 51.65 | 29.44 |  2.70 |
  mask | 61.86 | 75.29 | 74.92 | 74.30 | 74.09 | 71.49 | 70.52 | 67.08 | 58.66 | 41.70 | 10.57 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 67.98 | 85.15 | 84.73 | 83.99 | 83.54 | 80.88 | 79.63 | 72.96 | 65.73 | 37.70 |  5.48 |
  mask | 67.06 | 79.99 | 79.54 | 79.39 | 78.23 | 77.86 | 74.65 | 72.50 | 65.45 | 48.87 | 14.16 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 70.34 | 89.35 | 88.29 | 87.86 | 85.61 | 83.42 | 82.30 | 75.03 | 64.12 | 41.19 |  6.20 |
  mask | 67.08 | 81.22 | 79.09 | 78.97 | 78.18 | 77.28 | 76.29 | 71.96 | 64.42 | 49.93 | 13.49 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 69.38 | 86.42 | 86.42 | 85.20 | 83.94 | 81.91 | 80.07 | 76.30 | 66.11 | 40.34 |  7.05 |
  mask | 67.79 | 81.03 | 80.61 | 80.29 | 79.67 | 78.00 | 76.82 | 73.26 | 67.46 | 47.66 | 13.11 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 73.64 | 91.37 | 91.13 | 90.35 | 89.90 | 88.10 | 84.27 | 81.03 | 68.73 | 43.02 |  8.53 |
  mask | 67.72 | 80.57 | 80.05 | 79.44 | 78.99 | 78.53 | 76.75 | 73.24 | 66.26 | 50.64 | 12.72 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 72.92 | 92.05 | 91.76 | 88.09 | 87.57 | 86.42 | 85.28 | 80.28 | 64.42 | 44.74 |  8.56 |
  mask | 67.15 | 81.35 | 80.92 | 79.90 | 78.56 | 76.28 | 74.81 | 72.57 | 64.65 | 49.21 | 13.24 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 74.55 | 91.65 | 91.36 | 90.75 | 90.44 | 88.41 | 86.84 | 84.67 | 67.89 | 45.85 |  7.69 |
  mask | 67.81 | 80.91 | 80.45 | 80.07 | 79.30 | 78.67 | 77.01 | 73.25 | 66.93 | 47.52 | 14.03 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 73.94 | 91.58 | 91.04 | 90.53 | 89.29 | 88.49 | 86.74 | 82.15 | 66.17 | 45.53 |  7.91 |
  mask | 67.50 | 81.09 | 80.28 | 79.61 | 79.24 | 77.72 | 76.62 | 74.48 | 65.07 | 47.38 | 13.46 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 74.16 | 91.94 | 91.59 | 91.17 | 89.74 | 89.07 | 87.13 | 80.82 | 65.18 | 46.95 |  8.03 |
  mask | 68.10 | 81.16 | 80.56 | 80.00 | 79.79 | 79.29 | 76.93 | 73.42 | 66.01 | 50.03 | 13.79 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 73.08 | 92.31 | 92.04 | 91.41 | 90.18 | 89.18 | 85.48 | 73.48 | 64.46 | 44.68 |  7.58 |
  mask | 67.52 | 81.37 | 80.82 | 80.14 | 79.91 | 79.52 | 77.60 | 70.91 | 65.84 | 46.21 | 12.86 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+

Now, I would like to know based on, or what would be the best metric, to use to select the best weights? I am confused as sometimes the all has higher value while its<EMAIL_ADDRESS>is low, and other epochs has the opposite.
In the paper, what metric was used to select the best weight? mAP was reported, but was that<EMAIL_ADDRESS>I could see that the mask metric surpasses the box metric in some case, and the apposite (with the mask mAP hanging around 80%), is this normal?

Hello,
I have used your repo to train a yolact++ model on my custom dataset. After the training finished, I found some weights saved. I collected the corresponding evaluation mAPs as follow:
       |  all  |  .50  |  .55  |  .60  |  .65  |  .70  |  .75  |  .80  |  .85  |  .90  |  .95  |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 61.44 | 80.53 | 80.22 | 79.55 | 76.49 | 74.82 | 72.89 | 66.13 | 51.65 | 29.44 |  2.70 |
  mask | 61.86 | 75.29 | 74.92 | 74.30 | 74.09 | 71.49 | 70.52 | 67.08 | 58.66 | 41.70 | 10.57 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 67.98 | 85.15 | 84.73 | 83.99 | 83.54 | 80.88 | 79.63 | 72.96 | 65.73 | 37.70 |  5.48 |
  mask | 67.06 | 79.99 | 79.54 | 79.39 | 78.23 | 77.86 | 74.65 | 72.50 | 65.45 | 48.87 | 14.16 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 70.34 | 89.35 | 88.29 | 87.86 | 85.61 | 83.42 | 82.30 | 75.03 | 64.12 | 41.19 |  6.20 |
  mask | 67.08 | 81.22 | 79.09 | 78.97 | 78.18 | 77.28 | 76.29 | 71.96 | 64.42 | 49.93 | 13.49 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 69.38 | 86.42 | 86.42 | 85.20 | 83.94 | 81.91 | 80.07 | 76.30 | 66.11 | 40.34 |  7.05 |
  mask | 67.79 | 81.03 | 80.61 | 80.29 | 79.67 | 78.00 | 76.82 | 73.26 | 67.46 | 47.66 | 13.11 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 73.64 | 91.37 | 91.13 | 90.35 | 89.90 | 88.10 | 84.27 | 81.03 | 68.73 | 43.02 |  8.53 |
  mask | 67.72 | 80.57 | 80.05 | 79.44 | 78.99 | 78.53 | 76.75 | 73.24 | 66.26 | 50.64 | 12.72 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 72.92 | 92.05 | 91.76 | 88.09 | 87.57 | 86.42 | 85.28 | 80.28 | 64.42 | 44.74 |  8.56 |
  mask | 67.15 | 81.35 | 80.92 | 79.90 | 78.56 | 76.28 | 74.81 | 72.57 | 64.65 | 49.21 | 13.24 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 74.55 | 91.65 | 91.36 | 90.75 | 90.44 | 88.41 | 86.84 | 84.67 | 67.89 | 45.85 |  7.69 |
  mask | 67.81 | 80.91 | 80.45 | 80.07 | 79.30 | 78.67 | 77.01 | 73.25 | 66.93 | 47.52 | 14.03 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 73.94 | 91.58 | 91.04 | 90.53 | 89.29 | 88.49 | 86.74 | 82.15 | 66.17 | 45.53 |  7.91 |
  mask | 67.50 | 81.09 | 80.28 | 79.61 | 79.24 | 77.72 | 76.62 | 74.48 | 65.07 | 47.38 | 13.46 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 74.16 | 91.94 | 91.59 | 91.17 | 89.74 | 89.07 | 87.13 | 80.82 | 65.18 | 46.95 |  8.03 |
  mask | 68.10 | 81.16 | 80.56 | 80.00 | 79.79 | 79.29 | 76.93 | 73.42 | 66.01 | 50.03 | 13.79 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
   box | 73.08 | 92.31 | 92.04 | 91.41 | 90.18 | 89.18 | 85.48 | 73.48 | 64.46 | 44.68 |  7.58 |
  mask | 67.52 | 81.37 | 80.82 | 80.14 | 79.91 | 79.52 | 77.60 | 70.91 | 65.84 | 46.21 | 12.86 |
-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+

Now, I would like to know based on, or what would be the best metric, to use to select the best weights? I am confused as sometimes the all has higher value while its<EMAIL_ADDRESS>is low, and other epochs has the opposite.
In the paper, what metric was used to select the best weight? mAP was reported, but was that<EMAIL_ADDRESS>I could see that the mask metric surpasses the box metric in some case, and the apposite (with the mask mAP hanging around 80%), is this normal?

Hi, I also do my own dataset training, and the training results are similar to yours, and I would like to communicate with you about

Hi, How did you regenerate the evaluation mAPs?


Audio Files are not mapped correctly in the code.

Did you selected this project in SWOC?
Yes.
Nakul Singh
What happened?
What Happened :
When I tap on any of the volume symbols except the introduction one, it should speak what was written on the right of the symbol. But it is speaking something which is in the second or third in the queue.
Example : When I tap on Your Preferences text to voice symbol it is speaking Font Size. Similarly with all the other symbols.
How can we reproduce this bug?
You just need to tap on any of the text to voice button except the introduction one.
Desktop Information (Optional)
No response
Urgency (Optional)
None

Thanks @nerdy-nakul ! But can you once again check (with the latest changes)? It seems to be working fine for me.

Yes, You're right the issue has been solved with the latest changes.


Support wayland interface, improve shutdown cleanup, support third party WM config files

Moved to #2 to allow additional changes.


Release 266.0.0

Patch release of @metamask/network-controller to update:

@metamask/eth-block-tracker
@metamask/eth-json-rpc-middleware
@metamask/swappable-obj-proxy

You can count my review for the identity team, as I've worked on those controllers before handing them over.


improve first impression after installing waliki

I was following the get started guide from README.md and got some errors at the process that can be warned to avoid frustration on new users and a better first impression:
1 - error at the attachment plugin
The attachment plugin have a pre requisite on django-sendfile that is discribed inside it's docs but is not mentioned on startup and leads new users to a import error and to spend some time figuring out whats happening.
2 - markdown dependency
My first action after installation was on creating a markdown page, but it generates another error that could be avoided if warned at the startup guide.
I think that's all, and thanks for this awesome project :smile:

thanks for your feedback @humrochagf. I'll tackle it in my next solo-sprint, if no PR come before.


Bolt v2: Navbar, Nav Priority, and Navlink-related UI Polish

Summary
Using the existing Navbar + related components to build out the updated docs site revealed several areas in need of improvement relating to animations, the need for more reasonable UI sizing on smaller screens, the ability to extend the Navbar Twig template itself in order to add UI elements not originally planned for, the need to make the Navbar component not always be full width in size (required for CSS Grid support), among others.
This PR takes full advantage of the takeaways from much more extensively using these components to make things much more polished and extensible for everybody.

@mikemai2awesome @remydenton hold off digging into this one just yet till I give the go-ahead.
I just noticed one or two unintentional things relating to the vertical spacing + full bleed / width functionality I want to make sure we've updated so there aren't any noticeable changes in size on this (at least on larger screens) -- hang tight!

@remydenton @mikemai2awesome ok all set!
This is good to review whenever you guys have a chance to take a look -- I've updated this so all size-related updates only happen for devices 420px or smaller since this collection of components take on a very different look at feel.

.c-bolt-nav-priority__dropdown {
  background-color: bolt-theme(
    (
      xdark: brand-darken-5 0.95,
      dark: brand-lighten-20 0.95,
      light: secondary 0.95,
      xlight: secondary 0.95,
    )
  );
}

Remove the opacity for these background-color. It creates undesired effects when the dropdown background is see through.

.c-bolt-nav-priority__dropdown {
  background-color: bolt-theme(
    (
      xdark: brand-darken-5 0.95,
      dark: brand-lighten-20 0.95,
      light: secondary 0.95,
      xlight: secondary 0.95,
    )
  );
}

Remove the opacity for these background-color. It creates undesired effects when the dropdown background is see through.

@mikemai2awesome all set on this!

I'm still planning to look a little closer, but noticed a bug where the background color on the more dropdown is missing:
https://feature-v2-navbar-related-ui-polish.boltdesignsystem.com/pattern-lab/?p=viewall-components-navbar

I'm still planning to look a little closer, but noticed a bug where the background color on the more dropdown is missing:
https://feature-v2-navbar-related-ui-polish.boltdesignsystem.com/pattern-lab/?p=viewall-components-navbar

@remydenton I noticed this too (bug with the longhand way the bolt-theme Sass function can get called — realized after digging in that this wasn’t actually a Nav Priority specific bug).
Already have a fix in place locally!!

Thanks @remydenton!


[FEAT] Deepface

Is your feature request related to a problem? Please describe.
Any chance of integrating Deepface as a detector?
Requests on Jakowenko for the integration are:
https://github.com/jakowenko/double-take/issues/196
https://github.com/jakowenko/double-take/issues/305

I have recently pondered upon this matter. Unfortunately, DeepFace operates on a different logic: it lacks the ability to learn and memorize faces as such, essentially it only has the capacity to assess the degree of similarity between two given photographs. Therefore, maintaining a database of trained faces should be implemented on the side of double-take; I am unsure if this aligns with the objective of this software.
Please do correct me if I am mistaken in any way.

Is anything here of any use?
https://viso.ai/computer-vision/deepface/

Is anything here of any use?

Unfortunately, you have just confirmed what I said before. DeepFace is a framework, not a recognition service. I will think about opportunities  for its implementation in this project.

Ah ok. Sorry, I didnt realise. Im about 2 weeks into all this stuff and still trying to learn - I have a Nest Hello at the moment as doorbell and yesterday I got a Unifi G4 doorbell but want to get all this working properly before I install the G4. For example, I have no idea what the differences on Double Take dashboard are between 'MQTT', 'Snapshot' and 'Latest' are meant to mean for an image; no idea which one is supposed to be the better image type and then which one('s) to try to stop coming into Double Take

'MQTT', 'Snapshot' and 'Latest'

"Snapshot" -- frame from frigate, saved then frigate detect an event (motion, for example)
"Latest" -- frame from camera, on the moment then double-take trying to make an recognition (Usually, the difference between them is 1-2 seconds)
"MQTT" -- The frame that the frigate transmitted with the event by MQTT protocol. It's usually equivalent to "snapshot", but depends on frigate settings
The current crazy zoo of methods is due to historical reasons. If u use double-take in conjunction with frigate, the "snapshot" method will be enough