WIP - Full integration test

@carlos-lopez-garces Changed evaluation from being a method on Individual to being a function. GALib can do it as Individual::Evaluate() because they can extend Individual and add a bunch of members to the new class. This is the 'rusty' way of achieving custom evaluation of individuals, with custom context.
I want this branch to go all the way into full integration test (a basic GA test with actual generations and stuff) but wanted to get early eyes on it.

Individuals own their scores and so I think that their evaluation should be a method of their own implementation (impl GAIndividual). Scores are inseparable from individuals, because they are something that describe them. Unless you want to offer different ways to evaluate a particular type of individual (e.g. multiple ways to compute the objective function of a GATestIndividual -- to mention a particular type of individual); if that is the case, then yes, the evaluation function and the individual must be separate entities. Otherwise, let each type of individual implement its own evaluation function.
The case of selectors, which treat populations as contexts, is different: A population doesn't describe a selector; a population is not part of a selector, either. So there was no reason for selectors to own populations. Individual and their scores, on the other hand, are inseparable.

Merging this. We might want to merge the statistics branch soon @carlos-lopez-garces and try to get some benchmarks running (see what happens).

The statistics branch contains commits for both GAPopulationStats and GAStatistics. GAPopulationStats is well tested, I think; the other is not. I can merge the commits of the former if that will unblock progress on other areas. What do you think @mrjackinc ?


Updated README with examples for new output: export

Hey Niels, goeiemorgen 😉
First of all, amazing plugin it really helped me alot!
Anyway I noticed some lines in the documentation about next export which seems like the old way next does static exporting, nowadays they favor a line in the next config: output: export
As seen in the docs here: https://nextjs.org/docs/pages/building-your-application/deploying/static-exports
I have made some very minor changes to the README reflecting this, when following your README and adding the next export command I got the following in my console:

This is now gone, I am using Next 14.1.0

Hi @YungTosti,
Thanks for the hint! I fixed the README with the suggested changes. (Due to wording, and formatting, I choose to make my own PR)


update example elm.json

bump rtfeldman/elm-css
change from Skinney/murmur3 to robinheghan/murmur3, since Skinney-version is orphaned

Merging patches for tidyness


KAFKA-13988: Fix MM2 not consuming from latest when "auto.offset.reset=latest" is set

Motivation
This PR will fix the bug reported on JIRA. There was a previous PR submitted for this but there wasn't any movement on it for an year, so filing a new one.
Testing Instructions
Manual testing

Produce 'n' messages to topic 'T1' on source cluster.
Setup MM2 replication with config "consumer.auto.offset.reset": "latest" to replicate from topic 'T1'
Produce 'n+y' messages to topic 'T1' on source cluster.
Consume from 'TargetCluster' from replicated topic: 'SourceCluster.T1'
The consumed messages should only contain latest 'y' messages but not the old ones. ✅
Produce 'n' messages to topic 'T2' on source cluster.
Setup MM2 replication with config "consumer.auto.offset.reset": "earliest" to replicate from topic 'T2'
Produce 'n+y' messages to topic 'T2' on source cluster.
Consume from 'TargetCluster' from replicated topic: 'SourceCluster.T2'
The consumed messages should contain all the 'n+y' messages. ✅

Unit Tests
Wrote a unit-test to test this behavior successfully.
Committer Checklist (excluded from commit message)

[X] Verify design and implementation
[X] Verify test coverage and CI build status
[X] Verify documentation (including upgrade notes)

@divijvaidya is there a reason you've assigned this to me?

@C0urante oh, I should have mentioned the reason. You are the committer I consider an expert on MM2 and connect framework and that is why I assigned it you.

@blacktooth , we also face the similar issue and saw this. This PR has been pending for a while. Do you have time to address the review comments? Need any help? Thanks.

same here. catching up from the earliest offsets is too expensive and resource demanding to MM2 and Kafka brokers.

Hi,
Seems there are now 2 PR's open to solve the same issue but both are not moving forward at all and is blocking a lot of people of moving forward to migrate to MM2.
I really hope someone will push this over the finish line.

@C0urante the other PR is https://github.com/apache/kafka/pull/12358
So far it seems it was reviewed and approved but no movement from that point on.

@electrical @showuon @blacktooth I've published https://github.com/apache/kafka/pull/14567, which is based off this PR and contains the suggestions I proposed during code review (including the new integration test) and is rebased on the latest trunk.

Superseded by https://github.com/apache/kafka/pull/14567


Option to open readonly but not immutable

Immutable assumes no other process can modify the file. An option to open reqdonly instead would enable other processes to update the file in place.

Are there performance gains when using immutable as opposed to read-only? From what I see other processes can still modify the DB when immutable, but there are no change notifications.

https://sqlite.org/c3ref/open.html Is the only documentation I've been able to find of the immutable option:

immutable: The immutable parameter is a boolean query parameter that indicates that the database file is stored on read-only media. When immutable is set, SQLite assumes that the database file cannot be changed, even by a process with higher privilege, and so the database is opened read-only and all locking and change detection is disabled. Caution: Setting the immutable property on a database file that does in fact change can result in incorrect query results and/or SQLITE_CORRUPT errors.

That's the only reference to immutable I saw as well, making me think that there may be no perceivable advantages over simply using mode=ro. Since the database is never or seldom updated the change notifications should not impact performance.

I'd really like to get some benchmarks working so I can see the actual impact of this kind of thing.

https://simonwillison.net/2019/May/19/datasette-0-28/


Missing taxa with new open tree

With the most recent OpenTree, In step 3 of https://github.com/OneZoom/tree-build/blob/main/oz_tree_build/README.markdown, I'm getting some warnings:
WARNING:root:Could not find the following taxa: 4795972, 385878, 747323, 5205266, 523271

this the feeds through to step 4, which now warns:
WARNING:root:Subtree file OpenTreeParts/OpenTree_all/523271.nwk does not exist
WARNING:root:Subtree file OpenTreeParts/OpenTree_all/747323.nwk does not exist
WARNING:root:Subtree file OpenTreeParts/OpenTree_all/385878.nwk does not exist

These are likely to be taxa that have vanished from the OpenTree, e.g.

4795972 is Aenigmarchaeota (obscure archaean taxon)
385878 is Glomeromycota (relatively important fungal group, maybe no longer monophyletic - should check?)
747323 is a ctenophore group - may need investigating?
5205266 is Diapherotrites
523271 another unnamed ctenophore group, marked as "_LobataPlus_ott523271".

Just a note that these 5 taxa were also not in 14.7, so this is not new to 14.9.

Focusing on 385878 (Glomeromycota), it was in 12.3, but not in 13.5.
Also, in 12.3, Glomeromycota has 3 direct children:

Glomeromycetes_ott265358
Archaeosporales_ott265356
Paraglomerales_ott385883

In the latest tree, Glomeromycetes is gone. The other two still exist.
I really need better tools to compares large trees...

I'm just looking into this again. These are the errors we now get with the standard pipeline, on OpenTree 14.9:
WARNING:root:Could not find the following taxa: 4795972, 523271, 5205266, 385878, 747323

WARNING:root:Subtree file OpenTreeParts/OpenTree_all/523271.nwk does not exist
WARNING:root:Subtree file OpenTreeParts/OpenTree_all/747323.nwk does not exist
WARNING:root:Subtree file OpenTreeParts/OpenTree_all/385878.nwk does not exist

# The following taxa have not been correctly substituted
_LobataPlus_ott523271~-574291-1580-1583-747323@
Pleurobrachiidae_ott747323@
Glomeromycota_ott385878@

This looks identical to what you initially reported in this issue, no? I think the fix would be to adjust our bespoke files to stop referencing OTTs that are no longer in OpenTree.
For instance, Holomycota.PHY has:
(Mucoromycotina_ott564951@:690,Glomeromycota_ott385878@:690)Mycoromyceta:10

But 385878 is gone (see my earlier comment).
The hard part is to fix this up in a scientifically 'correct' way, which is above my head :)
@hyanwong what are your thoughts on tackling this?

I think I need to sped a few hours looking at the taxonomy and what's been recently fixed in the OpenTree. I'll do that this week, since my head is in the OneZoom stuff.

I tried to dig into Glomeromycota a bit. Based on OpenTree, all the following are no longer monophyletic (from this list):
Glomeromycota (385878)
  Glomeromycetes (265358)
    Diversisporales (385884)
    Glomerales (157948)

It appears that the conflict is caused by this 2021 paper: http://dx.doi.org/10.3389/ffunb.2021.716385. But going beyond this is above my head, so I'll stop :)

I've almost fixed the missing taxa: only Glomeromycota to go. I guess I'll just go with the RAxML tree from that supposedly conflicting paper:

Seems like a bug that it's causing Glomeromycota to vanish, so I'vre reported it at https://github.com/OpenTreeOfLife/feedback/issues/589


Implement ADR-102 PoC targeting main

The initial Proof of Concept (PoC) for the standalone RPC implementation is hosted on a separate repository https://github.com/cometbft/rpc-companion
This issue is a tracking issue for the implementation of the PoC. The following will have to be implemented to have a workable PoC:
### Tasks
- [ ] [Implement the Database Schema](https://github.com/cometbft/rpc-companion/issues/2)

Duplicate, created by accident


VDI and Citrix scenarios with FIDO2

Hi there, the doc states "RDP, VDI, and Citrix scenarios are not supported using security key." but that's not true.  I have written about using FIDO2 and AAD to launch virtual desktops and do it every day for work.  At the end of the day, VDI and Citrix are just webified Windows 10, it behaves as a SaaS app essentially.  I have some screenshots of how it works documented here:  https://www.jasonsamuel.com/2019/09/18/how-to-enable-fido2-password-less-authentication-with-microsoft-azure-ad-for-use-with-windows-10-and-saas-web-apps/

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

ID: 8b7e1d9a-fdaf-0a29-0746-e3a32826eb6b
Version Independent ID: 78e9b684-1121-6193-387f-fd8b6040cc0a
Content: Passwordless security key sign-in Windows - Azure Active Directory
Content Source: articles/active-directory/authentication/howto-authentication-passwordless-security-key-windows.md
Service: active-directory
Sub-service: authentication
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@JS2598  Thank you for the query. We will review and update accordingly.

@MicrosoftGuyJFlo, Just checking if you can verify this and update the doc accordingly.

If you are using a SaaS portal to launch those scenarios yes it works as any other application.
This is regarding launching a RDP/Citrix/VDI session directly like over a thin client. Today that is unsupported.

#please-close

Thanks John.  Should the doc be updated to clarify the difference?


Bug: Threads not being created if title > 100

DiscordAPI throws an error when attempting to create a thread with a title that is greater than 100 characters in length. Add checks into the code to limit these titles before they are POSTed

Verified on prod, closing


Added new attributes to the getstakinginfo and getstakereport commands

Added new attributes to the getstakinginfo and getstakereport commands
getstakinginfo now has expecteddailyreward
getstakereport now has Last 7 Days Avg, Last 30 Days Avg and Last 365 Days Avg
reports looks like these:
{
  "enabled": true,
  "staking": true,
  "errors": "",
  "currentblocksize": 1000,
  "currentblocktx": 0,
  "difficulty":<PHONE_NUMBER>617752,
  "search-interval": 16,
  "weight":<PHONE_NUMBER>549,
  "netstakeweight":<PHONE_NUMBER>008790,
  "expectedtime": 33537,
  "expecteddailyreward": 5.15236448
}

{
  "2019-05-15 16:00:00": "2.00",
  "2019-05-14 16:00:00": "2.00",
  "2019-05-13 16:00:00": "2.00",
  "2019-05-12 16:00:00": "2.00",
  "2019-05-11 16:00:00": "2.00",
  "2019-05-10 16:00:00": "6.0001",
  "2019-05-09 16:00:00": "4.00",
  "2019-05-08 16:00:00": "4.00",
  "2019-05-07 16:00:00": "6.00",
  "2019-05-06 16:00:00": "4.00",
  "2019-05-05 16:00:00": "2.00",
  "2019-05-04 16:00:00": "4.00",
  "2019-05-03 16:00:00": "8.00",
  "2019-05-02 16:00:00": "4.00",
  "2019-05-01 16:00:00": "6.00",
  "2019-04-30 16:00:00": "2.00",
  "2019-04-29 16:00:00": "0.00",
  "2019-04-28 16:00:00": "4.00",
  "2019-04-27 16:00:00": "4.00",
  "2019-04-26 16:00:00": "2.00",
  "2019-04-25 16:00:00": "4.00",
  "2019-04-24 16:00:00": "4.00",
  "2019-04-23 16:00:00": "0.00",
  "2019-04-22 16:00:00": "2.00",
  "2019-04-21 16:00:00": "2.00",
  "2019-04-20 16:00:00": "2.00",
  "2019-04-19 16:00:00": "4.00",
  "2019-04-18 16:00:00": "2.00",
  "2019-04-17 16:00:00": "2.00",
  "2019-04-16 16:00:00": "4.00",
  "Last 24H": "2.00",
  "Last 7 Days": "22.0001",
  "Last 7 Days Avg": "3.14287142",
  "Last 30 Days": "98.0001",
  "Last 30 Days Avg": "3.26667",
  "Last 365 Days": "425.2213209",
  "Last 365 Days Avg": "1.16498992",
  "Last All": "438.03126175",
  "Latest Stake": "2.00",
  "Latest Time": "2019-05-15 20:53:04",
  "Stake counted": 274,
  "time took (ms)": 1
}

Ahh, so just add a new attribute to the response?
On Thu, May 16, 2019, 17:19 alex v<EMAIL_ADDRESS>wrote:

@aguycalled commented on this pull request.
In src/wallet/rpcwallet.cpp
https://github.com/navcoin/navcoin-core/pull/485#discussion_r284614385:

     result.push_back(Pair(vIt->Name, FormatMoney(vIt->Total).c_str()));

   // Get the nDays value

   nDays = 0;

   if (vIt->Name == "Last 7 Days")

       nDays = 7;

   else if (vIt->Name == "Last 30 Days")

       nDays = 30;

   else if (vIt->Name == "Last 365 Days")

       nDays = 365;

   // Check if we need to add the average

   if (nDays > 0) {

       // Add the Average

       result.push_back(Pair(vIt->Name + " Avg", FormatMoney(vIt->Total / nDays).c_str()));

I would define “X Avg” as the daily average received as rewards over the
last X days of active staking.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/navcoin/navcoin-core/pull/485?email_source=notifications&email_token=AAIDAKMQO4DNOXU5SEPXNEDPVURKDA5CNFSM4HNIOYXKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOBYZ4DAY#discussion_r284614385,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIDAKOTGBHMRNSWNVWWU63PVURKDANCNFSM4HNIOYXA
.

Ahh, so just add a new attribute to the response?
…

what I mean is, if my wallet is only n days old “X Avg” should show Sum(stakes[today-X:today])/min(X,n)

Ahh, so just add a new attribute to the response?
…

what I mean is, as a general definition, “X Avg” should show Sum(stakes[today-X:today])/min(X,n) for a wallet which is n days old

You mean like this:
{
  "Last 24H": "2.00",
  "Last 7 Days": "22.0001",
  "Last 7 Days Avg": "3.14287142",
  "Last 30 Days": "98.0001",
  "Last 30 Days Avg": "3.26667",
  "Last 365 Days": "425.2213209",
  "Last 365 Days Avg": "1.16498992",
  "Last X Avg": "3.14287142",
  "Last All": "438.03126175"
}

Ahh, so just add a new attribute to the response?
…

what I mean is, as a general definition, “X Avg” should show Sum(stakes[today-X:today])/min(X,n) for a wallet which is n days old

You mean like this:
{
  "Last 24H": "2.00",
  "Last 7 Days": "22.0001",
  "Last 7 Days Avg": "3.14287142",
  "Last 30 Days": "98.0001",
  "Last 30 Days Avg": "3.26667",
  "Last 365 Days": "425.2213209",
  "Last 365 Days Avg": "1.16498992",
  "Last X Avg": "3.14287142",
  "Last All": "438.03126175"
}

Let X be 7, 30 or 365.

Rebased the branch from master

Just to confirm, all the Last X Days Avg values are programmed to give the daily average amount staked within period X or the daily average amount from the first stake till the end of X period if that length is shorter than X.

Builds on Ubuntu 18.04. Tests pass. Tests make sense.

@proletesseract Rebased on master and added cache for the wallet first stake value (Just in memory, so when the report is run more than once it will use the cached timestamp)
But this report will be slower for wallets with TX data but no stakes (Since it will have to loop all the TX every time in case it has staked since the last check)

code looks good. need to resolve travis issues though.

Travis-CI Passed, merging


Missing and incorrect metadata using exiftool

Bug description
I have noticed several metadata errors in downloaded images while trying to process (sort and tag) files. If I were to guess the error rate might be as high as 5%, but I haven’t officially counted anything. The log files provided are from a clean install and the errors still persists.
Steps to reproduce
I have grabber set up to apply the following metadata downloaded files:
Title: ⦗%copyright%⦘#%character%__%rating%[%website%_%id%©%artist%%date:format=(yyyy-MM-dd)]%
Subject: ©%artist%;⦗%copyright%⦘;#%character%;*%rating%;Ξ%general%
CreateDate: %date:format=yyyy-MM-dd hh:mm:ss,unsafe%
DateTimeOriginal: %date:format=yyyy-MM-dd hh:mm:ss,unsafe%
Creator: ©%artist%
Copyright: ⦗%copyright%⦘
Source: %md5%
Description: #%character%
ImageDescription: %score:length=10%
XPComment: *%rating%
All tags are separated with a ; and the corresponding special character “;Ξ” , “;©” , “⦘;⦗” and “;#”.
Filename: “%search:spaces%/%website%%id%%md5%.%ext%”.
Safe for work image examples (provided below convert "Downloadable Image Errors" to .igl)
Ex. Image with blank metadata fields. Exiftool does write metadata to this image using terminal commands, but Grabber leaves it blank.
yande id:628701
Ex. Image with incorrect “Creator” tag. There are several cases where Grabber does not overwrite existing metadata.
gelbooru id:7621020
Ex. Image with missing “Title” and “Keywords”, the other fields were added.
gelbooru id:4074286
Grabber was able to output sidecar files with the correct metadata for each example.
System information

OS: Windows 10 and macOS 14
Grabber version: 7.11.2
Exiftool version: 12.76 and 12.82

Feature Request
This is a difficult issue to fix for individuals that have already downloaded images with incomplete metadata. It would be nice if there was an option or checkbox in Grabber's renaming tool to correct the metadata for existing images according to the presets in settings.
Currently, the only way to fix this is to delete and redownload the images with errors. I some cases I have already deleted unwanted images from artist folders and I will have to go back and delete the unwanted content again if I have to redownload everything. Thanks.
Downloadable Image Errors.txt
settings [Save] part only.txt

Hello 👋
That's a very clear bug report, so first, thanks for that 😄
The download file was especially helpful.

Ex. Image with blank metadata fields. Exiftool does write metadata to this image using terminal commands, but Grabber leaves it blank.
yande id:628701

I can indeed reproduce, and when downloading it I'm also getting this error log:
[21:05:31.566][Error] [Exiftool] Error: [minor] IFD0 pointer references previous IFD0 directory - .../id 628701/yande.re_628701_c089063f5fb0f9c3b38b77c35f314f8c.png

Exiftool does write metadata to this image using terminal commands, but Grabber leaves it blank.

Are you using -m in your command, that would ignore such minor error?
Maybe I could update Grabber to do the same. 🤔

Ex. Image with incorrect “Creator” tag. There are several cases where Grabber does not overwrite existing metadata.
gelbooru id:7621020

Couldn't reproduce (the artist is indeed tiv, link):
exiftool "id 7621020/gelbooru.com_7621020_97219a48011c2330128c9894f4a6e1fb.jpg" | grep Creator

Creator                         : ©tiv

Ex. Image with missing “Title” and “Keywords”, the other fields were added.
gelbooru id:4074286

Couldn't reproduce either (data looks correct, link):
exiftool "id 4074286/gelbooru.com_4074286_9ff686f7069f71f26b21fa94bee3e93d.jpg"| grep -E "Title|Subject"

Subject                         : ©hoshizaki reita, ⦗darling in the franxx⦘, #zero two (darling in the franxx), *sensitive, Ξ10s, Ξ1girl, Ξ d, Ξblunt bangs, Ξblurry, Ξblurry foreground, Ξbreasts, Ξdepth of field, Ξeyeshadow, Ξfangs, Ξgreen eyes, Ξhairband, Ξhand on own hip, Ξhorns, Ξjacket, Ξlong hair, Ξlong sleeves, Ξlooking at viewer, Ξmakeup, Ξmedium breasts, Ξnecktie, Ξopen mouth, Ξorange necktie, Ξpink hair, Ξreaching, Ξreaching towards viewer, Ξred jacket, Ξshirt, Ξsignature, Ξsmile, Ξsolo, Ξstanding, Ξupper body, Ξwhite shirt
Title                           : ⦗darling in the franxx⦘_#zero two (darling in the franxx)__sensitive_[gelbooru.com_4074286_©hoshizaki reita_(2018-01-27)]

What data did you actually get for the 2 Gelbooru images instead of the correct metadata?
Was there anything in your Grabber logs after writing the images with invalid metadata?

Another thing that can cause the missing metadata I've found are files with the wrong extension. Gone through a good bit of my booru stuff and haven't seen any, but that isn't to say that aren't any saved with the wrong extensions there. Seems to be much more common on sites that deal with manga like NHentai and Ehentai. Have encountered it on the SFW manga aggregates like Mangadex as well just seems like some translation groups/translators incorrectly save the files as PNG when the image is encoded as a JPG.
As an example NHentai id:505041 should give this error
[Error] [Exiftool] Error: Not a valid PNG (looks more like a JPEG)
Honestly though you can just download a bunch of galleries and you are pretty likely to find one that has mislabeled/wrong extensions.
Haven't tried fooling around with the CLI of Exiftool to see if it would tag it if I adjusted the options, but as far as I can see there are no tags on it when it gives that error. Also honestly I have some old image/manga viewers I use that don't like it when things have the wrong extension so it would be nice if there was an option to correct mislabeled extensions.

Update 7.12.2 added the ability to clear existing metadata. I went thru and tested some problematic images and I haven't noticed any problems. This issue can be closed. Thanks. 😄


[FEATURE] support action of delete_by_query

Is your feature request related to a problem?
We use ism to manage index life, and the all documents are written into one index,  Some documents will expire and need to be deleted over time. The documents will be updated by the primary key.
What solution would you like?
We want to schedule calling delete_by_query  to delete the expired documents every day. if we can support the action of delete_by_query.
Do you have any additional context?
I can pick up the implementation if accepted.

@bowenlan-amzn hi, if I can pick up the implementation?

sure, thanks!

@kkewwei please let me know if you met any blocker on the implementation

Also requested here https://github.com/opensearch-project/index-management/issues/918#issuecomment-1741822381

@kkewwei hi!
some coments from my  side.
While implementing this feature is technically feasible, it's crucial to exercise caution before employing it in production environments. The deletion process can have a substantial negative impact on cluster performance.
When a document is earmarked for deletion, it doesn't immediately vanish from the index. Instead, it undergoes a multi-step process that can strain the cluster's resources:

Deletion Marking: The task of removing the document is first marked for execution.
Dedicated Job Execution: A dedicated background job is then triggered to perform the actual deletion. This involves removing the document from its respective segment and rebuilding the inverted index to reflect the changes.

While deletion by query may seem like an appealing feature, it's important to consider its potential impact on cluster performance. When a large number of documents are targeted for deletion, the cluster may allocate a significant portion of its CPU and I/O resources to processing the deletion requests. This can lead to indexing and search operations becoming sluggish or even halting altogether.
In most scenarios, a more practical approach is to segregate documents intended for deletion into a separate index. This dedicated index can then be configured with appropriate rollover and deletion policies to ensure efficient and timely removal of old or irrelevant data.
While deletion by query does offer a convenient mechanism for removing documents, its potential performance drawbacks make it less suitable for production environments. A more controlled and resource-conscious approach, such as using a separate index with rollover policies, is generally recommended for production clusters.


fix: connection creation bugfixes

Fixes https://github.com/syndesisio/syndesis/issues/5470
Also, some UI finetuning.
Changes

PR Storybook available here


Adding maintainers

Added new maintainers to the feedstock

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Revisit our legacy browser support

What
We should revisit our level of support for older browsers (e.g: IE11). This work may help us inform some of the JavaScript work (https://github.com/alphagov/govuk-frontend/issues/1389), e.g:

polyfills
newer features we currently avoid to support older browsers
tooling choices

Why
It seems likely that the Service Manual may update the support for IE11 in the next year or so (e.g: removing or updating to 'functional' support). While we follow the Service Manual, we also know that roughly 40% of services that filled in the Government Frontend Survey 2021 still support IE11 (various reasons being: supporting staff/internal/legacy systems; high percentage of their users still use IE). At the moment, we support more browsers than those listed in the Service Manual, so we can set our level of support ourselves as long as we still meet the minimum required by the Service Manual.
Who needs to work on this
Developers; Tech Writer
Done when

[x] https://github.com/alphagov/govuk-frontend/issues/2517
[x] https://github.com/alphagov/govuk-frontend/issues/2519
[ ] [parked] https://github.com/alphagov/govuk-frontend/issues/2518

Follow-up epic: https://github.com/alphagov/govuk-frontend/issues/2621


added author display name

Hi @bcwood thanks for the pull-request. Unfortunately this project isn't maintained anymore but there is a good alternative over at WordPressSharp.


English please!

WTF?? I do not understand, не понимаю, 不明白

Ok, thank you for your advice.
As you know , I'm a Chinese ,and I'm not so good at English.But I'm working on it, and if you want to use the feature , set your language as OEM , US ,please.
The English edition is coming soon.
P.S.:Please forget my grammar mistakes :p

Oops,I closed it by mistake

Maybe you can use the DLL edition , some features provided by mfc140u.dll are in English

Ok, Now I only changed the language of the menu into English.
I think you will understand(明白).

It seems that you didn't install the Java Runtime Environment.The program requires JRE to run properly,and if you choose the "OK" button , the program will open the website of Oracle(http://www.oracle.com/technetwork/java/javase/overview/index.html).
The code page of the program is Unicode , and the following will be shown in Chinese if the language of your Windows is Chinese.
And I'm still working on it......

@6168218c, I also do not know English well, but it's an international language :D
JRE is installed, but I still have a warning:

Wow, I clicked something and it worked:

There is not enough button "Cancel"

@6168218c I do not understand your language installation tips. it would be great if you added the language setting in the program
I will wait :)

Ok,thank you for your support,and I will work on it :)

#2

#1

#4

@lokha Okay , I ' ve added multi-language in the program.But for some reasons(I ' m too lazy),I didn't
add the feature of selecting the language.But it will be shown in English if the language of your Windows is not Chinese.Maybe there will be some bugs,because I used the function in the list below.For more information, see MSDN.I won't say that I haven't tested it in non-Chinese systems yet~
LANGID GetSystemDefaultUILanguage(void);

BOOL SetProcessPreferredUILanguages(
  _In_      DWORD    dwFlags,
  _In_opt_  PCZZWSTR pwszLanguagesBuffer,
  _Out_opt_ PULONG   pulNumLanguages
);

LANGID SetThreadUILanguage(
  _In_ LANGID LangId
);

@lokha What do U think of this guy?

Will come out in version 3.3 and later

Now it's fixed


Cert expiration warning should only show rotate link if available

Original issue, with backend PR: https://github.com/rancher/rancher/issues/23543
The UI is showing the cert expiration warning but it also shows option to rotate certificates, which the local cluster can't do because it doesn't have an RKE Config. UI should check and see if rotate action exists on the cluster, and only show link if it exists.

Backend PR merged.

I've tested on master-head fa96c0c3d in HA setup 3 nodes(all roles).
For certificate getting expired before 30 days on local cluster, UI shows a warning.


TestThat file

Hey guys when we're making our functions out of the report code lets make sure to make our tests first, maybe lets start with the test script - so that we follow correct methods of coding.

I made a .R script for the data_wrangling tests it looks something like this
`library(testthat)
source("functions/data_wrangling_functions.R")
#Testing our select_columns() function
test_that("select_columns should return dataframe with specified columns",
{
test_df <- data.frame(a = 1:3, b = 4:6, c = 7:9)
result <- select_columns(test_df, c("a", "b"))
expect_true(all(colnames(result) %in% c("a", "b")))
expect_equal(ncol(result), 2)
})`
So lets make 3 test files one for Wrangling, EDA, and Analysis functions.


mmap with hint addr and _SC_PAGE_SIZE offset fails with ENOMEM

Windows Version
Microsoft Windows [Version 10.0.19043.2364]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[ ] WSL 2
[X] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 22.04
Other Software
No response
Repro Steps
Re-report of https://github.com/microsoft/WSL/issues/7569
cat << EOF > repro.c
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>

int main(int argc, char **argv) {
  long offset = sysconf(_SC_PAGE_SIZE);
  int fd = open(argv[0], O_RDONLY|O_CLOEXEC);

  void *addrs[] = {
    NULL,
    &main,
  };

  off_t offsets[] = {
    offset,
    offset << 4,
  };

  for (int a = 0; a < sizeof(addrs) / sizeof(*addrs); a++) {
    for (int o = 0; o < sizeof(offsets) / sizeof(*offsets); o++) {
      errno = 0;
      void *mapping = mmap(
        addrs[a],
        1,
        PROT_NONE,
        MAP_PRIVATE,
        fd,
        offsets[o]
      );

      printf("%p/0x%lx -> %p\n", addrs[a], offsets[o], mapping);
      perror("errno says");
      puts("");
    }
  }
}
EOF

cc -o repro repro.c
./repro

Expected Behavior
(nil)/0x1000 -> 0x7fxxxxxxxxxx
errno says: Success

(nil)/0x10000 -> 0x7fxxxxxxxxxx
errno says: Success

0x7fxxxxxxxxxx/0x1000 -> 0x7fxxxxxxxxxx
errno says: Success

0x7fxxxxxxxxxx/0x10000 -> 0x7fxxxxxxxxxx
errno says: Success

Actual Behavior
(nil)/0x1000 -> 0x7fxxxxxxxxxx
errno says: Success

(nil)/0x10000 -> 0x7fxxxxxxxxxx
errno says: Success

0x7fxxxxxxxxxx/0x1000 -> 0xffffffffffffffff
errno says: Cannot allocate memory

0x7fxxxxxxxxxx/0x10000 -> 0x7fxxxxxxxxxx
errno says: Success

Diagnostic Logs
No response

Values of:

length,
prot,
and flags

seem irrelevant (provided they are otherwise valid), it's the specific provision of a non-null addr and offset that triggers the issue.
From the mmap man page:

The contents of a file mapping (as opposed to an anonymous
mapping; see MAP_ANONYMOUS below), are initialized using length
bytes starting at offset offset in the file (or other object)
referred to by the file descriptor fd.  offset must be a multiple
of the page size as returned by sysconf(_SC_PAGE_SIZE).

which is satisfied in the reproduction case.

Looking into the Win32 side of this, the issue seems related to the dwFileOffset* arguments to MapViewOfFile. According to the documentation for that API:

The combination of the high and low offsets must specify an offset within the file mapping. They must also match the memory allocation granularity of the system. That is, the offset must be a multiple of the allocation granularity. To obtain the memory allocation granularity of the system, use the GetSystemInfo function, which fills in the members of a SYSTEM_INFO structure.

and so a completely naive implementation of sysconf(_SC_PAGE_SIZE) could be changed from:
SYSTEM_INFO sysInfo;
GetSystemInfo(&sysInfo);
return sysInfo.dwPageSize;

to:
SYSTEM_INFO sysInfo;
GetSystemInfo(&sysInfo);
return sysInfo.dwAllocationGranularity;


Constants

[x] My contribution is ready to be merged as is

These aren't currently used, but it's good to have them. They are taken from:
https://github.com/shantanubhadoria/python-printer-escpos

This can be merged now, can't it?


Update metadata scripts to default to bash.

LGTM

[Current coverage][cc-pull] is 98.46%

Merging [#287][cc-pull] into [development][cc-base-branch] will not change coverage

@@           development       #287   diff @@
=============================================
  Files               34         34
  Lines             2604       2604
  Methods              0          0
  Messages             0          0
  Branches           129        129
=============================================
  Hits              2564       2564
  Misses              35         35
  Partials             5          5

Powered by Codecov. Last updated by [113360c...41b5a70][cc-compare]
[cc-base-branch]: https://codecov.io/gh/GoogleCloudPlatform/compute-image-packages/branch/development?src=pr
[cc-compare]: https://codecov.io/gh/GoogleCloudPlatform/compute-image-packages/compare/113360cd8829a850f7ad906d974d6a204938cc31...41b5a7017000db70a4b03cb7627dc5c5f2c0e38e
[cc-pull]: https://codecov.io/gh/GoogleCloudPlatform/compute-image-packages/pull/287?src=pr


Fix logic for determining pass/fail of workspace build (ROS1)

Description of changes:
We're currently incorrectly reporting skipped and cancelled workspace builds as successful.
This pull request updates the logic for reporting pass vs fail. It also adds an additional metric on the success/failure of uploading the colcon bundle or the entire flow.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This updated workflow has been tested using a personal fork and personal AWS account.

This updated workflow has been tested using a personal fork and personal AWS account.


Module is shown on screen?

Running v2.12?
See image below

Just remove the position node in your config


Add trimcoef

This PR implements cupy.polynomial.polyutils.trimcoef

Jenkins, test this please.

Jenkins CI test (for commit 68757dd2a3ff6ef44a190c1da08df2bb07d467e7, target branch master) succeeded!

LGTM.


Cannot read property 'map' of null

Found this in insiders after doing many theme changes:
Cannot read property 'map' of null: TypeError: Cannot read property 'map' of null
    at /Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/extensions/json/client/out/jsonMain.js:69:107
    at process._tickCallback (internal/process/next_tick.js:103:7)

it's fixed already (18affc0b0bca6d6e889a5e1d08b13cfbc79f851d)

Verified by opening a JSON document that has no color information


Uninitialized constant Impressionist (NameError)

The plugin is working very well in Development but when I push the changes on server I am getting this error and can't figure out what's happening.
[2013-07-30T09:20:52.703891 #2938] ERROR -- : uninitialized constant Impressionist (NameError)
/home/deployer/apps/kllktv/releases/20130730090811/config/initializers/impression.rb:2:in `<top (required)>'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:609:in `block (2 levels) in  <class:Engine>'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:608:in `each'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/engine.rb:608:in `block in <class:Engine>'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `instance_exec'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `run'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:55:in `block in run_initializers'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:210:in `block (2 levels) in each_strongly_connected_component_from'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:209:in `block in each_strongly_connected_component_from'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:44:in `each'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:44:in `tsort_each_child'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:203:in `each_strongly_connected_component_from'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:180:in `each'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
/home/deployer/.rbenv/versions/2.0.0-p195/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/initializable.rb:54:in `run_initializers'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/application.rb:215:in `initialize!'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
/home/deployer/apps/kllktv/releases/20130730090811/config/environment.rb:5:in `<top (required)>'
config.ru:4:in `require'
config.ru:4:in `block in <main>'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
config.ru:1:in `new'
config.ru:1:in `<main>'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn.rb:48:in `eval'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn.rb:48:in `block in builder'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:722:in `call'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:722:in `build_app!'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:595:in `init_worker_process'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:615:in `worker_loop'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:500:in `spawn_missing_workers'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:511:in `maintain_worker_count'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:277:in `join'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/gems/unicorn-4.6.3/bin/unicorn:126:in `<top (required)>'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/bin/unicorn:23:in `load'
/home/deployer/apps/kllktv/shared/bundle/ruby/2.0.0/bin/unicorn:23:in `<main>'

I am deploying with Capistrano. Using Rails 4 and Postgres
Gemfile looks like:
gem "impressionist", "~> 1.4.5"

Any help?

Closing as stale


[Eigen] c2228 .size must have class/struct/union on Windows

Following conversation on https://github.com/lukeiwanski/tensorflow/issues/202#issuecomment-372546220 an issue has been found in Eigen for Windows platform.

In Meta.h on lines 333-334:
template
Index size(const T& x) { return x.size(); }
Produces error c2228 with the message "left of '.size' must have class/struct/union".

@welnaseth could you provide full error? We need to find out what T is :)

Sure thing, I'll get some details on my steps to repro and what Visual Studio spits out as the error after work today.

So, I can't get the error to repro anymore. I had deleted the files genreated by cmake and re-ran it to get the flags I had set, and now the Experimental target built with no compiler errors (there were 2 before). IDK what happened, but i guess I must have botched something during the setup. I'll be away from my computer until monday, so I'll try to build it again then just to confirm. For now, here are my steps to build for windows:

Download and install latest ComputeCPP on Windows
Clone this branch of Eigen for Opencl
Replace //cmake/FindComputeCpp.cmake with the version found here to add support for finding ComputeCPP on windows.
Generate MSVC files for Visual Studio 15 Win 64 using CMake with EIGEN_TEST_SYCL=true and COMPUTECPP_PACKAGE_ROOT_DIR=.
Open Generated project in Visual Studio 2017 and try to build the Experimental target (to run the tests)

Currently the first test (rand) fails, but I've got an early flight tomorrow, so I can't wait until all the tests finish. How about we keep this open until Monday when I can confirm the issues is gone or if someone else confirms no build errors with my process before then. Monday I should be able to get a rundown of what tests fail and why.

@welnaseth Seems your link is broken, it should be this one: https://bitbucket.org/mehdi_goli/opencl/commits/branch/Eigen-Optimised-Tensor-Vector-Contraction

I follow your steps, and I got the ComputeCpp found message:
-- ComputeCpp package - Found
-- compute++ - Found
-- computecpp_info - Found
-- ComputeCpp runtime (Release): C:/Program Files/Codeplay/ComputeCpp/lib/ComputeCpp_vs2015.lib - Found
-- ComputeCpp runtime  (Debug) : C:/Program Files/Codeplay/ComputeCpp/lib/ComputeCpp_vs2015_d.lib - Found
-- ComputeCpp includes - Found
-- Package version - CE 0.6.1
-- compute++ flags - -O2 -mllvm -inline-threshold=1000 -sycl -emit-llvm -intelspirmetadata

While the final result still reports SYCL: OFF. I don't know if that will cause my test incorrect.
-- ************************************************************
-- ***    Eigen's unit tests configuration summary          ***
-- ************************************************************
--
-- Build type:        Release
-- Build site:        karl-1231v3
-- Build string:      win7-19.0.24215.1-32bit
-- Enabled backends:
-- Disabled backends: Cholmod,  UmfPack,  SuperLU,  PaStiX,  METIS,  SPQR,  Qt4
support,  Boost.Multiprecision,  Xsmm,  GoogleHash,  Adolc,  MPFR C++,  fftw,  O
penGL,
-- Default order:     Column-major
-- Maximal matrix/vector size: 320
-- SSE2:              Using architecture defaults
-- SSE3:              Using architecture defaults
-- SSSE3:             Using architecture defaults
-- SSE4.1:            Using architecture defaults
-- SSE4.2:            Using architecture defaults
-- AVX:               Using architecture defaults
-- FMA:               Using architecture defaults
-- AVX512:            Using architecture defaults
-- Altivec:           Using architecture defaults
-- VSX:               Using architecture defaults
-- ARM NEON:          Using architecture defaults
-- ARMv8 NEON:        Using architecture defaults
-- S390X ZVECTOR:     Using architecture defaults
-- C++11:             OFF
-- SYCL:              OFF
-- CUDA:              OFF
--
CXX:               C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl
.exe
 CXX_FLAGS:         /DWIN32 /D_WINDOWS /W4 /GR /EHsc /EHsc /wd4127 /wd4505 /wd47
14 /D_CRT_SECURE_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS
 Sparse lib flags:

-- ************************************************************
--
-- Configured Eigen 3.3.90
--
-- To build/run the unit tests, read this page:
--   http://eigen.tuxfamily.org/index.php?title=Tests
--
-- Configuring done

Also, I got a 777 succeeded result:
========== Build: 777 succeeded, 0 failed, 0 up-to-date, 8 skipped ==========

build.log

@kcauchy you need to add EIGEN_TEST_CXX11 and EIGEN_TEST_SYCL to cmake. (SYCL requires C++11 features)

@lukeiwanski Thank you.
By compiling command:
C:\Users\karl\Desktop\opencl\build>cmake -DEIGEN_TEST_SYCL=1 -DEIGEN_TEST_CXX11=
1 -DCOMPUTE_CPP_PAKCAGE_ROOT_DIR="C:\Program Files\Codeplay\ComputeCpp" ..

I still got the error below: (many copies)
CMake Error at cmake/EigenTesting.cmake:131 (add_sycl_to_target):
  add_sycl_to_target Function invoked with incorrect arguments for function
  named: add_sycl_to_target
Call Stack (most recent call first):
  cmake/EigenTesting.cmake:307 (ei_add_test_internal_sycl)
  unsupported/test/CMakeLists.txt:170 (ei_add_test_sycl)

I've already replaced the FindComputeCpp.cmake with this one.
I'm using the revision 10900 at branch Eigen-Optimised-Tensor-Vector-Contraction.

There were some interface changes between the FindComputeCpp module in the SDK and here. I can try to provide a sort of hacky workaround on Monday, but we should update the Eigen version to the newer SDK revisions.

I am having the same errors as @kcauchy, I'll look into it more later tonight, but figured I'd chime in confirming the errors. Should we close this bug and move discussion to a bug with a more appropriate title such as "Eigen CMake changes for Opencl on Windows"  or something of the sort?

Ah yes, the hacky workaround I promised... Really at this stage the best option would be to update the Eigen CMake properly. I'm not sure if you're familiar with CMake, but broadly the issue is that the function "add_sycl_to_target" changed the order of its arguments upstream, and this change hasn't yet been reflected in Eigen (if it ain't broke, don't fix it, I suppose). Changing all the calling code to match the new function signature should fix this particular problem (I've not had time to make the "hacky" solution so far this week, I'm afraid).

Okay, so can I confirm where the change actually is? I found this commit that takes away two of the arguments. However, this change to the function isn't reflected in Eigen, or the computecpp-sdk FindComputeCpp.cmake. Adding the two arguments back to the call in EigenTesting.cmake seems to allow cmake to configure correctly.
Has there been a change to the dev version of FindComputeCpp.cmake that hasn't been reflected in the public SDK?

The version in the SDK is the way, the truth and the light :p I'm not exactly sure of the context in that commit but it appears to me like it simply removes the arguments rather swapping them. When I said "to match the new function signature", I meant to match the one that can be found in the SDK.
As you can tell, this process could stand to be improved.
If you try changing the interface Eigen is using to match the SDK FindComputeCpp.cmake and it works, let us know! :)

Maybe @lukeiwanski could shed some light on the commit :P I did run it last night with the change and cmake was able finish and generate the project. I didn't notice some errors that must not be fatal errors, so I'll rerun it again and post what I get as output as it generates.
After that I did try building the experimental build target, and boy did it not go well. Claimed it had 1300 compiler errors and some of the tests were failing. I would post more details, but bit was late and I had fallen asleep while it was compiling and was too sleepy to investigate when I woke up. However as seen earlier in this post, sometimes my computer likes to give me errors that don't actually exist. @kcauchy, could you try as well? Of you just reverse the commit I linked, cmake should build.
Tonight I'll rebuild the experimental target and see if I can get more details on the errors. I also get my specs too, just to confirm my issues wouldn't be due to my hardware/drivers.

hey @welnaseth!

Maybe @lukeiwanski could shed some light on the commit

The intention of mentioned commit or rather this pull request was to introduce the ComputeCpp driver. Instead of two explicit compiler passes (one for the device and one for the host) you can call ComputeCpp driver that will do everything in the background for you. That makes stuff like cross-compilation or CMake integration much easier.
That said, ComputeCpp driver has been tested only for Linux (so far) and you exposed valid problem that needs to be addressed!
Hope that helps

@welnaseth Thales is working on fixes for Windows in Eigen ( https://bitbucket.org/mehdi_goli/opencl/pull-requests/38/changes-in-eigen-to-build-sycl-tests-on/diff#comment-61508492 ). Hopefully we will get that in soon. I will ping you once that happens.


shelljs does not seem to work wrapped child process

For some reason shelljs does not seem to work with spawn wrap... Does anyone else have the same problem?

The reason for this is spawn-wrap setting process.env.PATH with some internal id that I don't get why it is there.

So just make sure you populate process.env.PATH from the parent to the wrapped child process :)


First attempt at logging to files instead of std out

Something just struck me, this is me thinking aloud, I think it's faster and uses less resources to write to file as a ByteString or Text, OTOH I think we'll have to go through String anyway, so maybe it doesn't matter?

Something just struck me, this is me thinking aloud, I think it's faster and uses less resources to write to file as a ByteString or Text, OTOH I think we'll have to go through String anyway, so maybe it doesn't matter?

Ignored :dagger:


Fixes overlay options

I found that the current code does not recognize current options of the overlay.
Due to this matter, the overlay module tries to modify options specified instead of adding at first run.

Every pp files should be changed for the puppet-lint 2.2.1.
without it, the test f the Travis will fail every time whatever someone changed the codes.

@netman2k I fixed the manifests, you can rebase

I rebased to the master. please consider to merge

@netman2k did you see my comments?

@mcanevet , I saw your comment and I tried to rebase mine.
but It makes me confused. please let me know how to do it.

I will reopen this after clean up my codes


[PROPOSAL] Add prometheus adapter

WIP, added only custom metrics from nginx ingress controller as for now

@nandajavarma do you think this PR is still relevant?

@nandajavarma do you think this PR is still relevant?

@angelbarrera92 I would say it is. We decided to not include prometheus adapter in the repo for this release if you recall. But having it would definitely be a good addition whenever @nutellinoit  thinks it is ready.


New Setup can't get it working

Hello! I am new to picframe and have not been able to get it to open once i point it to my photos folder (which is stored on a thumb drive). when it tries to run, the screen goes blank for a few seconds then it returns to a command prompt with no errors. Any idea what I could be doing wrong?
I used this tutorial as my base: https://www.thedigitalpictureframe.com/how-to-add-crossfading-slide-transitions-to-your-digital-picture-frame-using-pi3d/
I'm running a fresh bullseye install on my Pi 4. LMK if you need any more info.
Thanks in advance!

Hi, does it work OK if you put a few images in /home/pi/Pictures i.e. can you tell if the problem is related to the USB drive. It might be worth setting the logging to go to a file (in the configuration yaml file) and a lower threshold for message such as DEBUG, to see if any indicators are recorded.

perhaps thats my issue? i am not using the pi user, but my own. could that be it?

It should be fine with whatever user you want, but you need to make sure that all the file paths used in the config yaml file are correct. Did it run OK with the 'no pictures found' default image?

yes it did. i havent had a chance to try the local images thing yet but should tonight.

having the same issue when pointing to a local folder
/home/MYUSERNAME/Pictures

ok i am a tool and got it to work with a local folder. once its running as a service, is there a way to stop it? the keyboard commands seem disabled during this.

is there a way to stop it?

To stop the service? If so, this should work:
sudo systemctl stop picframe
(where picframe is the name of your service)

yea but i dont have access to the terminal when its running (and i dont think i enabled SSH) 🤦

Ah, yeah. I just ssh in to fiddle with things...

there must be a way to stop it from booting without ssh, i would think. i havent found anything as of yet.

I hardly ever use it, but IIRC, the http interface provides a stop button (if you activated http in the frame's config). By default, that runs on port 9000. Also, if you have a keyboard hooked up, I'd guess you could reboot and (quickly) disable the service prior to it starting up...

how would u do that last part? i'm not a terminal guy, generally but a UI dev 😬

After a reboot, as soon as you have keyboard control, enter:
sudo systemctl disable picframe
(again, where picframe should be the name of your service)
If you're quick, that should disable the service before it has a chance to start.

apparently i'm too slow or my pi is too fast 😢

I use http as I don't have home assistant running. Set this to True in the config file then you can control it with your phone browser with address<IP_ADDRESS>:9000 Obviously changing ...0.123 to match the address of your frame.


Docker Image for Sitespeed goes missing!!

Hi,
I started using the docker version on sitespeed and is able to run tests followed by proper reporting.
I started facing a weird issue where on one particular machine, I pull the docker image using
docker pull sitespeedio/sitespeed.io
and i execute a test. So far so good, after few minutes when I execute another test, i get an error saying 'Unable to find image 'sitespeedio/sitespeed.io:latest' locally' and the image gets downloaded again.
When i re-checked the same by looking at docker images on my host, i see that the sitespeed image went missing. I tried multiple ways to restore it by composing a tar file one a different host and extracting it here. But after few mins the image just goes missing and i couldn't find it any where.
I have to do a docker pull everytime i need to use sitespeed. Any pointers here please?
I am sure this is nothing to do with Sitespeed as the same image is pulled and used forever on other hosts. I cannot any difference in the machines too. Please assist!

Not related to this particular repo, I'd suggest posting this issue in https://github.com/docker/for-linux


Cyclic deps with test_store

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Currently, rust-analyzer can't index the whole project because of some cyclic deps.
[ERROR project_model::workspace] cyclic deps: graph_core(CrateId(175)) -> graph_chain_substreams(CrateId(172)), alternative path: graph_chain_substreams(CrateId(172)) -> graph_core(CrateId(175))
[ERROR project_model::workspace] cyclic deps: test_store(CrateId(431)) -> graph(CrateId(156)), alternative path: graph(CrateId(156)) -> test_store(CrateId(431))
[ERROR project_model::workspace] cyclic deps: test_store(CrateId(431)) -> graph_chain_ethereum(CrateId(166)), alternative path: graph_chain_ethereum(CrateId(166)) -> graph(CrateId(156)) -> test_store(CrateId(431))
[ERROR project_model::workspace] cyclic deps: test_store(CrateId(431)) -> graph_graphql(CrateId(177)), alternative path: graph_graphql(CrateId(177)) -> graph(CrateId(156)) -> test_store(CrateId(431))
[ERROR project_model::workspace] cyclic deps: test_store(CrateId(431)) -> graph_mock(CrateId(181)), alternative path: graph_mock(CrateId(181)) -> graph(CrateId(156)) -> test_store(CrateId(431))
[ERROR project_model::workspace] cyclic deps: test_store(CrateId(431)) -> graph_node(CrateId(182)), alternative path: graph_node(CrateId(182)) -> graph(CrateId(156)) -> test_store(CrateId(431))
[ERROR project_model::workspace] cyclic deps: test_store(CrateId(431)) -> graph_store_postgres(CrateId(195)), alternative path: graph_store_postgres(CrateId(195)) -> graph(CrateId(156)) -> test_store(CrateId(431))

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
Using rust-analyzer analysis-stats . or using the VSCode extension in the project gives this problem.
The development mainly of tests is more difficult because there are a lot of the following error in functions from test-store:
expected &{unknown}, found &<Type>

It just affects the rust-analyzer, cargo continues to build well.
What is the expected behavior?
It should index all the files from the different project of the workspace using rust-analyzer.
This may not be a problem with graph-node but with rust-analyzer. There's this issue on their repository with other people with the same problem but graph-node has cyclics depenencies.

expected &{unknown}, found &

Holy... I had no idea it was caused by this. I've had   "rust-analyzer.diagnostics.disabled": ["type-mismatch"] in my settings.json for the longest time to avoid this issue. Thank you for the bug report.


Add RES-TEAM modelling a team

Models a team.  For now, not providing any golden / summary metric, nor synthesis rules, but this allows anyone to create a "resource" entity that can contain information about a team.
Signed-off-by: Galo Navarro<EMAIL_ADDRESS>Relevant information
Describe what you have done and any details that you think are relevant or that you might want to discuss with us.
Checklist

[x] I've read the guidelines and understand the acceptance criteria.
[x] The value of the attribute marked as identifier will be unique and valid.
[x] I've confirmed that my entity type wasn't already defined. If it is I'm providing an
explanation above.

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

The point is mostly to separate on bigger categories of entities. RES- are for "resources" (aka entities without telemetry, although I'd argue a team or a git repository which we also have as RES-GITREPOSITORY) can have telemetry.  Also, RES- entities are not going to be made alertable by default, EXT- are.

cool! yeah telemetry wise i would argue everything could have it. But maybe is probably not going to.
A team may have incident, sprints velocity or any other metrics attached to them.
Alerts wise makes sense. Thanks for the context!


Add entries for publishing production (asf-site) and staging docs

Which issue does this PR close?
Related to #39 .
Rationale for this change
Add entries to .asf.yaml for publishing the docs for asf-site and asf-staging.
See https://github.com/apache/arrow-datafusion-python/pull/104#discussion_r1041493094
What changes are included in this PR?
Infra stuff
Are there any user-facing changes?
No

@kou Ping!


some time, the order of return text is not left to right, top to bottom

When parsing a pdf text I would like to have it retruned left to right, top to bottom: it's not the case. I have created a function to do that an will push a pull request!

When parsing a pdf text I would like to have it retruned left to right, top to bottom: it's not the case. I have created a function to do that an will push a pull request!

Did you push the request? I can't find it...I have the same issue

yes I did: I will do it again

Or best just put the code of the function here
`def lrtd_parse_page(document,callback,context):
"""Parse page and yield text token left to right and top down (lrtd)
:param document: open stream to the PDF file to be worked on
:param callback: a function to callback each tim a page is processed accept 3 parameters
     p the page, starts at 0
     selts the lrtb token list and context.
     selts is a list of objects {"x1":x1,"y1":y1,"x0":x0,"y0":y0,"txt":text}
     (x0,y0),(x1,y1) are the coordinates of the box surrounding the object
     if callback return False, lrtd_parse_page quits
:param context: a caller context object for storing some data and passed to callback
"""
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
p=0
for page in PDFPage.get_pages(document):
        interpreter.process_page(page)
        layout = device.get_result()
        elts=[]
        m = 0
        mindeltaheight = 1000
        """
        breakdown lines into string (w/o \n) calculate new coordinates
        """
        for element in layout:
            if isinstance(element, LTTextBoxHorizontal):
                x0 = element.x0
                y0 = element.y0
                x1 = element.x1
                y1 = element.y1
                lines = element.get_text().splitlines()
                lenlines = len(lines)
                j = 0
                deltaheight = (y1-y0)/lenlines
                if mindeltaheight > deltaheight:
                    mindeltaheight = deltaheight
                for line in lines:
                    x0j = x0
                    y0j = y1 - (1+j)*deltaheight
                    x1j = x1
                    y1j = y1 - j*deltaheight
                    j += 1
                    elts.append({"x1":x1j,"y1":y1j,"x0":x0j,"y0":y0j,"txt":line})
                if m < element.y1:
                    m = element.y1
        n = len(elts)
        """
        tune strings coordinate to get them aligned in the same "line" if not too far apart
        (less than 1/2 the min line height of the page)
        """
        for i in range(1,n):
            for j in range(i+1,n):
                if abs(elts[i-1]["y0"]-elts[j-1]["y0"])<(mindeltaheight/2):
                    elts[j-1]["y0"] = elts[i-1]["y0"]
                if abs(elts[i-1]["y1"]-elts[j-1]["y1"])<(mindeltaheight/2):
                    elts[j-1]["y1"] = elts[i-1]["y1"]

        selts = sorted(elts, key=lambda item: (round((2*m-item['y0']-item['y1'])/2,0),round(item['x0'],0)))

        # for elt in selts:
        #    print(f"({p})({elt['x0']:0.0f},{elt['y0']:0.0f},{elt['x1']:0.0f},{elt['y1']:0.0f}){elt['txt']}")
        if not callback(p,selts,context):
            return

        p +=1`

I put this function in high_level.py. It does the following thinks:

for the text block with multiple lines it breaks them into more single lines making interpolation
It cluster the (x,y,x1,y1,text) tuples to have them belong to 'lines'
it sort them left to right, top to bottom

Not 100% bullet proof but got good results over many sampled pdf files


Command in docs doesn't work on a mac

URL='https://your_app_server/api/myApi/v1/rest' mkdir input curl -o input/myapi.json $URL
on a mac causes 4 directories to be made, '-o', 'curl', '-o' and 'input/myapi.json'
Not quite the intended behaviour I suspect.

Luke, if you have time please check if this has been fixed with Martin's change!


example now allows passing of server to connect to as argument

I beleave go-xmpp is using extension for google. Do you try it with another server?

I don’t remember.

See this post in golang-dev: https://groups.google.com/d/msg/golang-dev/mE51uCXtIAg/diNahMUnjPYJ

Oh, so it was originally code from someone else, as a proof of concept only aiming at GTalk XMPP anyway,
and you put it up on github as he was no longer maintaining/publishing it.
I do think I tried it, and it may very well be that it did not work with another server.
But as I said, I don’t remember.

Then, do you thinkg that better to merge?
(Sorry, I don't understand what is best)

your repo, your decision :)


Well Rested Futures: Implement Scala Future support in RestHelper

RestHelper has long supported returning an LAFuture as the result of
a RestHelper block and auto-wrapped those in RestHelper.async so
they're dealt with via continuation, much like comet responses. This PR
extends RestHelper to support the same functionality for Scala Futures,
thus rounding out our dual support for Scala and Lift futures both here and
in snippet bindings.
We do this by moving the CanResolveAsync abstraction introduced for
snippet async future binding into lift-util and then reusing that abstraction
in RestHelper. We also add some specs for CanResolveAsync and a
spec to prove that LAFuture is still working as expected.
Closes #1735.

This should be good for another :eyes:.

Code looks good but it looks like your spec fails in Travis.
https://travis-ci.org/lift/framework/builds/96416723#L2972-L2977

I'm thinking probably the satisfy call satisfies async rather than sync, so I need to drop the .complete_? check in the specs.

Looks like the remaining codacy issues are related to duplication and “complexity”, but I don't see how we can improve on those, so I think this should be good to merge.

Lehgo!


[snappy] Please do NOT build snappy using special processor instructions (BMI2, SSSE3)

Is your feature request related to a problem? Please describe.
Compiling snappy using processor instructions available in building computer makes the produced programs undeployable to customers computers. Please never enable special instructions to vcpkg ports and make them optional if possible.
Proposed solution
SNAPPY_HAVE_BMI2, SNAPPY_HAVE_SSSE3 should be 0 while building
Describe alternatives you've considered
I am not aware if there are other options for vcpkg users to interfere with port building. Please advise.

Thank you very much for addressing this!


[WIP] transport: http push

Fix #406

I'm having problems to make the CGI server works.

Damn CGI :wink:

The CGI server now is working. The only error that I'm having now, is auth required

I think that I found the problem: https://git-scm.com/docs/git-http-backend#_services

@mcuadros ping


Update the current card number when a list has changed due to tagging.

Going from the Flashcards frame to the configuration frame after having changed the tags and then back to the flashcards, the total number of filtered cards changes correctly according to the tag. But the current card number remains unchanged in a list that has changed. If the number of cards in the filtered list has changed, the card number of the current location has to change accordingly.

This has to be done when going back to the config. frame or when exiting the app from the flashcards frame.

Maintaining the correct card number may be too complicated at this point. There can be too many edge use cases.
It may be easier just to reset the list to the 1st card if any tagging was performed. The maintenance of the correct card number can be a future enhancement.


How to get nodes with client-go in a container?

when i use this in a container created by kubernetes ,i get nothing. why?
Can you help me?
@tamalsaha @liggitt @ericchiang
nodes, err := clientset.CoreV1().Nodes().List(metav1.ListOptions{})

I solved it, because the RBAC role is not include node. Thanks a lot  @tamalsaha


Make proper interpolation test

add the moment the interpolation is tested in a very bad way. that should be changed

more or less done with #87


GPUImageHighPassFilter for image

Hi, Brad
Thank you for the work you`ve done, it saves a lot of time for many people!
I need to recreate Photoshop HighPassFilter for image. Unfortunately your GPUImageHighPassFilter is only for video. Could you help me
It is start image (inverted and overlay blended)

And this result I expect to receive

Thanks in advance!

There currently is no such filter in the framework. Perhaps you could use a blur and a custom fragment shader to pull out the elements above the blurred background. Not quite sure how Photoshop does it.


About the downloading datesets

when i run "python dbp15k --category=zh_en", i catched this error:
Downloading 1dYJtj1_J4nYJdrDY95ucGLCuZXDXI7PL into ..\data\DBP15K\raw.zip... Traceback (most recent call last):
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\connection.py", line 170, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\util\connection.py", line 96, in create_connection
raise err
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\util\connection.py", line 86, in create_connection
sock.connect(sa)
TimeoutError:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\connectionpool.py", line 706, in urlopen
chunked=chunked,
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\connectionpool.py", line 382, in _make_request
self._validate_conn(conn)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\connectionpool.py", line 1010, in _validate_conn
conn.connect()
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\connection.py", line 353, in connect
conn = self._new_conn()
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\connection.py", line 182, in _new_conn
self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x000001F996DAF390>: Failed to establish a new connection:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\requests\adapters.py", line 449, in send
timeout=timeout
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\connectionpool.py", line 756, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\urllib3\util\retry.py", line 573, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='docs.google.com', port=443): Max retries exceeded with url: /uc?export=download&id=1dYJtj1_J4nYJdrDY95ucGLCuZXDXI7PL (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object
at 0x000001F996DAF390>: Failed to establish a new connection:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "dbp15k.py", line 27, in
data = DBP15K(path, args.category, transform=SumEmbedding())[0].to(device)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\torch_geometric\datasets\dbp15k.py", line 40, in init
super(DBP15K, self).init(root, transform, pre_transform)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\torch_geometric\data\in_memory_dataset.py", line 54, in init
pre_filter)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\torch_geometric\data\dataset.py", line 89, in init
self._download()
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\torch_geometric\data\dataset.py", line 141, in _download
self.download()
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\torch_geometric\datasets\dbp15k.py", line 53, in download
gdd.download_file_from_google_drive(self.file_id, path)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\google_drive_downloader\google_drive_downloader.py", line 56, in download_file_from_google_drive
response = session.get(GoogleDriveDownloader.DOWNLOAD_URL, params={'id': file_id}, stream=True)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\requests\sessions.py", line 555, in get
return self.request('GET', url, **kwargs)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\requests\sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "D:\Anaconda3\envs\torchgpu\lib\site-packages\requests\adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='docs.google.com', port=443): Max retries exceeded with url: /uc?export=download&id=1dYJtj1_J4nYJdrDY95ucGLCuZXDXI7PL (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection obje
ct at 0x000001F996DAF390>: Failed to establish a new connection: [WinError 10060]

solved

Awesome :) You can alternatively download them directly from here.


prop to enable and disable selection_preview

Is your feature request related to a problem? Please describe.
It would be nice if there's a prop to enable and disable the selection_preview from the calendar. I'm not sure, whether there's an existing way to do this.
Note:
Anyway, fixed the issue by adding a display: none; to the dp__selection_preview class.

You can hide it in action-row prop


Simplebar conflicts with bootstrap scrollspy and js functions using $(document).ready()

Hi, I am applying simplebar to body, witch is not recommended according to readme.
I got simplebar worked after all. However, simplebar seems to making bootstrap scrollspy not working, as long as some other functions that use the $(document).ready() function in jQuery.
Is there any workaround for this issue?
Your environment

Software
Version(s)

SimpleBar
v3.1.3

Browser
Chrome / Firefox

npm/Yarn

Operating System
Windows 10

Found that it is something related to DOM structure changes in simplebar initialization, but not a bug


Change IconColor to StaticRessource or DynamicRessource

It would be nice to be able to change the IconColor based on the AppTheme.
I would like to it like this:
    <ShellContent Title="MenuTitle" Icon="{mi:Material Icon=CalendarViewMonth, IconColor={AppThemeBinding Light={DynamicResource Black}, Dark={DynamicResource White}}}"  ContentTemplate="{DataTemplate views:MyView}"/>
Or am i missing anything? Can this already be done?

It would be nice to be able to change the IconColor based on the AppTheme.
I would like to it like this:
    <ShellContent Title="MenuTitle" Icon="{mi:Material Icon=CalendarViewMonth, IconColor={AppThemeBinding Light={DynamicResource Black}, Dark={DynamicResource White}}}"  ContentTemplate="{DataTemplate views:MyView}"/>
Or am i missing anything? Can this already be done?

Of course, you can use dynamic or static resources for icon color with app theme binding. May I know what's the output of your code is? Doesn't Icon Color Changes On Theme Changes?

I updated to the newest version and it still does not work...
PS: Im relative new to MAUI, so maybe it's somehow my fault... :D

I updated to the newest version and it still does not work...
PS: Im relative new to MAUI, so maybe it's somehow my fault... :D
Edit: The Icon is on the left side of "My Plans" its nearly visible.

No worries, I'll test your usage and get back to you

I Found Your Issue, The ShellContent Overrides IconColor With it's Foreground Property that Set in Style.xaml in Resources Folder, You can change by Adjusting the Styles or Overriding those Properties in Shell Page like Below Example
<Shell
    x:Class="MauiIcons.Sample.AppShell"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:MauiIcons.Sample"
    Shell.TabBarForegroundColor="{AppThemeBinding Dark={DynamicResource White}, Light={DynamicResource Primary}}"
    Shell.FlyoutBehavior="Disabled">

</Shell>

Style.xaml
<Style TargetType="Shell" ApplyToDerivedTypes="True">
    <Setter Property="Shell.BackgroundColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource Gray950}}" />
    <Setter Property="Shell.ForegroundColor" Value="{OnPlatform WinUI={StaticResource Primary}, Default={StaticResource White}}" />
    <Setter Property="Shell.TitleColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource White}}" />
    <Setter Property="Shell.DisabledColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray950}}" />
    <Setter Property="Shell.UnselectedColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray200}}" />
    <Setter Property="Shell.NavBarHasShadow" Value="False" />

    <!-- Set Below Properties to your desired color or resource -->
    <Setter Property="Shell.TabBarBackgroundColor" Value="{AppThemeBinding Light={StaticResource White}, Dark={StaticResource Black}}" />
    <Setter Property="Shell.TabBarForegroundColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
    <Setter Property="Shell.TabBarTitleColor" Value="{AppThemeBinding Light={StaticResource Primary}, Dark={StaticResource White}}" />
    <Setter Property="Shell.TabBarUnselectedColor" Value="{AppThemeBinding Light={StaticResource Gray900}, Dark={StaticResource Gray200}}" />
</Style>

I tried it with TabBars and this works perfectly.
But i got a flyout Menu like this:
<Shell      ...     xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"     BackgroundColor="{AppThemeBinding Dark=Black, Light=White}"     FlyoutBackgroundColor="{AppThemeBinding Dark=Black, Light=White}"     ForegroundColor="{AppThemeBinding Dark=White, Light=Black}"     Shell.FlyoutBehavior="Flyout">     <ShellContent Title="My Plans"          Icon="{mi:Material Icon=CalendarViewMonth}"           ContentTemplate="{DataTemplate views:MyPlansPage}"         /> <ShellContent Title="Profile"      Icon="{mi:Material Icon=SupervisedUserCircle, IconColor={AppThemeBinding Light={DynamicResource Black}, Dark={DynamicResource White}}}"      ContentTemplate="{DataTemplate views:ProfilePage}"     /> </Shell>
And this does not work, the FlyoutBackgroundColor will be set correctly, also the ForegroundColor works, here is how it looks:

I tried it with setting the IconColor in the ShellContent Tag and also without setting it there, as you can see, both versions doesn't work...
I also removed all Styles setted for the TargetType="Shell"...

Setting Icon color on ShellContent won't work whatsoever, by Default Maui Itself Overrides the Image source aka Icon property of ShellContent. This isn't a bug with Maui or MauiIcons.
When it comes to fly out, you seems to be missing something or removal of styles for shell could cause this


search prameter

Warning: TextInputComponent: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.
in TextInputComponent
in RCTView (created by View)
in View
in TouchableWithoutFeedback
in RCTView (created by View)
in View
in RCTView (created by View)
in View
in RCTView (created by View)
in View
in TouchableWithoutFeedback
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer (created by Modal)
in RCTView (created by View)
in View (created by Modal)
in VirtualizedListContextResetter (created by Modal)
in RCTModalHostView (created by Modal)
in Modal
in RCTView (created by View)
in View
in Unknown (created by DropdownComponent)
in DropdownComponent (created by Index)
in RCTView (created by View)
in View (created by Index)
in Index
in Unknown (created by Route(index))
in Suspense (created by Route(index))
in Route (created by Route(index))
in Route(index) (created by SceneView)
in StaticContainer
in EnsureSingleNavigator (created by SceneView)
in SceneView (created by QualifiedSlot)
in QualifiedSlot (created by DefaultNavigator)
in PreventRemoveProvider (created by NavigationContent)
in NavigationContent
in Unknown (created by QualifiedNavigator)
in QualifiedNavigator (created by Navigator)
in Navigator (created by DefaultNavigator)
in RNCSafeAreaView
in Unknown (created by DefaultNavigator)
in DefaultNavigator
in Unknown (created by Route())
in Suspense (created by Route())
in Route (created by Route())
in Route() (created by ContextNavigator)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by wrapper)
in wrapper (created by ContextNavigator)
in EnsureSingleNavigator
in BaseNavigationContainer
in NavigationContainerInner (created by ContextNavigator)
in ContextNavigator (created by ExpoRoot)
in ExpoRoot (created by App)
in App (created by ErrorOverlay)
in ErrorToastContainer (created by ErrorOverlay)
in ErrorOverlay (created by withDevTools(ErrorOverlay))
in withDevTools(ErrorOverlay)
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
in main(RootComponent)

Yes, I have the same problem!


drivers: cellular: add rssi / modem information

Hello, this PR is an effort to bring a method to pull things like RSSI or modem / SIM information from an app.
It leverages the new periodic script and the begining of the cellular API implemented by @bjarki-trackunit .
The PR right now is not in a mergeable state but I'd be keen for maintainers to have a look at it and start a conversation around the fundamentals of it:

does it fit in the architecture ?
are there shortcomings I'm not aware of ?
is it too early for a PR like this ?

@naNEQ This may be of interrest :)

This is looking really good, I will find some time to thoroughly review it :)

Hello, addressed all the changes requested, I'm testing them and pushing soon.


Fix anthropic and openai generation

fixes https://github.com/di-sukharev/opencommit/issues/383

thanks for the catch, please pull latest dev


update_running_list() raising IndexError

I'm using this grammar with Conformer on Windows 10, in beta v0.2.0-114-g71c3. I'm frequently seeing errors like this in logs:
2021-10-02 17:37:32 ERROR cb error topic="app_close" cb=<function ui_event at 0x000000002D22C160>
   31:                                  threading.py:930|
   30:                                  threading.py:973|
   29:                                  threading.py:910|
   28:                    talon\windows\winevents.py:144|
   27:                   talon\scripting\dispatch.py:105|
   26:                   talon\scripting\dispatch.py:144|
   25:                   talon\scripting\dispatch.py:133|
   24:                       talon\scripting\rctx.py:233| # 'app_close' main:dispatch()
   23:                   talon\scripting\dispatch.py:105|
   22:                   talon\scripting\dispatch.py:144|
   21:                   talon\scripting\dispatch.py:133|
   20:                       talon\scripting\rctx.py:233| # 'app_close' main:_on_event()
   19:                           talon\windows\ui.py:73 |
   18:                   talon\scripting\dispatch.py:105|
   17:                   talon\scripting\dispatch.py:144|
   16:                   talon\scripting\dispatch.py:133|
   15: -------------------------------------------------# 'app_close' main:dispatch()
   14:                       talon\scripting\rctx.py:233| # 'app_close' user.knausj_talon.code.switcher:ui_event()
   13:            user\knausj_talon\code\switcher.py:353| update_running_list()
   12:            user\knausj_talon\code\switcher.py:183| running = actions.user.create_spoken_f..
   11:                    talon\scripting\actions.py:75 |
   10:                      talon\scripting\types.py:366|
    9: user\knausj_talon\code\create_spoken_forms.py:357| return actions.user.create_spoken_form..
    8:                    talon\scripting\actions.py:75 |
    7:                      talon\scripting\types.py:366|
    6: user\knausj_talon\code\create_spoken_forms.py:374| spoken_forms = actions.user.create_spo..
    5:                    talon\scripting\actions.py:75 |
    4:                      talon\scripting\types.py:366|
    3: user\knausj_talon\code\create_spoken_forms.py:317| spoken_forms_without_symbols = create_..
    2: user\knausj_talon\code\create_spoken_forms.py:237| spoken_form = create_spoken_form_for_n..
    1: user\knausj_talon\code\create_spoken_forms.py:107| words = [twenties[b2], ones[b1], t] + words
IndexError: list index out of range

I don't think this is related to any commands I'm using in Talon. I'm not actually using the running list commands.

@knausj85 guessing this is related to some of your final tweaks to spoken forms stuff? I remember you adding some stuff bout tens and twenties

I'll send a fix. This was broken for many numbers, but it would only crash on numbers in the 90s (e.g. it failed for me on 91). It is indeed caused by a mismatch in expectations about lists exported by numbers.py, although it looks like that file hasn't changed for three months (and I haven't changed it either).
Looks like this would really benefit from some unit tests. Is there a better system than the commented-out examples in the file (none of which test this particular function directly)? Automatically run unit tests seem like something broadly useful for exported Talon actions, if not the smaller functions.

Thanks. I had been on the previous revision of numbers.py for a long time in my branch. Oops.
Yes, unit tests generally would be great. There is the interim proof of concept for the draft window (https://github.com/knausj85/knausj_talon/commits/a9b64fe79f7279b172cbb29f89a0d2487e58a766/tests/test_formatters.py), but still manually run at the moment. Resources are limited.


Plot in a for loop not shown in iPython notebook?

How can you plot a decision tree several times within a for loop such as
`for i in range(2):
viz = dtreeviz(clf,
           iris['data'],
           iris['target'],
           target_name='',
           feature_names=np.array(iris['feature_names']),
           scale=2,
           class_names={0:'setosa',1:'versicolor',2:'virginica'})

viz`

The Jupyter notebook doesnt show any output. Is there some kind of possibility to have an inplace plot several times or is this a limitation of your package?

Try viz.view() but that would pop up new window each time. you'll need to use subfigs or whatever to display all together in notebook.

diplay(viz) will show every plot

Hi. yeah, you'll Have to control which ones you want to show yourself. There's no way we can know a priori which ones you want. sorry.


[WIP] Scala 2.13, Scala.JS, Microsite, Mdoc, dropping 2.11

New "site": http://quiver-site-example.surge.sh/quiver/
Closes #4
Lots of changes here:
Drop 2.11, publish for 2.12 and 2.13
Move build to simpler multi-module
Publish all modules for Scala.js 1.x
Update all the dependencies
Move from tut to mdoc
Add scalafmt plugin
Change site to sbt-microsites (couldn't get sbt-site to work with mdoc)

It's a lot here, but changes are mostly due to gradual yak shaving. There's some versioning changes brought in, I was hoping to be able to release more frequently, from CI and using dynver
Not making it a draft to trigger CI

sbt-rig is geared toward automated releases on merges to master.  It uses CI build numbers for the patch version, and gives an experience similar to dynver.  It has docs built in, and making it work with modern tools like microsites and mdoc may be another small-sized yak, but I imagine not too difficult.
Adding the project to scala-steward would also help keep the dependencies fresh.

@rossabaker
after a lot of dances around scoverage and 2.13 (no SJS1, problems with 2.13, project hasn't been released in a while), I got this into a CI passing state.
I'm going to leave the decision to stick with sbt-rig to the maintainers.
Would be happy to help set up quiver with modern tooling, as I think adding mdoc and microsite support to an archived sbt-rig project would be of little gain. Admittedly, I don't know what the status is with all those archived projects under Verizon org and whether there are official forks with release rights and maintainers that have time.
My hope is that this PR looks good enough to at least release quiver for all the platforms and versions and that I didn't break anything particularly badly :)

I'm curious what MiMa thinks of the change from Stream to LazyList.  Did we maintain binary compatibility with that, or do we need to bump the version.sbt?  This is important, because when we merge, the rig infrastructure will tag and release it.  Otherwise, this looks good to me.
I don't think anybody is actively maintaining Rig anymore.  We had problems with the public Travis CI infrastructure, and the Rig-based, private infra was much more reliable.  @timperrett replicated it when the projects moved from Verizon.  I defer to him on release infra, but am willing to help set up the variables for sbt-ci-release if there's a mandate to switch.

That's a good point, I'll run MiMa on here (is it part of sbt-rig? if not I'll add it here explicitly)
Also I think I've spotted that fold is not stack-safe, and weird behavior in nmap and emap (probably because of not using lazy mapValues anymore) - I just want to check whether it's actually due to my changes and add tests for that.
I went all-hot on new tooling just because my first experience of setting up sonatype publish happened around the same time and I was riding on a high from how easy it was :D So whatever works right now is fine as long as it can be used to release quiver for 2.12 and 2.13

sbt-rig does not integrate MiMa, but I imagine would play nicely alongside it.
Old as it is, I fully expect it's still capable of releasing this, and if it doesn't release cleanly when we hit the green button here, I'll help figure out why not.

You were right, because of the shims for LazyList it will fail bincompat:
[quiver] λ ++2.12.11; coreJVM/mimaReportBinaryIssues
[info] Setting Scala version to 2.12.11 on 6 projects.
[info] Reapplying settings...
[info] set current project to quiver (in build file:/root/projects/quiver/)
[info] Compiling 7 Scala sources to /root/projects/quiver/core/.jvm/target/scala-2.12/classes ...
[info] Cleaning datadir [/root/projects/quiver/core/.jvm/target/scala-2.12/scoverage-data]
[info] Beginning coverage instrumentation
[info] Instrumentation completed [1032 statements]
[info] Wrote instrumentation file [/root/projects/quiver/core/.jvm/target/scala-2.12/scoverage-data/scoverage.coverage]
[info] Will write measurement data to [/root/projects/quiver/core/.jvm/target/scala-2.12/scoverage-data]
[error] core: Failed binary compatibility check against io.verizon.quiver:core_2.12:7.0.19! Found 10 potential problems
[error]  * static method getLPaths(java.lang.Object,scala.collection.immutable.Stream)scala.collection.immutable.Stream in class quiver.package's type is different in current version, where it is (java.lang.Object,scala.collection.compat.immutable.LazyList)scala.collection.compat.immutable.LazyList instead of (java.lang.Object,scala.collection.immutable.Stream)scala.collection.immutable.Stream
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("quiver.package.getLPaths")
[error]  * static method getLPath(java.lang.Object,scala.collection.immutable.Stream)scala.Option in class quiver.package's type is different in current version, where it is (java.lang.Object,scala.collection.compat.immutable.LazyList)scala.Option instead of (java.lang.Object,scala.collection.immutable.Stream)scala.Option
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("quiver.package.getLPath")
[error]  * static method getPath(java.lang.Object,scala.collection.immutable.Stream)scala.Option in class quiver.package's type is different in current version, where it is (java.lang.Object,scala.collection.compat.immutable.LazyList)scala.Option instead of (java.lang.Object,scala.collection.immutable.Stream)scala.Option
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("quiver.package.getPath")
[error]  * method getPath(java.lang.Object,scala.collection.immutable.Stream)scala.Option in object quiver.package's type is different in current version, where it is (java.lang.Object,scala.collection.compat.immutable.LazyList)scala.Option instead of (java.lang.Object,scala.collection.immutable.Stream)scala.Option
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("quiver.package.getPath")
[error]  * method getLPath(java.lang.Object,scala.collection.immutable.Stream)scala.Option in object quiver.package's type is different in current version, where it is (java.lang.Object,scala.collection.compat.immutable.LazyList)scala.Option instead of (java.lang.Object,scala.collection.immutable.Stream)scala.Option
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("quiver.package.getLPath")
[error]  * method getLPaths(java.lang.Object,scala.collection.immutable.Stream)scala.collection.immutable.Stream in object quiver.package's type is different in current version, where it is (java.lang.Object,scala.collection.compat.immutable.LazyList)scala.collection.compat.immutable.LazyList instead of (java.lang.Object,scala.collection.immutable.Stream)scala.collection.immutable.Stream
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("quiver.package.getLPaths")
[error]  * method bf(scala.collection.immutable.Queue)scala.collection.immutable.Stream in class quiver.Graph has a different result type in current version, where it is scala.collection.compat.immutable.LazyList rather than scala.collection.immutable.Stream
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("quiver.Graph.bf")
[error]  * method bft(java.lang.Object)scala.collection.immutable.Stream in class quiver.Graph has a different result type in current version, where it is scala.collection.compat.immutable.LazyList rather than scala.collection.immutable.Stream
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("quiver.Graph.bft")
[error]  * method lbf(scala.collection.immutable.Queue)scala.collection.immutable.Stream in class quiver.Graph has a different result type in current version, where it is scala.collection.compat.immutable.LazyList rather than scala.collection.immutable.Stream
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("quiver.Graph.lbf")
[error]  * method lbft(java.lang.Object)scala.collection.immutable.Stream in class quiver.Graph has a different result type in current version, where it is scala.collection.compat.immutable.LazyList rather than scala.collection.immutable.Stream
[error]    filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("quiver.Graph.lbft")

Given it's changes in the public API, shall I set the version in version.sbt to 8.0.0-SNAPSHOT?

Yep!  Bump the major version just like that, and rig will release it with a semver-compliant version: 8.0.z, where z is a monotonically increasing build number on Tim's infrastructure.

I'll bump the version and then will do 1 attempt to return 2.11 back into cross-build - I misread the description of scala-collection-compat thinking it was only for 2.12

@rossabaker shall we try merging? I can't imagine the release breaking unless the fork is not setup for the io.getnelson org on sonatype, but the site won't be published - I hope to address that later

Thanks for reminding me. I thought I had already!

@keynmol quiver 8.0.9 is now released, thanks for your patience - this is now fully automated for future contributions 😄


Update google provider 4.x

closed in favor of https://github.com/mineiros-io/terraform-google-gke-cluster/pull/11


AttributeError: module 'ulid' has no attribute 'new'

Traceback (most recent call last):
  File "/home/lain/.local/lib/python3.10/site-packages/revolt/ext/commands/command.py", line 73, in invoke
    return await self.callback(self.cog or context.client, context, *args, **kwargs)
  File "/mnt/c/Users/Lain/Desktop/Developer/revocat/cogs/test.py", line 9, in test
    await ctx.send("test")
  File "/home/lain/.local/lib/python3.10/site-packages/revolt/messageable.py", line 62, in send
    message = await self.state.http.send_message(await self._get_channel_id(), content, embed_payload, attachments, reply_payload, masquerade_payload)
  File "/home/lain/.local/lib/python3.10/site-packages/revolt/http.py", line 140, in send_message
    return await self.request("POST", f"/channels/{channel}/messages", json=json)
  File "/home/lain/.local/lib/python3.10/site-packages/revolt/http.py", line 68, in request
    json["nonce"] = ulid.new().str # type: ignore
AttributeError: module 'ulid' has no attribute 'new'

trying to use a command gives me this error

You have the wrong ulid library installed, make sure you have ulid-py installed.

You have the wrong ulid library installed, make sure you have ulid-py installed.

You'd think installing this lib would install the right one lmao

It does install the correct library, i dont know how you got the incorrect one.