Content to be retired

It is my understanding that this feature became part of Outlook calendar board view [1] which has been retired [2]. Accordingly, this article is no longer relevant and should be archived or deleted.
[1] https://techcommunity.microsoft.com/t5/outlook-blog/organize-content-your-way-with-the-preview-of-project-moca/ba-p/1620329
[2] https://support.microsoft.com/en-us/office/organize-things-your-way-with-the-calendar-board-view-611ef33f-7a13-4631-a597-b5657cc19085

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

ID: 2de103f5-2ed4-62ad-0141-6e25c79c28a4
Version Independent ID: 4217c9d4-d0b2-622b-a6c1-edf8efcc9d8c
Content: Yet another Tool? Why you will probably love Project Moca aka Outlook Spaces
Content Source: Community/Yet-another-Tool-Why-you-will-probably-love-Project-Moca-aka-Outlook-Spaces.md
Service: outlook
GitHub Login: @LuiseFreese
Microsoft Alias: daisyfeller

@rgsteele - Thanks for letting us know about this. We'll retire the article, as you suggested.


win-12 is low disk space on Temp directory.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
win-12 is low disk space on Temp directory.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Removing old files and folders to free up disk space under directory /Users/swarming/AppData/Local/Temp.


Rename ErrorMessage to ValidationMessage

Clearer intent of use so that it can support both invalid={true} and invalid={false} - making it easy to confirm that a input is valid as well - not only errors
### Tasks
- [ ] Rename component in Figma
- [ ] Rename component in React+CSS

We decided to do this in todays daily with team.

in progress for react


Set default cache name for resolver

Fix issues : client is failing due to empty cache Config settings

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://github.com/snowplow/snowplow/wiki/CLA to learn more and sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.

. I signed it!

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://github.com/snowplow/snowplow/wiki/CLA to learn more and sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.

. I signed it!

Confirmed! @Volland  has signed the Individual Contributor License Agreement. Thanks so much

Thanks @Volland! However, does it mean that Iglu client in order to be constructed expects a property called cacheConfig? I don't think it is right, because resolver configuration should match resolver-config JSON Schema and there's only cacheSize and optional cacheTtl properties. I think we should be consistent in various iglu implementations and our current JS client implementation is slightly divergent.

@chuwy I want to fix this or create the community for node js. I just fix a failure.
I have parallel PR that check if the environment is nodejs and use node-fetch and fetch-cache storage packages. So we have isomorphic lib. but still, the embedded resolver is missed.  Current implementation and cache-config, in particular, is heavily dependent on experimental cache web API.
and cache open expect a name. So it is a root of all issues. I propose to derive cache name from repo name So schema is not affected

I propose to derive cache name from repo name So schema is not affected.

So, effectively it is going to be a singleton? I don't have anything against this idea.


Structured reasons for rejection support dashboard - iterate at a glance metrics

Context
We're iterating the design and stats shown on the structured reasons for rejection support dashboard.

Changes proposed in this pull request
Amend the 'At a glance' metrics for each section on the dashboard.

Guidance to review
This PR is based off https://github.com/DFE-Digital/apply-for-teacher-training/pull/5939 the last 3 commits deal with the 'At a glance' stats.

Link to Trello card
https://trello.com/c/GrSXN6hU/4412-sr4r-support-dashboard-iterate-at-a-glance-metrics

Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] Required environment variables have been updated added to the Azure KeyVault

@cwrw Thanks for review, I've formatted columns as per design prototype now, (30% and remaining columns @ 17.5%)
Also agreed with design about the zero percentage format, this should be consistent now.


Revamp of the false positive history feature

The current fp history implementation is kinda old and clunky, that's why I feel most people doesn't use it. Hopefully this PR will change that.
Personally, I use it for the following workflow:

Not use dedup;
One engagement per branch;
Reimport everything (to avoid a bunch of duplicates);
Mark the same finding as false positive in the entire product regardless of which branch/engagement has found it (to avoid marking the same thing as fp over and over again).

But it should be generic enough to fit other use cases.
Anyway, this PR makes the following changes:

[x] FP History now takes the deduplication algorithm into account in order to determine if a finding is false positive or not;
[x] FP History now only works when deduplication is disabled (it doesn't make sense to use both);
[x] The FP History method (do_false_positive_history at dojo/utils.py) retroactively mark all findings in the product as false positive if the finding passed as argument is (or is being marked as) a false positive;
[x] New method at dojo/utils.py called match_finding_to_existing_findings that takes one finding as argument and returns a list of existing findings based on its deduplication algorithm and a custom filter (this method can return matched findings in three diferents scopes: product wide, engagement wide, test wide). I feel like this is a useful method to have as it can be used for multiple purposes (including replace the similar, but less versatile, match_new_finding_to_existing_finding method at dojo/importers/reimporter/utils.py).
[x] Retroactively (un)mark all findings in the product as false positive when editing finding.
[x] Retroactively (un)mark all findings in the product as false positive when bulk editing findings.
[x] Unit tests
[x] Integration tests

Edit¹: The retroactive behaviour is now opt-in, toggleable via system settings.

Not sure if I'm the best one to advise on the FP feature as I never understood the difference with deduplication. But I like the use case where you do NOT use deduplication, but still want false positives to be "synced" up across tests/engagements.
But:

Wouldn't the same use case maybe apply for "Out of Scope"(or Risk Accepter or future other statuses like "Fix in progress")?
The algorithm is called "deduplication algorithm". but now we're using it for something else and while deduplication is (possibly) turned off. We already do this also with reimport, but it might become confusing, so maybe a rename is needed at some point?

I think the same use case does apply to "Out of Scope", but "Risk Accepted" is more complicated. A false positive is a false positive regardless of where it was found, but I see cases where the same finding can be accepted in dev/qa but not in prod. I was thinking about writing a "Risk Acceptance History" feature after this one, but it seems more complicated than FP History (the RA History would need a custom check per engagement to enable/disable it).
Maybe we could make dedup more customizable, like give it the ability to duplicate only a few set of status (fp, out of scope, ra). I think this has the potential to eliminate the need of "history alike" features and the confusion of using dedup alg for multiple stuff, but honestly I don't know how time consuming this implementation is.

Been looking and thinking about this a little bit. I'm not opposed to revamping. It's true FP has stopped functioning as intended. It now actually seems to do the exact opposite of what was it's intended functionality 😂 . I thought one specific call was a little over aggressive, but I can't find it right this second. If we're going to reintroduce FP rather than sunsetting it, I think it would make sense to label it as experimental. I know I am the slowest at giving feedback 😪  If you can give me to next Wednesday it would be appreciated.
@adiffpirate thank you for taking this on. There is a ton of work in this PR and it is greatly appreciated. If you're interested in taking on other enhancements the #defectdojo-dev channel is a great place to get early feedback although not in anyway required.

Just a couple thoughts. Thinking out loud, not saying these have to be changed.

Most smart features in Dojo are forward looking. I see the use case for retroactive application, but we may want to make that toggle-able
I'm a little concerned that tuning the same areas of dedupe could impact FPH without a user knowing it. We recommended that users don't use both features at the same time generally, but we would probably just to want to really clearly document that.
Originally FPH aimed to work across tools because how noisy specifically dynamic scanners. That usecase is mostly gone, and I like that your implementation is much cleaner. Maybe someday we can correlate unique ids from different scanners.

Let me do some more noodling and I'll come back with concrete things rather than just thinking out loud. Will also pull the code and play with it a little bit.

Sorry for the delay @adiffpirate. To confirm, I would request the following changes be made to be inline with the other smart features:

[ ] Add an experimental label in the help text of the system setting.
[ ] Add toggle for retroactive vs non-retroactive false positive treatment.

@devGregA Thanks for the feedback and sorry for taking so long to respond it. So, about each item:
"Most smart features in Dojo are forward looking. I see the use case for retroactive application, but we may want to make that toggle-able"
Makes sense, it has a considerable impact so it's better to be opt-in.
"I'm a little concerned that tuning the same areas of dedupe could impact FPH without a user knowing it. We recommended that users don't use both features at the same time generally, but we would probably just to want to really clearly document that."
I share the same concern. My proposal is to make FPH mutually exclusive with dedup since I can't think of a reason to have both on. This is already implemented on the current code but it's not clear on the system settings page, will improve that.
"Originally FPH aimed to work across tools because how noisy specifically dynamic scanners. That usecase is mostly gone, and I like that your implementation is much cleaner. Maybe someday we can correlate unique ids from different scanners."
How nice of you 😊 The goal of reusing dedup logic was to make the code more "familiar", simple and easier to maintain, although to be honest I'm not 100% satisfied with the current state, I still think we should use the match_finding_to_existing_findings method for dedup, import, reimport, FPH and any other feature that requires matching finding to existing findings, but this is for a different PR. And I also agree that would be neat if you could correlate unique ids, although I'm sure how we could do that hahaha
I guess that's it, I'm gonna resolve the conflicts and implement your feedback (hopefully this week).
Thanks for time and attention 💛

Thank you @adiffpirate! Looking forward to it.

@adiffpirate are you still working on this?

Closing due to lack or response. Please feel free to re-engage when/if you are able.

Hi @devGregA. I'm so so sorry for the absence.
I was very focused on my work and dealing with some personal issues the past months, so I was lacking the time/mental health needed to finish this.
But I couldn't forgave myself if this PR just died and the feature was never implemented.
So we're back on track and the following items are now completed:

Resolved conflicts (the branch was rebased on top of dev)
Added setting to toggle the retroactive behaviour (which is off by default)
Added unit tests to make sure things work as expected when retroactive is disabled (unit tests for when retroactive is enabled already existed, so both scenarios are being covered)
Improved help text on system setting to state very cleary that this is a experimental feature, what it does and how it works

Is it possible to reopen this PR or should I create a new one?
I believe that the current state is deliverable, although the unit tests for retroactive fp history when editing/bulk-editing are still missing. You think it's ok if we added these later?

Hi team, I've rebased the branch on top of dev and finally implemented the missing tests. After a really long time (sorry about that :sweat_smile:) I believe this feature is 100% completed.
I saw that in the mean time Defect Dojo's stopped accepting new features, but I don't know if this falls in the same category since it's a revamp of an existing feature. What you guys think?


The system detected an invalid pointer address in attempting to use a pointer argument in a call

Problem Description
Keep getting this error when running mitmweb.
[16:55:02.607] Traceback (most recent call last):
File "asyncio\proactor_events.py", line 839, in loop
File "asyncio\windows_events.py", line 837, in _poll
File "asyncio\windows_events.py", line 586, in finish_accept
OSError: [WinError 10014] The system detected an invalid pointer address in attempting to use a pointer argument in a call
[16:55:02.613] Traceback (most recent call last):
File "asyncio\windows_events.py", line 591, in accept_coro
OSError: [WinError 10014] The system detected an invalid pointer address in attempting to use a pointer argument in a call
Steps to reproduce the behavior:

Open CMD, type 'mitmweb'
Go to Android 11 Settings > WiFi, Then my network name > Proxy > Put in local ip and port (<IP_ADDRESS>, 8080)
Wait for the error, or turn wifi off and back on.

System Information
Paste the output of "mitmproxy --version" here.
Mitmproxy: 9.0.1 binary
Python:    3.11.0
OpenSSL:   OpenSSL 3.0.7 1 Nov 2022
Platform:  Windows-10-10.0.19044-SP0

Can you reproduce this consistently? This seems like a bug in Python's asyncio module.

Yes, it keeps happening even after PC restart.

Tried Microsoft Store install aswell. same issue.

Not sure what' up here, but that very likely is not a mitmproxy bug.


chore: update rstudio version

I still have to test this to see if it works and fixes the issue reported here:
https://renku.discourse.group/t/rstudio-version-too-old/393

No luck with a quick PR. Rstudio does not start with this change. So we need to do some troubleshooting.

this is related to #154 and #160

thanks @ableuler.
Bioconductor 3.13 requires R 4.10. R 4.1.0 can only work in RStudio 1.4 #160. However, there are still some issues with jupyter-rsession-proxy. Although it works locally, this extension doesn't seem to function very well in JupyterHub (see my comments here)

thanks @ableuler.
Bioconductor 3.13 requires R 4.1.0, which can only work in RStudio 1.4 #160. However, there are still some issues with jupyter-rsession-proxy. Although it works locally, this extension doesn't seem to function very well in JupyterHub (see my comments here)

Ah sorry, hadn't seen your comment on the issue. I just had a quick look why acceptance tests on this PR were failing and fixed it by adjusting the www-root-path manually or setting RSESSION_PROXY_RSTUDIO_1_4=true respectively.

So does this work or not?

So does this work or not?

not yet

ok - I was confused by all the green and was tempted to push the merge button 😆

Yeah - I think in the light of recent events and our future plans for Rstudio sessions in renkulab.io, I'd suggest to close this PR altogether.


Not allow user to choose compared end time for diagnosis report

Feature Request
Is your feature request related to a problem? Please describe:

Describe the feature you'd like:

When generating a diagnosis comparison report, we allow the user to choose any normal start time / end time and any compared start time / end time.
But in fact the normal start time / end time and compared start time / end time should have the same length, so if normal start time / end time, and compared start time is confirmed, the compared end time can be computed and should not allow the user to change it.
Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

done by #257 , close it


[templ] Gohtml conversion to Templ

This ticket is part of an effort to convert all Gohtml views to Templ. Some of these have already been converted but the bulk is yet to be addressed.
Most views are somehow dependent on other views which creates a virtual web of view dependencies which have to be converted all together which will be a massive effort and has to be concentrated on the shortest possible amount of time to avoid interference on other development. But some views (mostly loaded partially through HTMX, like eg. modal dialogs) can already be converted beforehand so that giant effort is reduced a little.
This ticket addresses those "smaller conversions" that don't impact the bulk of the views. We'll list the specific files that should be possible to convert individually (or with few related views - indented) here. We'll also try and identify unused views that can be removed here.
Views to be converted
[✔ = covered by Cypress tests]

[x] views/error_dialog.gohtml ✔
#1481
[ ] views/form_errors_dialog.gohtml
[x] #1498
[x] views/dataset/add_department.gohtml ✔
#1454

[x] views/dataset/_suggest_departments.gohtml ✔

[x] views/dataset/add_project.gohtml
#1472

[x] views/dataset/_suggest_projects.gohtml

[x] views/dataset/add_publication.gohtml ✔

[x] #1486

[x] views/dataset/confirm_delete_abstract.gohtml ✔
#1444
[x] views/dataset/confirm_delete_contributor.gohtml ✔
#1426
(other contributor related views have far more dependencies so are probably out of scope of this ticket)
[x] views/dataset/confirm_delete_department.gohtml ✔
#1461
[x] views/dataset/confirm_delete_link.gohtml ✔
#1460
[x] views/dataset/confirm_delete_project.gohtml ✔
#1466
[x] views/dataset/confirm_delete_publication.gohtml ✔
#1465
[x] views/dataset/confirm_delete.gohtml ✔
#1422
[x] views/dataset/confirm_publish.gohtml ✔
#1413
[x] views/dataset/confirm_republish.gohtml ✔
#1413
[x] views/dataset/confirm_withdraw.gohtml ✔
#1410
[x] views/media_types/suggest.gohtml ✔
#1424
[ ] views/modals/error.gohtml
[ ] views/publication/add_dataset.gohtml ✔

[ ] views/publication/_suggest_datasets.gohtml ✔

[x] views/publication/add_department.gohtml ✔
#1456

[x] views/publication/_suggest_departments.gohtml ✔

[x] views/publication/add_project.gohtml
#1473

[x] views/publication/_suggest_projects.gohtml

[x] views/publication/confirm_delete_abstract.gohtml ✔
#1437
[x] views/publication/confirm_delete_contributor.gohtml ✔
#1425
(other contributor related views have far more dependencies so are probably out of scope of this ticket)
[x] views/publication/confirm_delete_dataset.gohtml ✔
#1464
[x] views/publication/confirm_delete_department.gohtml ✔
#1462
[x] views/publication/confirm_delete_file.gohtml
#1469
[x] views/publication/confirm_delete_lay_summary.gohtml ✔
#1443
[x] views/publication/confirm_delete_link.gohtml ✔
#1441
[x] views/publication/confirm_delete_project.gohtml ✔
#1467
[x] views/publication/confirm_delete.gohtml ✔
#1421
[x] views/publication/confirm_publish.gohtml ✔
#1415
[x] views/publication/confirm_republish.gohtml ✔
#1417
[x] views/publication/confirm_update_type.gohtml ✔
#1419
[x] views/publication/confirm_withdraw.gohtml ✔
#1410
[ ] views/publication/pages/add.gohtml
#1485

[x] views/publication/add_multiple_sidebar.gohtml (TODO: remove .gohtml file)
[x] views/publication/add_single_sidebar.gohtml (TODO: remove .gohtml file)
[x] views/publication/pages/add_wos.gohtml
[ ] views/publication/pages/add_identifier.gohtml
[x] views/publication/pages/add_manual.gohtml
[x] views/publication/pages/add_bibtex.gohtml

[x] views/dashboard/*/*.gohtml
#1438
[x] #1442
[x] #1452
[x] #1457
[ ] ...

Unused views (to be deleted)

[ ] ...

I suggest we create individual PR's per set of related templates (as small as possible).

Closing this issue to avoid confusion, please continue tracking your issues here: https://github.com/ugent-library/biblio-backoffice/issues/1487


Updates for CallerId

Updated callerId assignment to be taken from claims after auth rather than from the activity.
Updated related tests.
Applied temporary fix for the new callerId log for DialogManager (final fix will be done after refactoring to match DialogExtensions.RunAsync logic).

Is there an issue for this fix?


Add setting to automatically go to next problem in problem list after correcting an error with quick fix

If I have multiple problems i.e. errors, spelling mistakes in my file, if I type Ctrl + . and accept a correction with quick fix, I would like to automatically move to the next problem without having to manually run the key combo Alt+F8 to move to the next problem.
Currently if I want to correct multiple problems I have to

Click Alt+F8 to move to first problem,
Press Ctrl+. to bring up the suggestions.
Select a suggestion with arrows+Enter or Mouse Click.
Press Alt+F8 to the next problem

I would like to eliminate the last step and have a setting that allows it to automatically move to the next problem.
Visually explained:

Have file with problems and Press Alt+F8 to navigate to first problem

Press Ctrl+ . and select a suggested correction from the list with mouse click or enter.

After correction with Ctrl+. the cursor stays on the corrected word and one has to manually click Alt+F8 again to to go to the next problem.
Otherwise the cursor and the the current information dialog stays on the corrected problem that has already been corrected.

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


qBittorrent crashes on startup

Describe the bug
qBittorrent crashes on startup, after it loads all the torrents.
To Reproduce
Steps to reproduce the behavior:

Start qbittorrent on nixpkgs master, with many trackers listed in the sidebar
Observe crash after it loads all the torrents

Additional context
qBittorrent version: v4.1.7

Caught signal: SIGSEGV
Stack trace:
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Network.so.5 : ()+0xa0944  [0x7f79efba6944]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Network.so.5 : ()+0x9f28c  [0x7f79efba528c]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Core.so.5 : QObject::event(QEvent*)+0xe2  [0x7f79ef8370c2]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Widgets.so.5 : QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x9c  [0x7f79f048517c]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Widgets.so.5 : QApplication::notify(QObject*, QEvent*)+0x2f0  [0x7f79f048c700]
  /run/current-system/sw/bin/qbittorrent : Application::notify(QObject*, QEvent*)+0x22  [0x4f3c82]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Core.so.5 : QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x118  [0x7f79ef8067f8]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Core.so.5 : QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)+0x1a7  [0x7f79ef809357]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Core.so.5 : ()+0x2f81c3  [0x7f79ef8641c3]
  /nix/store/hw50i4g23gpxrcvi827qzj5iqpihpfar-glib-2.60.4/lib/libglib-2.0.so.0 : g_main_context_dispatch()+0x2e7  [0x7f79ec8218e7]
  /nix/store/hw50i4g23gpxrcvi827qzj5iqpihpfar-glib-2.60.4/lib/libglib-2.0.so.0 : ()+0x51b20  [0x7f79ec821b20]
  /nix/store/hw50i4g23gpxrcvi827qzj5iqpihpfar-glib-2.60.4/lib/libglib-2.0.so.0 : g_main_context_iteration()+0x2c  [0x7f79ec821bac]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Core.so.5 : QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x5f  [0x7f79ef8637df]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Core.so.5 : QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x13a  [0x7f79ef804b1a]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Core.so.5 : QThread::exec()+0x6a  [0x7f79ef61e8ba]
  /nix/store/wbmnvvclpcm4d6fbkm1qmri9v5vyb1ma-qtbase-5.12.0/lib/libQt5Core.so.5 : ()+0xb4062  [0x7f79ef620062]
  /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0 : ()+0x7ef7  [0x7f79ef552ef7]
  /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6 : clone()+0x3f  [0x7f79eeebc22f]

I believe this regressed with the Qt version bump in https://github.com/NixOS/nixpkgs/pull/66381
Upstream bugs are https://github.com/qbittorrent/qBittorrent/issues/11046 and https://github.com/qbittorrent/qBittorrent/issues/11071
Workaround: disable tracker favicon fetching in the config:
[GUI]
DownloadTrackerFavicon=false

Metadata

system: "x86_64-linux"
host os: Linux 4.19.67-hardened, NixOS, 19.09.git.9c8da6d (Loris)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2.2
channels(root): "nixos-18.09.1922.97e0d53d669"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

This does not happen unless you have many trackers in the sidebar, and I don't think NixOS should do anything other than wait for qBittorrent or Qt upstreams to fix, so I am closing.


doc: expand on language pack documentation

Changes
Adds more detail around how language packs can be provided by third parties, and the expected structure and metadata required. Creating as WIP pending additional discussion and possible implementation of https://github.com/knative-sandbox/kn-plugin-func/issues/452
/kind documentation
Fixes: https://github.com/knative-sandbox/kn-plugin-func/issues/452

Closing this. Changes here have been copied to https://github.com/knative-sandbox/kn-plugin-func/pull/558 and updated.


Group List Titles hidden behind top bars.

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Framework7 Version: 1.5.4

Platform and Target: iOS and Material

What you did
Hi. I was trying to use the Contact List and end up with the following code:

                Page Title

A

                                Anonimous 1

                                Anonimous 2

Expected Behavior
The .list-group-title elements should stay visible when I scroll the page.
Actual Behavior

When there's no navbar, it works.
When there's a fixed top bar (nav, tool, tab, etc), the group title stays hidden behind those bars.
When used along with the "hide-*-on-scroll" the group titles is scrolled out of the page and when the bars returns the group title is hidden by them.

I found that, in the 3rd case, the transition rule puts a negative 'top' rule, making the position: sticky rule being kinda useless. And when the bars return, the 'top' goes back to 0 and it's like the 2nd case when the bars hide the group title.

@thiagoabreu @nolimits4web
Can confirm the bug bit it was there before v1.5.4.
Only on Chrome for Android, iOS Safari is fine.

@nolimits4web
Please take a look at this, it's a great feature but unusable because of iOS only support

I'm also experiencing this issue.
The easiest way to replicate the problem is to view the F7 kitchen sink demo on an Android device in the Chrome browser, go to the List View section and scroll down to the 'Grouped with sticky titles' (which aren't sticky).
`https://framework7.io/kitchen-sink-material/`

It can also be replicated in the Chrome desktop browser using the dev tools, device toolbar to emulate an Android device.

It is a Chrome browser issue with wrong position:sticky implementation


Enable support for generated lists

Fixes #637

:white_check_mark: Build ExtendedXmlSerializer <IP_ADDRESS>-awxvcdwi completed (commit https://github.com/ExtendedXmlSerializer/home/commit/adccd74234 by @Mike-E-angelo)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version <IP_ADDRESS>-awxvcdwi -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview

Problems with the above command? You may be running into this known issue here:
https://github.com/NuGet/Home/issues/7189


Correct sign of densities and potentials in KPFM

Fixes #250. What I have done to address the sign issue itself can be best understood from the code changes I think. Besides that

The main of ppafm/cli/generateElFF.py was creating two copies of the electrostatic potential before calculating LCPD: v_v0_aux = electrostatic_potential.copy() and v_v0_aux2 = electrostatic_potential.copy(). Having the same field written in three places made the code look rather messy to me and I found it difficult to keep track of the required sign changes in such a mess so I did away with those copies. As I understood it, they were needed because the potential2forces_mem function in ppafm/fieldFFT.py would remove the array with the potential after the potential had been used, unless the function had been called with the deleteV=False argument. In order to address this, I have therefore introduced the deleteV argument to the function computeElFF from ppafm/HighLevel.py so that the deleteV=False option could be passed from generateElFF.py to potential2forces_mem through computeElFF.
The FFkpfm_tVs0 term was scaled by the tip charge abs(PPU.params.["charge"]) here https://github.com/Probe-Particle/ppafm/blob/18a5d8a68158e5ffc76d7988bb3e9a6a3b86ff2d/ppafm/HighLevel.py#L160 I did not think this made any sense so I removed this scaling: https://github.com/Probe-Particle/ppafm/blob/aaeedbcbabab2c82453ff283379b4a4e21720071/ppafm/HighLevel.py#L160 @aureliojgc, can you comment on what idea was behind it? Anyway, as I removed it, I changed the meaning of the numerical tip polarizabilities defined here: https://github.com/Probe-Particle/ppafm/blob/aaeedbcbabab2c82453ff283379b4a4e21720071/ppafm/cli/generateElFF.py#L126-L137 I did not change the numbers (only the signs) as it seemed to me that before I removed the scaling, the FFkpfm_tVs0 contribution was always negligible with respect to the FFkpfm_t0sV contribution for default tip polarizability and typical tip charge, which did not seem right. Now this relative contributions of  FFkpfm_tVs0 and FFkpfm_tVs0 somewhat improved as to become more equalized.

This PR now also closes #252. On the one hand, I understand this is a somewhat non-standard work flow as the two issues, #250 and #252, have nothing in common except they both need to be solved in order to generate the LCPD image for the paper. On the other hand, we need the figure for the paper urgently and the commit that solves #252 changes literary just one line of code. As long as the change is uncontroversial, doing all the motions with a separate pull request would be a waste of time and effort.
Tl;dr: Please also check the second commit in this PR.


Cannot invoke 'rx_itemsWithDataSource' with an argument list of type '(RxTableViewSectionedAnimatedDataSource)'

I folowed the instructions on the example and this is the error i got on:
tableView.rx_itemsWithDataSource(dataSource)

error:
Cannot invoke 'rx_itemsWithDataSource' with an argument list of type '(RxTableViewSectionedAnimatedDataSource)'

Hi, @davidlondono do you use with bindTo ?

yeah, i used it with it, and on a separated variable, and I got the error

rx_itemsWithDataSource is currying function
public func rx_itemsWithDataSource<DataSource: protocol<RxTableViewDataSourceType, UITableViewDataSource>, S: SequenceType, O: ObservableType where DataSource.Element == S, O.E == S>
        (dataSource: DataSource)
        -> (source: O)
        -> Disposable

so It's need to know the type of source in order to please compiler :)
If you would look on generic part DataSource: protocol<RxTableViewDataSourceType, UITableViewDataSource>, S: SequenceType, O: ObservableType where DataSource.Element == S, O.E == S it checks whether DataSource.Element == S, O.E == S
I guess if you want to use it in variable you need to annotate types
kinda :
let binder: (Observable<S>) -> Disposable = tableView.rx_itemsWithDataSource(dataSource)

ok, but still, on the bindTo it doesn't work

Most likely it does not work because this constraint  DataSource.Element == S, O.E == S
Could you please provide more context (eg. code sipped, with annotated types)

This seems stale.

@davidlondono Please ensure that your source is Observable<[Element]>


Custom element doesn't exist: atomic-calendar-revive.

Hi.
I get error "Custom element doesn't exist: atomic-calendar-revive" when trying to use code in lovelace card, what am I doing wrong?
type: 'custom:atomic-calendar-revive'
title: "My calendar"
progressBar: true
entities:
  - calendar.private_calendar

Kind regards
Stian

Hi there,
This usually happens when the card isn't loaded into the interface correctly.
Please check F12 on the console you should see atomic-calendar-revive with the version number you installed.
also make sure you added the calendar to the resources section in HA.

Hi again.
I am a noob, forgot to add the calendar to resources in lovelace. When that was done and cache was cleared everything works. Thanks for help @marksie1988 :)


Logo

Make some nice logo picture.
Ideas:

Write Bubbles with bubbles
Make a Bubbles background (Rectangle) and add bubbles as holes to make the bubbles writing.

#fixed using ParGeo.


Questions from a center with a similar tool

Came across your job-maker today, while looking for such things :-) We have a similar tool here that I developed in ember about 2 1/2 years ago now, integrated into our HPC web portal. Unfortunately it's not open-source (yet). It is, however, very similar with some differences being:

You can add serial/parallel command groups to the script in the web, rather than call a single script/program.
It allows selection of modules on the cluster from a modal window
Can submit directly into the batch system
Script updates on the fly as form edits are made
It does not support reading the cluster configuration nicely - horrible hard-coded stuff ahoy.

I wondered if you are developing your tool further? The thing we have is the only ember app across all of our projects - and ember is overly complex for it. If this job-maker is an ongoing project, it'd be something that we might consider as a possible future replacement for our code, and something we could contribute to.

hey @dctrud, this sounds like an awesome idea! I agree completely that ember isn't as well known (or at least now, Vue.js is very popular). I would love to combine the two tools, and further, I'd even suggest we look critically across the general tools we have, the needs of the users, and make development a group effort. Do you want to join researchapps and start hacking away? I can also, with some guidance about additions, give a first go at adding specific needs for your center. I would say we should strive for the following:

general tools for HPC groups (admins and users)
they should be customizable by the user
each should have a good docs base
we should try to build some community initiative into it - I created researchapps for this purpose but it's mostly been me hacking around stuff :)
to the best of our ability, if possible, provide containers for things.
(knowing yours and others needs) have clear instructions, etc for private deployment

What

Hi. This particular thing (slurm script creator) will likely be a project for a new member as they join our team - so it won't be me coding, and it isn't going to be an immediate thing. Just anxious for them to not re-invent the wheel (again), and hopefully contribute to something that is alive outside of our small team.
The researchapps idea is a good one. We have a bunch of things that are of at least some interest to others, and are looking to open-source bits over the next year or so. Open-source release isn't something that's routine here, so it will take time - but those in charge are behind it.

okay great! Ping on here (you or the new member) when the time is right.

Not a ping to jump in yet, but just rediscovered a git repo from 2 years ago of the standalone tool before we integrated it into our portal. https://git.biohpc.swmed.edu/david.trudgian/ember_sbatch
If you want to look it's just a clone and open index.html - modules, partitions etc. are nasty hard coded things before the portal integration (after which they pull them from json REST endpoints).


Support signup flow with membership plan selection without Stripe enabled

Is your feature request related to a problem? Please describe.
Stripe is awesome, but for makerspaces like ours where every penny counts their pricing isn't something we can justify right now.
MemberMatters is also awesome, but it requires Stripe to get the most out of it, and we don't have Stripe.
Describe the solution you'd like
It would be amazing if I could setup membership plans and associate members with them without having to use Stripe.
We currently collect our membership fees by Direct Debit, so the stripe side of things really isn't needed for us in that area, and we can do the same thing for the "memberbucks", so Stripe isn't needed there either.
It would be amazing if this screen had a "manual payment" button or similar:

I've noticed that when I add Memberbucks within the /admin area, there are options for "Bank Transfer", "Membership Card", and "RFID" as well as Stripe, but even if I select "Bank Transfer" the dashboard says I can't use my MemberBucks because Stripe isn't setup.
Describe alternatives you've considered
I've looked at just about every membership management solution out there and even considered building my own, but getting this feature added to MemberMatters seems to be the best way forward!
Additional context
Add any other context or screenshots about the feature request here.

That is totally understandable. At my old makerspace, we made the decision the time and effort for manual payments/reconciliation wasn't worth it due to extremely limited volunteer time. The ~3% fee or whatever it is meant the exec team saved several hours per week. At my new makerspace, it's also the case as it's currently run entirely by me 😅. However, I also understand that may not be the case in every situation!
Right now, the entire MemberMatters system relies on Stripe for anything to do with payments as you've found out. The "bank transfer" option for the MemberBucks is because sometimes members would want to pay directly into the account or with cash so I added a generic option to keep track of where that money went (but we still mostly used Stripe).
I did try to make it optional in places, but I've never actually used the full signup workflow without a Stripe integration, so there's a few (silly) things that are now evident. Like that screenshot, is just the update a card component, but it doesn't work without Stripe so it means that whole workflow is not functional without a Stripe setup.
I think the best way forward for you for now (at least short term) is to tell people to pick "account only". Then you can still use the system to manage access, and a few of the member tools (like submit an issue/last seen etc.) but that's about all it would be able to do.
Funnily enough, we used to operate on a manual payment system where Xero would send an invoice out each month but transitioned to a fully automatic debiting system with Stripe. So the portal actually used to support this use case really well, but doesn't any more. 😅 There's likely to be quite a few places we'll have to make it "no-Stripe friendly", so it may take a while, but I'm definitely keen to make it work for you folks!

I think for the medium term, the quickest way forward to make MemberMatters useful to you would be to add support for manual payments during the signup flow, and to remove the requirement for Strip to use MemberBucks. Does this sound like a plan? There's likely to be a few rough edges around still, but I think that should get you up and running the soonest. :)

That would be amazing, thank you!

Heya, I've just made some changes to support the member bucks feature without Stripe enabled. There's a new config option called ENABLE_STRIPE (True by default for backwards compatibility). If this is not enabled (or the Stripe keys are not configured) you can now use the member bucks page. The debit endpoints (for vending machines etc.) and the manual "make payment" button should both work but the "add funds" and "manage billing" buttons will be hidden. There is also a small note at the bottom explaining how to add funds to their account.
These changes will be included in the next release, but you can test them out locally by fetching the dev branch.

I've also tidied up the transaction types and added cash for reference.

I'm not sure if I've already mentioned, but you can also skip the entire plan selection stage of the signup flow by setting ENABLE_STRIPE_MEMBERSHIP_PAYMENTS to False. This in combination with the member bucks changes above should allow you to get started.
This means you'll have to manage the plans and payments for members completely separately and manually, but will allow you to get started at least. :)

Thanks, this is a great step in the right direction for us.
Ideally, we'd be able to manage plans via Membermatters without relying on stripe, but I see from the code that when you add a membership tier you effectively setup a billing code in Stripe, so I understand why you've skipped it completely here!
I assume that once someone has signed up, we then need to activate them via the Admin section rather than them being "auto activated" as they can't pick a subscription level?  Again, this is fine for now, but it would be great to be able to associate member tiers without needing stripe as well... I know, I'm asking a lot! :D
Other than that, this looks great so far, thanks for all your work on adding this!

Yeah the current membership tier / billing plans directly map to a Stripe Product and Price and some of the flow relies on charging the card and verifying the charge went through etc. It shouldn't be too tricky to skip those steps if Stripe isn't enabled.
Hypothetically, if the system allowed a member to pick a plan and record which one a member chose, and instead of a Stripe add a credit card screen they saw a short description explaining how to pay, would that be sufficient for your use @proffalken? They would not be able to proceed past this screen until an admin clicked on "Make Member".
Additionally, we could add an admin email notification when a user clicks on "cancel subscription" and when a new subscription is started. I imagine the system shouldn't touch the member's access and an admin will manually process it when appropriate.

@jabelone that sounds perfect tbh!

I'd forgotten that I'd opened this.
We're now using stripe, happy for this to be closed.


Update version number for install to work

Version 2.0.0b2 already commit in https://github.com/lxc/pylxd/pull/64


Operation: DNS Over HTTPS

Pull request to implement #433.
Takes a domain name as input, before performing a fetch request to the specified resolver. If only the answer data is needed, an option to just return a JSON array of values is implemented.
It is worth noting that I have put this is the "code" module as I noticed that jsonpath library is used by the jpath recipe. It is also used in this recipe to implement the feature of only returning answer data rather than the full JSON response. I'm new to the CyberChef codebase so please let me know if there is a better way of doing this!
EDIT: I have now removed the jsonpath import and moved to the "Default" module.
Example Outputs:

 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.

Great work, thank you very much!


[document] improve markdown file in document via standard markdownlint

Ⅰ. Issue Description
We use markdown to edit document in Pouch project. While to provide much better experience for Pouch users, we think pouch markdown file should be in a unified standard.
After comparing some open source markdown validation tool, we decided to try markdownlint which has a specific rule https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md .
Now Pouch has enabled circleCI to validate markdown files in this Project. And we definitely find that the project failes to pass the circleCI test, like the following:

If we click the details button, we will get the error messages like:
./README.md:13: MD003 Header style
./README.md:24: MD003 Header style
./README.md:32: MD003 Header style
./README.md:42: MD003 Header style
./README.md:46: MD003 Header style
./README.md:50: MD003 Header style
./README.md:58: MD003 Header style
./README.md:66: MD003 Header style
./README.md:70: MD003 Header style
./README.md:74: MD003 Header style
./README.md:78: MD003 Header style
./README.md:82: MD003 Header style
.......
./README.md:30: MD013 Line length
./README.md:36: MD013 Line length
./README.md:37: MD013 Line length
./README.md:38: MD013 Line length
./README.md:39: MD013 Line length
./README.md:40: MD013 Line length
......
./FAQ.md:35: MD013 Line length
./FAQ.md:39: MD013 Line length
./FAQ.md:40: MD013 Line length

For example, ./FAQ.md:40: MD013 Line length means that markdown file FAQ.md has violate the rule MD013 in https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md which is
This rule is triggered when there are lines that are longer than the configured line length (default: 80 characters). To fix this, split the line up into multiple lines.
We are inviting open source contributors to help solve this issue one markdown file by one markdown file. One pull request to fix markdown validation issue just for one file.
🌹 🍺 🌞

I think this has been fixed in https://github.com/alibaba/pouch/pull/974
Closing this.


[Chore] Remove ZoraTestnet references and update .gitignore

Problem solved
Short description of the bug fixed or feature added
Changes made

[ ] Public API changes: list the public API changes made if any
[ ] Internal API changes: explain the internal logic changes

How to test

[ ] Automated tests: link to unit test file
[ ] Manual tests: step by step instructions on how to test

Contributor NFT
Paste in your wallet address below and we will airdrop you a special NFT when your pull request is merged.
Address:

PR-Codex overview
This PR removes references to ZoraTestnet and related configurations from various files in the codebase.
Detailed summary

Removed ZoraTestnet references from types.ts and usePayments.ts
Updated chain mappings and supported currencies accordingly

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#3463  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jnsdls and the rest of your teammates on  Graphite


Unable to install using NPM

I am finding the following issue when trying to use NPM to install your library.
pi@raspberrypi:~/.node-red $ npm i https://github.com/open-homeautomation/miflora
npm ERR! addLocal Could not install /tmp/npm-3174-cbd0c9a8/git-cache-e9fd0e4fcfcf/3575b30e3b4e06d460a1088a8b96999dd328cbed
npm ERR! Linux 4.4.50-v7+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "i" "https://github.com/open-homeautomation/miflora"
npm ERR! node v4.8.2
npm ERR! npm  v2.15.11
npm ERR! code EISDIR
npm ERR! errno -21
npm ERR! syscall read
npm ERR! eisdir EISDIR: illegal operation on a directory, read
npm ERR! eisdir This is most likely not a problem with npm itself
npm ERR! eisdir and is related to npm not being able to find a package.json in
npm ERR! eisdir a package you are trying to install.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/.node-red/npm-debug.log
I've checked the log and it seems to be a carbon copy of what is written above.  I'm a bit of a noob with a lot of this so I could really do with a little help!
Please forgive me if I am pointing out an issue that is already raised or resolved elsewhere.

npm is a JavaScript package mager but this is a Python library. You can't use this with JavaScript.


Patch fails in rules_python @0.14.0

When adding rules_python in the latest version 0.14.0, bazel fails to apply the patch:
external/rules_python.0.14.0/.tmp_remote_patches/module_dot_bazel.patch: Expecting more chunk line at line 10.
However, when I apply the patch manually with the patch command, it works.
This seems to be the relevant code in bazel: https://github.com/bazelbuild/bazel/blob/bc087f49584a6a60a5acb3612f6d714e315ab8b5/src/main/java/com/google/devtools/build/lib/bazel/repository/PatchUtil.java#L404

@kormide Do you know what the difference is? An early EOF that Bazel's patch implementation doesn't accept?
@meteorcloudy The presubmit passed for this, which seems to indicate that the patch is applied in different places.

Judging from the output, it looks like the presubmit uses the patch command instead of going through bazel's patch logic.

I can reproduce this when adding the following test to bazel here:
  @Test
  public void testModuleExample() throws IOException, PatchFailedException {
    Path oldFile = scratch.file("/root/oldfile",
        "module(",
        "    name = \"rules_python\",",
        "    compatibility_level = 1,",
        "    version = \"0.0.0\",",
        ")"
    );
    Path patchFile =
        scratch.file(
            "/root/patchfile",
            "--- a/oldfile",
            "+++ b/oldfile",
            "@@ -1,7 +1,7 @@",
            " module(",
            "     name = \"rules_python\"",
            "     compatibility_level = 1,",
            "-    version = \"0.0.0\",",
            "+    version = \"0.14.0\",",
            " )"
        );
    PatchUtil.apply(patchFile, 1, root);
    assertThat(oldFile.exists()).isFalse();
  }

I think the reason the presubmit passed is because we only have bcr_test_module test in https://github.com/bazelbuild/bazel-central-registry/pull/286/files#diff-d0c31861747eedc28c0d4eeca25591a11e59acf25741f5e519f0963cf01a191aR1, which means the source archive was downloaded and patched by the bcr_presubmit.py script instead of Bazel itself. I would recommend to also specify some build targets testing in the presubmit.yml file (we probably should enforce this in the presubmit validations).

@meteorcloudy I think I don't quite understand this process: Doesn't this only set up the test module in a way that doesn't go through Bazel? The test module should then cause the tested module to be loaded by Bazel and should thus have failed in the same way as reported in this issue.
If that isn't how it works, I would be more comfortable with making test module tests more realistic rather than requiring two different types of presubmit checks for decent protection against downstream breakages.

The test module should then cause the tested module to be loaded by Bazel and should thus have failed in the same way as reported in this issue.

IIUC the Python script downloads and unpacks the entire source archive, which contains both the test module and the module under test. The test module simply uses the module under test with a local path override.

If that isn't how it works, I would be more comfortable with making test module tests more realistic rather than requiring two different types of presubmit checks for decent protection against downstream breakages.

Agreed, I often find myself confused by the setup as well -- would be nice to unify the two ways somehow.

The test module can actually depend on the target module with a normal bazel_dep, which would work, but I think that makes it hard to run the test module locally at HEAD because you don't have the version available, then you'll need to add a local_path_override and remember to remove it before creating the release. Also it's hard to verify if a test module actually follows this in the BCR presubmit.
To make Bazel fetching the module source from the BCR, we'll need to build some targets from the module, but I cannot think of any targets that's guaranteed to be built successful. 🤔

We could actually just build @module_name//:whatever, which will probably fail since the target whatever doesn't exist, but by that time the module would have already been fetched. Admittedly a bit hacky, but it could work :P

Yeah.. we can do that to use Bazel to fetch the source, but then we'll need to distinguish the failure type by parsing the error message, which could work but not very nice 😅

How about a wildcard with a more lightweight command such as bazel build --nobuild @module_name//... or bazel query @module_name//...? Or could modquery be used to trigger a fetch?

I just found out that bazel fetch also works with Bzlmod enabled, and bazel fetch @module_name//... seem to cause less packages being loaded that bazel build --nobuild @module_name//....

It seems bazel fetch @module_name//... may not even work for some existing modules in the BCR. For example, with MODULE.bazel
bazel_dep(name = "rules_python", version = "0.15.0")

bazel fetch --enable_bzlmod @rules_python//... fails with
ERROR: error loading package under directory '': error loading package<EMAIL_ADDRESS>Unable to find package for @[unknown repo 'python' requested from @rules_python~0.15.0]//3.9:defs.bzl: The repository '@[unknown repo 'python' requested from @rules_python~0.15.0]' could not be resolved: No repository visible as '@python' from repository<EMAIL_ADDRESS>Loading: 4 packages loaded
    currently loading: @rules_python~0.15.0//examples ... (35 packages)

Even bazel fetch --enable_bzlmod @rules_python//:MODULE.bazel fails with
ERROR: error loading package<EMAIL_ADDRESS>Unable to find package for @[unknown repo 'bazel_gazelle' requested from @rules_python~0.15.0]//:def.bzl: The repository '@[unknown repo 'bazel_gazelle' requested from @rules_python~0.15.0]' could not be resolved: No repository visible as '@bazel_gazelle' from repository<EMAIL_ADDRESS>Loading: 0 packages loaded
    currently loading: @rules_python~0.15.0//

I'll look into this when I get the chance.


Gives error if no babel or webpack plugins are used

/Users/ishan/skillbee-related/skillbee-frontend/node_modules/craco-fast-refresh/index.js:9
cracoConfig.babel.plugins.push(ReactRefreshBabelPlugin);
^
TypeError: Cannot read property 'plugins' of undefined

Added webpack-bundle-analyzer to analyse which files are taking the maximum size
Added CracoAntDesignPlugin to add custom less file definition in antd

CracoAntDesignPlugin also removes unnecessary antd includes, adding purgecss to remove any other unused css

Thank your feedback, it has fixed in 1.0.2 (release).


Model Changes w.r.t. #1773

In the stated issue #1773, he is trying to save the null value in the database which expected to throw an error of required field.
But when data is passed from the insert method to classToArray, it expects to return only changed values.
The previous and current value of the property is null, hence it is not returning the property as changed value.
Hence error is not getting triggered.
So some required changes made here like,

Made allowed null for description column of job table in migration
Removed if condition from save() method as again update() or save() method performs same operation in the classToArray() method.
Introduced $onlyChanged parameter to classToArray() function. So we can escape the only changed value check in case of insert the data but it will return only changed values data in case of the update as the flag value is true by default.
Passing false value to classToArray method for variable $onlyChanged in the insert method as we required all the params, not the changed values only.

Checklist:

[x] Securely signed commits
[x] Component(s) with PHPdocs
[x] Unit testing, with >80% coverage
[x] Conforms to style guide

Much better solution. I'm a little leery about removing the classToArray at the beginning of save() but think it should be fine. Thanks.

Point number 4 has introduced a new problem. When a database field is not null and the field on an entity is not set, classToArray will still return the null value which tries to get inserted into the database, throwing an error. IMO save() should never receive all values from classToArray and the solution to #1773 should be fixed in validate() instead.

After a bit more research I do believe this is an issue and would have failed tests except that the test UserModel.php supplies default values to its fields, a non-mandatory (and probably non-standard) choice:
https://github.com/codeigniter4/CodeIgniter4/blob/develop/tests/_support/Models/UserModel.php
I will open a new issue.


Please add .csx (c# script) icon

Can you please add icon for .csx extension.  This maps to .cs extension and is csharp script.  I use this mainly with Azure Functions.
Warmest regards,
Garrard.

Can we use the classic C# icon?

Yes. Thanks.

Thank you!


How to begin a dialog with a variable value as the dialog name

I setup the Event activity with the dialog name as the Activity Value, and then have an expression of =turn.activity.value in Dialog name field, but does not seem working as it results in a Null Ref exception in the BotController.cs
What would be the correct way to dynamically begin a dialog with the given name through a variable?

Hi @dawwa,
I am a little confused by your approach here. As I understand it, your goal is to choose and start a dialog based on what the user types, correct? For example, if I have a travel booking bot, I might want to start one dialog if the user says they want to book an international flight and I might start a different dialog if they say they want to book a cross-country train journey, and so on.
If this is indeed the behavior you want, why do you wish to store the user's answer in a variable and start a dialog based on that? Do you have specific functionality that requires you to do it this way?
The generally accepted pattern for Composer would be to create a trigger for each dialog with several trigger phrases and then start the corresponding dialog within that trigger. This would enable you to sidestep storing the user's input, avoid your user needing to perfectly match the name of the dialog, and allow you to easily modify the various trigger phrases that your user could enter to start a dialog.
You can achieve this in Composer using LUIS, RegEx, or a few other methods.
For reference, here are some helpful docs:

Controlling conversation flow. This document explains how to start dialogs and such.
Creating a simple weather bot. This tutorial covers various core concepts including switching dialogs with RegEx and LUIS. I highly recommend going through it if you haven't already.

@anishprasad01, the context behind this is to initiate a proactive message based on an event activity instead of user intent trigger.
To create a BotChat.DirectLine object for BotChat.App, and post an event activity in client side code. Then in the bot code, respond to the event with the desired proactive message.
As seen in the comment below.
https://github.com/microsoft/botframework-sdk/issues/4245#issuecomment-369311452

I think I understand what you're trying to do now. Let me investigate further and get back to you.

@dawwa
It seems to be that there is an issue with how Composer deals with DialogSets internally. The NullReferenceException you're getting is likely because the bot cannot find the dialog in question, and not because of any issue with the user's input.
However, there is a workaround. This issue thread outlines a workaround that involves creating a dummy event that you never call and invoking all of your dialogs in it. Then, invoking the dialog with the input format =turn.activity.value in the Dialog name field of your original event should result in the behavior you're looking for.

Hello @dawwa  and thank you for engaging with the Composer project.  Supporting the "dialogs" array in the Composer ui would be a new feature request. We'll take this issue as a feature request and add it to the backlog for prioritization. We do not have an ETA at this time for when this feature will be available.


Addon does not initialize during Ha start / multiple manual restarts needed

When I start HA this addon does not initialize successfully. I can temporarily remedy this by manually deactivating and re-activating this add one a couple of times. At some point it loads up successful and the integration is working. However in every case this addon losses agin the connection to the server and the entity become unavailable.
Related logs:
Logger: homeassistant.config_entries
Source: config_entries.py:604
First occurred: 15:50:37 (1 occurrences)
Last logged: 15:50:37

Error setting up entry for gardena_smart_system
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 69, in map_httpcore_exceptions
    yield
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 373, in handle_async_request
    resp = await self._pool.handle_async_request(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 216, in handle_async_request
    raise exc from None
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 196, in handle_async_request
    response = await connection.handle_async_request(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 99, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 76, in handle_async_request
    stream = await self._connect(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 122, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/auto.py", line 30, in connect_tcp
    return await self._backend.connect_tcp(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 114, in connect_tcp
    with map_exceptions(exc_map):
  File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ConnectTimeout

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/gardena_smart_system/__init__.py", line 49, in async_setup_entry
    await gardena_system.start()
  File "/config/custom_components/gardena_smart_system/__init__.py", line 86, in start
    await self.smart_system.authenticate()
  File "/usr/local/lib/python3.12/site-packages/gardena/smart_system.py", line 80, in authenticate
    self.token_manager.load_from_oauth2_token(await self.client.fetch_token(
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/authlib/integrations/httpx_client/oauth2_client.py", line 125, in _fetch_token
    resp = await self.post(
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1892, in post
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/authlib/integrations/httpx_client/oauth2_client.py", line 90, in request
    return await super().request(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1574, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1661, in send
    response = await self._send_handling_auth(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1689, in _send_handling_auth
    response = await self._send_handling_redirects(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects
    response = await self._send_single_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1763, in _send_single_request
    response = await transport.handle_async_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 372, in handle_async_request
    with map_httpcore_exceptions():
  File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 86, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectTimeout

Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 15:50:31 (2 occurrences)
Last logged: 15:50:32

Detected blocking call to load_verify_locations with args (<ssl.SSLContext object at 0x7f9ec10a9650>,) inside the event loop by custom integration 'gardena_smart_system' at custom_components/gardena_smart_system/__init__.py, line 86: await self.smart_system.authenticate() (offender: /usr/local/lib/python3.12/site-packages/httpx/_config.py, line 147: context.load_verify_locations(cafile=cafile)), please create a bug report at https://github.com/py-smart-gardena/hass-gardena-smart-system/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_verify_locations Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component result = await _async_setup_component(hass, domain, config) File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in _async_setup_component await asyncio.gather( File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in <genexpr> create_eager_task( File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/gardena_smart_system/__init__.py", line 49, in async_setup_entry await gardena_system.start() File "/config/custom_components/gardena_smart_system/__init__.py", line 86, in start await self.smart_system.authenticate()

Same or similar issue with version 1.1.1 and 1.1.0 on HA 2024.11.3.
Also multiple disable / enable and restarts did not get the integration to work.
2024-11-26 15:47:13.535 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to load_verify_locations with args (<ssl.SSLContext object at 0x7f4ab71dd0>,) inside the event loop by custom integration 'gardena_smart_system' at custom_components/gardena_smart_system/__init__.py, line 85: await self.smart_system.authenticate() (offender: /usr/local/lib/python3.12/site-packages/httpx/_config.py, line 149: context.load_verify_locations(cafile=cafile)), please create a bug report at https://github.com/py-smart-gardena/hass-gardena-smart-system/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_verify_locations
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
    handle._run()
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 556, in start
    task = asyncio.Task(coro, loop=loop, eager_start=True)
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 477, in _handle_request
    resp = await request_handler(request)
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 567, in _handle
    return await handler(request)
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 83, in forwarded_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware
    response = await handler(request)
  File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle
    result = await handler(request, **request.match_info)
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin
    return await func(self, request, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 222, in post
    return await super().post(request, flow_id)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper
    return await method(view, request, data, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 122, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in async_configure
    result = await self._async_configure(flow_id, user_input)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 414, in _async_configure
    result = await self._async_handle_step(
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 572, in _async_handle_step
    result = await self.async_finish_flow(flow, result.copy())
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1499, in async_finish_flow
    await self.config_entries.async_add(entry)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1888, in async_add
    await self.async_setup(entry.entry_id)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2006, in async_setup
    result = await async_setup_component(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in _async_setup_component
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in <genexpr>
    create_eager_task(
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 783, in async_setup_locked
    await self.async_setup(hass, integration=integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 546, in async_setup
    await self.__async_setup_with_context(hass, integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 635, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/gardena_smart_system/__init__.py", line 49, in async_setup_entry
    await gardena_system.start()
  File "/config/custom_components/gardena_smart_system/__init__.py", line 85, in start
    await self.smart_system.authenticate()
2024-11-26 15:47:14.079 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry  for gardena_smart_system
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 635, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/gardena_smart_system/__init__.py", line 49, in async_setup_entry
    await gardena_system.start()
  File "/config/custom_components/gardena_smart_system/__init__.py", line 95, in start
    await self.smart_system.update_devices(location)
  File "/usr/local/lib/python3.12/site-packages/gardena/smart_system.py", line 165, in update_devices
    if len(response_data["data"]["relationships"]["devices"]["data"]) < 1:
           ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'relationships'


Fixing issue with component being disposed in notifications

Fixes #247
Adds a guard against project disposed

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

Merging [#248][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master       #248   diff @@
==========================================
  Files           162        162
  Lines          4774       4775     +1
  Methods           0          0
  Messages          0          0
  Branches       1262       1263     +1
==========================================
+ Hits           3762       3763     +1
  Misses         1012       1012
  Partials          0          0

Powered by Codecov. Last updated by [d79cc11...df35684][cc-compare]
[cc-base-branch]: https://codecov.io/gh/mplushnikov/lombok-intellij-plugin/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/mplushnikov/lombok-intellij-plugin/compare/d79cc1171dd133524ed6b9f5fd43dd27e2b6ec8d...df356846a2c535d5cefc6234265dca892ae4142a
[cc-pull]: https://codecov.io/gh/mplushnikov/lombok-intellij-plugin/pull/248?src=pr

Thanks! 👍


Implemented new mass calculation system

https://pastebin.com/BTnXzdep sample output with mass included

https://pastebin.com/sxJRVYiW Looks like the interpolation runs without steps now.


Add IMAGECLASSNAME also for background option

Its helpful if you want to add some css effects after loading the background.

The className for the background container is set when the background container comes in view, not when the image is loaded. So this will only be handy if you want to do something when the container comes into view, not when it is really loaded.

Yeah. You're right. Thanks


clear-form

I tried it without the textarea hack and found that, using Internet Explorer, textareas were reset to their default invalid value but their red borders were not shown.

I think one  more thing needs to be done to accept this, which is to modify process_html_includes() so that it saves the default values in formDefaultValues rather than setting them as part of the recursive replacement of includes. That way the defaults will be properly reset for the old integration method (or any other integration) as well.
If I have time soon and you're okay with it I'll do that and push the whole series together.

Go ahead. It's funny, though, I thought I did change process_html_includes to use formDefaultValues. I'm sure you'll get it squared away.

I modified process_html_includes in commit 25060c7c .


Error: Invalid tap name '...'

[x] ran brew update and can still reproduce the problem?

[ ] ran brew doctor, fixed all issues and can still reproduce the problem?
In fact, brew doctor fails with the same error.

[x] ran brew config and brew doctor and included their output with your issue?

What you were trying to do (and why)
brew upgrade youtube-dl

What happened (include command output)
It failed with the error:
Error: Invalid tap name 'filippo.io/homebrew-age'

What you expected to happen
youtube-dl to be upgraded.
Step-by-step reproduction instructions (by running brew commands)
See above.
Output of brew config and brew doctor commands
% brew config
HOMEBREW_VERSION: 2.4.0-33-g91b4d45
ORIGIN: https://github.com/Homebrew/brew
HEAD: 91b4d450703bcc2de6dce22eb5fdecb5a843f92e
Last commit: 22 minutes ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 8b7b8849a93ffa87e2b6bc627a00c40a27885015
Core tap last commit: 62 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.Cw3ZKMohiP/org.macosforge.xquartz:0
HOMEBREW_EDITOR: vim
HOMEBREW_MAKE_JOBS: 8
CPU: octa-core 64-bit kabylake
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_1/bin/ruby
Clang: 10.0 build 1001
Git: 2.26.2 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 14, 12.0.1
macOS: 10.14.6-x86_64
CLT: <IP_ADDRESS>.1.1562985497
Xcode: N/A
XQuartz: 2.7.11 => /opt/X11
% brew doctor
Error: Invalid tap name 'filippo.io/homebrew-age'

This fails too:
brew untap filippo.io/homebrew-age

And so do other commands, such as list and search.
The issue may be related with the commit fe75934? See:
% brew doctor --debug
==> Checking check_access_directories
==> Checking check_brew_git_origin
==> Checking check_casktap_git_origin
==> Checking check_clt_minimum_version
==> Checking check_clt_up_to_date
==> Checking check_coretap_git_branch
==> Checking check_coretap_git_origin
==> Checking check_deleted_formula
==> Checking check_deprecated_caskroom_taps
Error: Invalid tap name 'filippo.io/homebrew-age'
/usr/local/Homebrew/Library/Homebrew/tap.rb:38:in `fetch'
/usr/local/Homebrew/Library/Homebrew/tap.rb:582:in `block (2 levels) in each'
/usr/local/Homebrew/Library/Homebrew/tap.rb:581:in `each'
/usr/local/Homebrew/Library/Homebrew/tap.rb:581:in `block in each'
/usr/local/Homebrew/Library/Homebrew/tap.rb:580:in `each'
/usr/local/Homebrew/Library/Homebrew/tap.rb:580:in `each'
/usr/local/Homebrew/Library/Homebrew/extend/os/mac/diagnostic.rb:350:in `select'
/usr/local/Homebrew/Library/Homebrew/extend/os/mac/diagnostic.rb:350:in `check_deprecated_caskroom_taps'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:61:in `block in doctor'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:53:in `each'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:53:in `doctor'
/usr/local/Homebrew/Library/Homebrew/brew.rb:110:in `<main>'

The issue may be related with the commit fe75934? See:

Yup, my bad. New PR in https://github.com/Homebrew/brew/pull/7735


Duration passed to request_repaint_after is ignored

Describe the bug
Using egui 0.22.0, calling request_repaint_after() causes the application to redraw the UI with a high refresh rate, regardless of the duration passed into request_repaint_after(). It behaves (mostly) as if calling request_repaint().
The bug was not there in version 0.21.0.
Steps to reproduce the behavior:
The following code was adapted from the hello world example. I replaced the controls with a fps (frames per second) and counter label. Rust file:
use eframe::egui;
use std::time::{Duration, Instant};

fn main() -> Result<(), eframe::Error> {
    let options = eframe::NativeOptions {
        initial_window_size: Some(egui::vec2(320.0, 240.0)),
        ..Default::default()
    };
    eframe::run_native(
        "My egui App",
        options,
        Box::new(|_cc| Box::<MyApp>::default()),
    )
}

struct MyApp {
    previous_instant: Instant,
    previous_count: u64,
}

impl Default for MyApp {
    fn default() -> Self {
        Self {
            previous_instant: Instant::now(),
            previous_count: 0,
        }
    }
}

impl eframe::App for MyApp {
    fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
        egui::CentralPanel::default().show(ctx, |ui| {
            ui.heading("My egui Application");
            let fps = 1.0 / self.previous_instant.elapsed().as_secs_f64();
            self.previous_instant = Instant::now();
            self.previous_count += 1;
            ui.label(format!("fps: {:.2}, counter: {}", fps, self.previous_count));
        });
        ctx.request_repaint_after(Duration::from_secs(1));
    }
}

toml:
[package]
name = "egui_request_repaint_bug"
version = "0.1.0"
edition = "2021"

[dependencies]
egui = "0.22.0"
eframe = { version = "0.22.0", default-features = false, features = [
    "default_fonts", # Embed the default egui fonts.
    "glow",          # Use the glow rendering backend. Alternative: "wgpu".
] }

[patch.crates-io]
egui = { git = "https://github.com/emilk/egui", branch = "master" }
eframe = { git = "https://github.com/emilk/egui", branch = "master" }

Build and run on Windows 10.
When the application has focus, the "fps" labels shows approximately a value of 144 on my monitor (which has a refresh rate of 144 Hz), regardless of where the mouse is. When the application does not have focus, the "fps" label continues updating with a high frequency and shows approximately 90. (I have no idea where the 90 is coming from.)
If I remove the call to request_repaint_after(), the application no longer updates with a high rate.
Keeping the request_repaint_after() call and going back to egui 0.21.0, I get the expected behavior. Considering the release notes, I guess this is related to #2939.
Expected behavior
When the application does NOT have focus, the "fps" label should show a value of approximately 1. In other words, the GUI should update only once a second because I passed 1s as duration to request_repaint_after().
When the application does have focus, the "fps" label should show a value of 144 only while moving around the mouse.
Desktop:

OS:  Windows 10
Browser: Not applicable; running on native
Version of egui: 0.22.0 (version 0.21.0 is not affected)

have the same problem in my app https://github.com/chrisheib/STStat
I'll downgrade for the time being, can't let my users waste their ressources like this.

First time I got to run git bisect in the wild :D
The bad commit is 834e2e9f5090824b853ba585f5f8b3f3a47f2359.
Which makes sense since it touched the repaint logic.
@emilk any immediate thoughts on this?

If you run with RUST_LOG=eframe=trace you should get some log output that explains why eframe is repainting; maybe that can help you find the bug. I would appreciate help here since I'm way too busy right now to take a proper look at it.

I tried your code on my Mac on latest master.
The results is as expected: High FPS when moving the mouse over the window, and 1 fps when the mouse is still or outside the egui window. The behavior is the same if the windows is in focus or in the background.
Can you please try again on latest master? Perhaps this is only a Windows bug. If so, please try https://github.com/emilk/egui/pull/3238 and see if that helps

I'm seeing this bug on Windows as well with latest master. I'll take a look and see if I can figure anything out.

Alright - I understand why this is happening in the current code and have a possible (though dubious) fix in mind. I didn't run the code before the commit that introduced this (https://github.com/emilk/egui/commit/834e2e9f5090824b853ba585f5f8b3f3a47f2359) to figure out why it wasn't happening previously.
The workaround on this line is to blame: https://github.com/emilk/egui/blob/627e1b3d5054df9961b5a467ac7c7b866a04d913/crates/eframe/src/native/run.rs#L150C13-L150C13
When there's a RedrawEventsCleared event on Windows, we redraw. This event is triggered when request_repaint_after is called, because that leads to a winit RepaintAt or Wait event being triggered, which is immediately followed by RedrawEventsCleared. This then triggers another run of the main ui. So if the main ui is calling request_repaint_after, then the cycle continues and we continuously repaint. This only happens on Windows because that workaround is only applied for Windows - on other platforms, it uses the RedrawRequested event to trigger a repaint, which isn't triggered by Wait or RepaintAt immediately.
This bug only happens when the request_repaint_after is called inside the main ui paint loop. The button inside the demo app that calls it from another thread works fine, even on Windows.
There's another bug confusing things here - the frame_nr inside UserEvent::RequestRepaint is always 1 less than the frame number when checked inside the winit event loop if request_repaint_after was called during the main ui update. This prevents us from properly scheduling repaints much of the time because of this line.
I have two very dubious fixes and some unpolished tweaks to the demo app for testing this in #3275. I removed the workaround and allowed off-by-one for the frame number. Neither seems like a real fix. With these changes, calling request_repaint_after every time inside the main ui loop works as expected, and so does calling it from another thread - but a one-off call of request_repaint_after inside the ui loop does not trigger a repaint later.
I'm looking for suggestions of what the proper fix(es) might be - I don't think what I've done in my PR are adequate or correct.

Thanks for the investigation!
I’m hoping we can remove the windows-hack when the new winit version drops, which should be any week now 🤞 The new winit has a substantially new event-loop

Hi, I stumbled upon this on accident, when I noticed adding ctx.request_repaint_after(Duration::new(1,0)); to the code increased the CPU usage drastically compared to when not using it, and that the same behaviour occurs even with ctx.request_repaint_after(Duration::new(1000000,0)); (1000000 second = 11.5 day refresh interval, which obviously should not cause any refreshes). Are there any good workarounds?

I am also dealing with this problem. @OmegaJak , @emilk any temporal workarounds?

I am also dealing with this problem. @OmegaJak , @emilk any temporal workarounds?

Here's my clunky temporary solution - just spin up another thread that sleeps and occasionally calls request_repaint:
https://github.com/OmegaJak/gwaihir/blob/f132180306bfeca47321f14d5d881d8742d920d5/crates/gwaihir-client/src/periodic_repaint_thread.rs

This is also happening on Linux on Wayland after I upgraded eframe from 0.23.0 to 0.24.1. Additionally if set_request_repaint_callback is called, the reuqest_repaint_after call is ignored

Likewise here, macOS. @OmegaJak's fix is a great tip, though 👍
(and is possibly my preferred workflow anyway, since it looks like request_repaint_after intentionally double renders, which this approach avoids)

Actually for those also running on the web, you'll need a non-std::thread implementation.
Here's an analog to the above using weird wasm/async stuff (I already had these specific crates hanging around, there might be better options here 🤷):
Loop (using gloo-timers):
// TODO: Once https://github.com/emilk/egui/issues/3109 is resolved, use request_repaint_after in main loop instead
#[cfg(target_arch = "wasm32")]
pub async fn create_periodic_repaint_async(
    egui_ctx: egui::Context,
    millis_between_repaints: u32,
) {
    loop {
        egui_ctx.request_repaint();
        gloo_timers::future::TimeoutFuture::new(millis_between_repaints).await;
    }
}

Setup inside the creation context (using wasm-bindgen-futures):
// TODO: Once https://github.com/emilk/egui/issues/3109 is resolved, use request_repaint_after in main loop instead
#[cfg(target_arch = "wasm32")]
wasm_bindgen_futures::spawn_local(create_periodic_repaint_async(
    cc.egui_ctx.clone(),
));

@emilk Could you please elaborate what you mean by egui/eframe 0.18? I believe I am still able to replicate the issue on egui/eframe 0.24.1.

Yes I only encountered this issue this week after updating from .21.x to .24.x

I don't know how I miss-typed "0.24" as "0.18", but I did 🤦

I don't know how I miss-typed "0.24" as "0.18", but I did 🤦

Adding some more data points. I didn't encounter this issue until after upgrading to 0.24.1. I don't have a thorough understanding of the implementation yet but it seems like this is where the request_repaint duration gets ignored:
https://github.com/emilk/egui/blob/master/crates/egui/src/context.rs#L82

I don't have a thorough understanding of the implementation yet but it seems like this is where the request_repaint duration gets ignored:
https://github.com/emilk/egui/blob/master/crates/egui/src/context.rs#L82

Both glow and wgpu integrations call set_request_repaint_callback on init

If I add a dummy callback to the egui context then the request_repaintduration has effect again is also ignored but the reactive behavior is back

I think that's just because you're overriding the integration's callback

I don't have a thorough understanding of the implementation yet but it seems like this is where the request_repaint duration gets ignored:
https://github.com/emilk/egui/blob/master/crates/egui/src/context.rs#L82

Both glow and wgpu integrations call set_request_repaint_callback on init

If I add a dummy callback to the egui context then the request_repaintduration ~has effect again~ is also ignored but the reactive behavior is back

I think that's just because you're overriding the integration's callback

That's right, I read a bit more after my previous comment. Based on the limited time I got to wonder around. It seems like it's somewhere around
https://github.com/emilk/egui/blob/master/crates/egui/src/context.rs#L80 and
https://github.com/emilk/egui/blob/master/crates/egui/src/context.rs#L261
that's causing this issue. I don't know what's behind https://github.com/emilk/egui/blob/master/crates/egui/src/context.rs#L80 so I'm not sure what's the correct and simplest fix that won't change other expected behaviors. But I hope this observation helps.


BS Roformer model

Hi, can you please advise. will you post the new BS Roformer trained model?

Weights were posted on main page:
https://github.com/ZFTurbo/Music-Source-Separation-Training?tab=readme-ov-file#vocal-models

Just to avoid opening a new issue...
I thought the BS Roformer model was capable of separating instruments?
Or it depends on the training?


Fix/async tracks defaultsubtitles

Updated mux-video example to use defaultsubtitles and playback-id with subtitles: https://media-chrome-git-fork-cjpillsbury-fix-async-tracks-d-611bf9-mux.vercel.app/examples/vanilla/media-elements/mux-video.html

Moving to draft. Will need to solve in a more reliable way, likely in <media-controller> directly.

Moving back to non-draft based on out of band convo 😅

@luwes

LGTM

Well let's be honest, "LGEFNTM" ("Looks Good Enough For Now To Me"). 😄


Vickel: Watch akolkata[\W_]*+escorts(?!.com(?<=akolkataescorts.com))

Vickel requests the watch of the watch_keyword akolkata[\W_]*+escorts(?!\.com(?<=akolkataescorts\.com)). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

akolkata[\W_]*+escorts(?!\.com(?<=akolkataescorts\.com)) has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by Makyen in Charcoal HQ. Reason: 'Went with a somewhat different regex, due to the username'


AV-197483: Added knob to skip datapath validations

Added script parameter to override the behaviour for validating data path. Default is true and if parameter is provided then false (skip validation).
Tested this with setup with pool members not falling in network ip ranges. With this flag set the pools will be anyway migrated.

Update readme file as well.


Fixup Dockerfile for driver and excutor

Fixup #209 .

rerun integration test please

How do the integration tests pass without this fix? The integration tests build the docker images as well.

@hustcat did you get a chance to think about @mccheah's question?

@ash211 @mccheah Sorry about the delay reply, I will check it later:)

It seems that  examples directory is created by integration-tests project, so integration tests can pass before this PR . However, there is not examples  directory  for docker-minimal-bundle project. Should we discard this PR?

Right - integration tests need some jars mounted into the image. I recall choosing the examples directory thinking we would want to add the examples into the "real" image as well.
I believe we don't want docker-minimal-bundle itself to be building the examples - doing so might increase build time since now integration tests would depend on building all of the example projects. However, real distributions should include the examples directory.
@hustcat what directory are you building the Docker images from? And what command do you use? For a real Spark distribution I would expect this to work:
tar -xzvf spark.....tgz
cd spark
docker build -t spark-driver:latest -f dockerfiles/driver/Dockerfile .

@mccheah, I build docker-minimal-bundle project, and run docker build in the target/spark-docker-minimal-bundle_2.11-2.1.0-k8s-0.1.0-SNAPSHOT-driver-docker-dist directory:
# ls resource-managers/kubernetes/docker-minimal-bundle/target/spark-docker-minimal-bundle_2.11-2.1.0-k8s-0.1.0-SNAPSHOT-driver-docker-dist
Dockerfile  bin  conf  jars  sbin


Allow non-identifier keys in object notation without quoting twice

When using object literal notation where keys are non-identifiers, the keys are typically quoted like this:
attr: {
    'data-something': 'propname'
}

However, with binding object notation, this results in a parsing error:
Error parsing bindings: "attr:{data-something:propname}"
>> SyntaxError: Unexpected token -

In order to workaround the parsing error the key needs to be quoted twice, like this:
attr: {
    '"data-something"': 'propname'
}

This pull request eliminates the need to twice quote non-identifier keys, allowing them to be written more naturally as in the first example above, without resulting in a parsing error.  Keys that are already twice quoted will continue to work so any existing code that already uses the workaround can be left as is.

:+1:
+1


Add attributes #[skip] and refinement attributes

Example:
use hax_lib_macros::*;

#[skip]
pub fn skip_me() {}

#[hax]
pub struct Hello {
    pub x: u32,
    #[refine(y > 3)]
    pub y: u32,
    #[refine(y + x + z > 3)]
    pub z: u32,
}

Translates into the following F*:
module Attributes
#set-options "--fuel 0 --ifuel 1 --z3rlimit 15"
open Core

let v___: Prims.unit = ()

let refinement_under___ (x y: u32) : bool = y >. 3ul

let v___1: Prims.unit = ()

let refinement_under___1 (x y z: u32) : bool = ((y +. x <: u32) +. z <: u32) >. 3ul

type t_Hello = {
  f_x:u32;
  f_y:f_y: u32{f_y >. 3ul};
  f_z:f_z: u32{((f_y +. f_x <: u32) +. f_z <: u32) >. 3ul}
}

I need to add more attributes and clean up the refinement_under__* things
TODO (follow up PRs):

[ ] a #[hax::late_skip] (internal thing: translate to the backend, but don't print)
[ ] refinements on functions inputs & outputs (follow up PR)
[ ] pre/post on functions, contract style
[ ] #[refine(...)] on enum fields
[ ] #[hax::lemma] for marking a function and express that this function is a lemma statement we want to prove on the proof assistant side
please comment if other ideas

I just renamed that hax attribute to hax_attributes: when an item is marked with this attribute, anything below it can use the refine attribute (where it's allowed --for now only on struct fields).

I just renamed that hax attribute to hax_attributes: when an item is marked with this attribute, anything below it can use the refine attribute (where it's allowed --for now only on struct fields).

Right, but we want a hax attribute that disables everything in a crate except for the annotated functions to extract code from large crates. But that's not urgent yet. Can you file a follow up for it?

Oh, right! Sure, filed #223 :)

@W95Psp this needs manual conflict resolution


Adds support for crated and expires values

Resolves #11.
See current draft https://tools.ietf.org/html/draft-cavage-http-signatures-12.
During verifying we also check if created was in the future and if expires is in the past (with an allowed clock sync offset of 10 seconds).

Thanks! Sorry for the delay.