AnimatedNumber component with hook wrapping animateValue

Description
This is a follow up of the changes proposed in RFC #479 and the discussion originated from PR #504. This PR extracts the new animation component used in comparative widgets that wraps around the animateValue function in utils folder.
The changes included in this PR are the following:

implement useAnimatedNumber hook based on animateValue util, encapsulating state, refs and effects
implement <AnimatedNumber /> component as a simple interface to render the results of useAnimatedNumber hook.
provide JSDoc documentation for both AnimatedNumber and useAnimatedNumber
provide TS typings for both AnimatedNumber and useAnimatedNumber

Type of change
(choose one and remove the others)

Feature

Acceptance
As with other comparative widget PRs, you can use this branch of carto-react-template to test the behaviour of ComparativeFormulaWidgetUI and ComparativeCategoryWidgetUI. Both widgets have been uptaded with the changes necesary in their respective branches.
Basic checklist

Good PR name
Shortcut link
Changelog entry
Just one issue per PR
GitHub labels
Proper status & reviewers
Tests
Documentation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.74%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1703

Relevant Lines:
2219

💛  - Coveralls

Would you please also add a little line to changelog?

@VictorVelarde all requested changes are ready. Thanks for your quick feedback


Intellisense broken when using Visual Studio 2015

This library should be automatically imported to the visual studio project it's installed in.
Or is there a way to fix this warning manually? (like edit generate project files to include this library?)

your can only import unreal_engine from inside the python vm running inside of unreal, not an external python vm like from the command line or inside of visual studio.  try the python console inside of unreal and your code above will work.

Maybe we can 'feed' intellisense with custom data ?


Number String Stored As Number instead of String

Hi, thank you for this gem. I have a value that looks like a number but is actually a string datatype ( "4"). When I use the .write method it is stored as a number in excel. I am wondering if there is anyway for "4" to be stored as a string using the .write method. I would think that values with quotes are seen as text vs values without quotes are seen as number. This works with write_string but it would be cleaner if .write understood the difference between 4 and "4". ) Thank you.

Hi @amfazlani, why did you close this issue? I've encountered the same problem and don't know how to solve it transparently


How do use opencv with the contrib module with vcpkg in manifest mode?

Please create a discussion in https://github.com/microsoft/vcpkg/discussions/new instead.

Add a manifest file:
{
    "name": "your-project-name",
    "version": "0"
    "dependencies": [
        {
            "name": "opencv4",
            "features": [
                "contrib"
            ]
        }
    ]
}


Make classes immutable / Reduce tests

see https://github.com/flix-/bc-java/issues/3

Merged, Thanks!


az storage blob directory upload deprecated, but docs for az storage fs directory apply only to ADLS gen 2

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az storage blob directory upload Extension Name: storage-preview. Version: 0.7.3.
Errors:
No errors, but deprecation message appears when running `az storage blob directory` commands. This advises using `az storage fs directory`, but this command is:
1. documentation says it is just for ADLS gen 2 - not Blob Storage.
1. the command is also currently in preview.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az storage blob directory upload --account-name {} -c {} -d {} --account-key {} -s {} --recursive

Expected Behavior
Environment Summary
Linux-5.4.0-1051-azure-x86_64-with-debian-10.2 (Cloud Shell)
Python 3.6.10
Installer: DEB

azure-cli 2.25.0

Extensions:
storage-preview 0.7.3
ai-examples 0.2.5
ssh 0.1.5

Additional Context
This appears to be more of a documentation issue than anything. The documentation for az storage fs directory (  https://docs.microsoft.com/en-us/cli/azure/storage/fs?view=azure-cli-latest) indicates that these commands are for ADLS gen 2. This should indicate that they are for StorageV2 as well - because otherwise the deprecation message is very confusing for anyone using az storage blob directory against a StorageV2 account:
This command is implicitly deprecated because command group 'storage blob directory' is deprecated and will be removed in a future release. Use 'az storage fs directory' instead.

storage

This is not just a documentation issue. I have a container which is a blob storage account (StorageV2) which I need to upload to. I have tried using the az storage fs directory command as suggested by Microsoft support, but it fails with the following error:
===== RESPONSE ERROR (ServiceCode=EndpointUnsupportedAccountFeatures) =====
Description=409 This endpoint does not support BlobStorageEvents or SoftDelete. Please disable these account features if you would like to use this endpoint.

However I don’t think I want to disable Blob storage events in my blob storage account !-) This means that I can't simply switch to using az storage fs directory. Stating that this can be done in the documentation currently would be misleading.
For now I will continue to use the az storage blob directory command.

Hi @marjiemclarin, thanks for reaching out!
We will not deprecate az storage blob directory upload until we find good solution for storagev2 account. So just keep using it :)
And we will update the warning msg saying for ADLS gen2 account, pls using az storage fs directory upload instead.


Enable SCRIPT commands LOAD/FLUSH/EXISTS/EVALSHA

Testing done

As per tests in test_scripting.py
Calling a registered script against a slot on a new node which doesn't have the script loaded.
Calling a registered csript on a slot that was moved to a different node which doesn't have the script loaded.

Not implemented

SCRIPT KILL
loading a script in a pipeline.

@alisaifee You can add yourself to authors list/file. Also you need to add a line in the CHANGES file describing this change, add it in Next Release section. I guess also you need to start documenting the scripting solution with supported features, limitations and problems. One example of one thing that needs to be documented is the limitation that you must handle MOVED/ASK errors manually in the lua code and that it will not be provided within this library. I can continue to document things while testing scripting  if you start the work.

Also are you planning to add more features or do you consider this code to be done?

Regarding unimplemented features:

I can't think of a safe implementation for SCRIPT KILL that is compliant with the implementation in StrictRedis. One possibility is to simply iterate over all masters and issue the command and return True if any node did have a script running, else raise the underlying exception from any of the nodes if none had any scripts running.
Since there appears to be some work being done on pipelines in parallel, I feel it would be safer to hold off on that implementation for now.

I'll update authors/changes section and start work on the documentation for scripting support.

LGTM :] Thank you very much for this


Kitchen tables don't work.

Plugin does not let me use notes on the teak kitchen table in my poh.
Don't know about the other kitchen tables.
Do appreciate the plugin I find it to be a big QOL feature for uim :) !

Added in ba79bc826360dbe605709d1db0e1b1a957c21b29 and will be in the next release :)


How do we import stylesheets from outside?

I have this in my LogInButton:
<script>
   import './Buttons.css';
</script>

<button class="btn login" text="Log In" on:tap />

And here's my Button.css just beside it:
.btn {
   width: 290;
   height: 50;
   font-size: 18;
   border-radius: 10%;
}
.btn.login {
   background: #337eeb;
   color: white;
}

But it's not working. What am I doing wrong or what am I missing here?

Put your css in app.css then you can call it anywhere without importing like so <button  class="btn blue" />

I use colours, buttons, cards& borders from w3css


rename adsb timestamp to timestamp2

this avoids a conflict with the new uORB autogen code

The proper fix is to merge master to the logging branch and then remove the field.


Improve breadcrumbs

capture illuminate queries
swap monolog for illuminate log

This change is

@taylorotwell part of me was hoping to blindly capture all events, but it seems in some cases the Event has a string defining it (which is great!) and others its a class name (which is less great). Have you considered requiring consistency in event names in a future version?

@stayallive this seem sane to you? seems good in both 4 and 5. I'm not sure if theres other situations or very common events we should capture here.

And finally, interestingly in Laravel 4 illuminate.log seems like it might be better for us than Monolog:

@dcramer Going to check this out in a few hours when I wake up :)

@dcramer if you would like you can do something like the debugbar does with capturing all the events although I'm not sure if usefull (https://github.com/barryvdh/laravel-debugbar/blob/master/src/DataCollector/EventCollector.php). The other collectors in the debugbar source are also very interesting and might give you some ideas on what to collect.
Few that I can think of would be usefull are:

Illuminate\Routing\Events\RouteMatched: To see which route is hit
Illuminate\Mail\Events\MessageSending: See which mails are dispatched
Illuminate\Queue\Events\*: This might be a bad idea in <= 5.2 because there the queue worker process runs indefinitly so they amount of event buildup would be crazy (seeing 100+ breadcrumbs already on queue jobs in a 5.2).

I looked in this list: https://laravel.com/docs/5.1/events#framework-events. These are almost all changed to use classes in 5.2+ but might give you an idea on what's there and what the framework emits. You can find event classes quickly by looking in the vendor/illuminate/*/Events/* folders.
I personally would like to be able to configure the level or verbosity these loggings happen because this could possibly be a overhead that is not worth it on every environment. I could imagine this could lead to memory problems and extremely large requests sent to Sentry with hundreds of breadcrumbs with large datasets (queries and or bindings).
Hope this is usefull 👍

@stayallive def makes sense -- maybe we'll bring along configuration similar to Laravel, in that you can specify either listeners to include or create a blocklist of ones you dont want. I will take a look at the debugbar implementation, as I agree some of these could be useful.

@stayallive only doing logs/queries for now, but i greatly improved it inspired by debugbar

@dcramer this looks very nice indeed 👍

Adding lumen support (if doable) and then gonna merge + release.

Lumen is using the same components for database and events as Laravel does so it should be very straight forward.
Looking at that screenshot I already can see this is going to be a very usefull addition. Sometimes looking at data in objects where I can only see the classnames, with this I will be able to tell what I'm actually looking at 💯

@stayallive appears like the events may not exist by default in Lumen (at least struggling to get breadcrumbs showing up)

@dcramer do you have this uncommented? Might not register correctly otherwise. https://github.com/getsentry/sentry-laravel/blob/master/examples/lumen-5.2/bootstrap/app.php#L28
Although looking at the source, as long as events is bound all should work just fine. https://github.com/illuminate/database/blob/master/DatabaseManager.php#L189
Going to try get this working too... should be the same as Laravel I thought...

@stayallive nope but that doesnt seem to change it

Works for me, did you change your test config to actually log the queries (config/sentry.php)? 😜

@stayallive well its just for logging bindings (queries will always log atm), but if it works for you I'm content :)

Yes even with Eloquent off it works like a charm 👍

This is now available in 0.4.0

Going to push this to prod right now, the transaction tracing also looks sweet!


Cross-validation for pipeline Runtime

Add cross-validation capability to Runtime.
Previously we detected and labeled certain primitives modelers, then during training phase Runtime.fit() we performed cross-validation on the side. The actual model that we train still uses all the data.

Our Runtime is copied from the d3m repo runtime branch. They are planning to update it. We need to track their changes.

Just merged https://github.com/usc-isi-i2/dsbox-ta2/tree/26_cross_validation into the template-2018-june branch.
Currently, the cross validation results are NOT used during the search process. Still using the test partition results.
The code will print out a warning if the primitive selected using test result is different from what the validation results would have selected.
See library.py for "runtime" annotations for instructing runtime.py to perform cross-validation on the selected component.


Sidebar collapse stops working after running npm run dev

It's weird. I even checked the Javascript Console, and there are no errors registered. I even ran a log to check if JS is still running at the end of page load, and it worked. But the sidebar collapse just doesn't seem to be working right after I run npm run dev.
Steps to Reproduce Error:

run adminlte-laravel install
1.5) login to the dashboard to check the sidebar, it would be working as expected now.
run npm install
run npm run dev
3.5) login to the dashboard again, and the sidebar doesn't work at all. Not even on mobile, which makes it unusable on mobile screens.

Please help me fix this error. Thank you so much!

Fixed in #330

Ok as commented in PR I lock adminlte version to 2.3.11


ModuleInterface: rephrase remark message when acquiring lock file failed

The original remark message “could not acquire lock file for module interface” sounds too severe.
It may confuse users that this is a serious issue. We should rephrase it to a less obtrusive one.
rdar://70055223

@swift-ci please smoke test


[HOLD for payment 2022-12-20] When you open or create a group chat and tap the Details page (top of page), the last added user in the list blinks and appears.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open or create a group chat with least 4 or 5 people.
Tap into the Details page (tap the top of the group, where the list of chat members are shown)
Notice that the latest user blinks and appears right after you open the Detail Page.

Expected Result:
The last user should display as any other user.
Actual Result:
The last user is the only one that blinks.
Workaround:

N/A, this doesn't need a workaround. It's a UI inconsistency.

Platform:

Where is this issue occurring?

iOS
Android

Version Number: 1.2.30-0
Reproducible in staging?: Y
Reproducible in production?: Y
https://user-images.githubusercontent.com/43996225/205194063-0182b308-5805-40ee-bab7-666d3d8495c5.MP4
Expensify/Expensify Issue URL:
Issue reported by: @hungvu193
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1669655454960459
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01742c10c259cf2467
Upwork Job ID:<PHONE_NUMBER>485320192
Last Price Increase: 2022-12-20

I wonder whether this is actually a bug, or more of a choice that was made somewhere for performance reasons to limit the number of members rendered in the list ahead of loading the rest of the participants? We should confirm that.
For example, you can reproduce in a #room with way more than 4/5 participants. It's not the "last participant" that is delayed loading, it's all participants beyond 4.

I wonder whether this is actually a bug, or more of a choice that was made somewhere for performance reasons to limit the number of members rendered in the list ahead of loading the rest of the participants? We should confirm that.

For example, you can reproduce in a #room with way more than 4/5 participants. It's not the "last participant" that is delayed loading, it's all participants beyond 4.

You are right about this being there for performance reasons, but the recommended number is a number that is enough to fill the screen: https://reactnative.dev/docs/flatlist#initialnumtorender. The code is here:
https://github.com/Expensify/App/blob/367119d312f2af3675ecce8fbccf283b41062a42/src/components/OptionsList/BaseOptionsList.js#L232
initialNumToRender={5} is too small in my opinion. This depends on the size of the screen, but I think a number around 12 would work better.

I reproduced this in Android so I added it to the list of devices.

I'm trying to figure out if we can calculate this number based on the screen size or if we should just pick a fixed higher number like "12"

Hmm if we are going to expand to a number like 12, are we calling this a New Feature or Bug?
I was able to reproduce this and noticed one of the avatars in the group (Alberto's) also didn't load instantly like the others:
https://user-images.githubusercontent.com/13206896/206470131-7720d349-651c-4de2-a8ca-8b0a519b2118.MP4

After brewing a little, I think this is an element of WAQ. I posted in slack here to get input from others!

Yeah, we talked about that in thread. I agree to not conflate the two, and I also think it will likely be solved by the image caching PRs.

I'll just go with the simple solution of hardcoding 12 elements (no dynamic calculation). I think that should be enough for most devices. Sounds good?

PR ready for review:  https://github.com/Expensify/App/pull/13425

noticed one of the avatars in the group (Alberto's) also didn't load instantly like the others

I'll check on the related GH here https://github.com/Expensify/App/issues/10792

This wasn't a pure bug, but rather something where we expanded existing support in the list of users. No need to add a regression test with that in mind.

@hungvu193 can you apply to the upwork job (above) for the $250 reporting bonus?

Removing @sobitneupane as that's erroneous. This was already fixed internally.

@hungvu193 can you apply to the upwork job (above) for the $250 reporting bonus?

I've just applied

@hungvu193 can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~01742c10c259cf2467

@hungvu193 can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~01742c10c259cf2467

Applied! Thank you

Thanks @hungvu193 , you're all paid.
I think this one can be closed now.  Comment/reopen if needed


[draft] caching website page

Relates to mainly #3888
and somewhat #3669
This is an initial PR. I would love more people involved to make the text accurate, solid and useful.

For easier reference a screenshot of the table of contents:

Recent update removed specific configuration information from component pages as I explained in the issue #3888
IMO this makes each component easier to understand and specific caching configuration can now be found on the 'caching' page.
I understand this might look weird and not logical but imagine the use-case: A new person that has no affinity with Thanos yet. The component page can be quite complicated. By moving specific information and guiding the user to the correct part, it should become more clear.
Please also checkout this branch and run it locally make web-serve to check it out.
For easier reference i've included a screenshot of the table of contents of the caching page.  I'm 100% open for any feedback on this change in #3888 . It's just merely a suggestion, so don't worry about giving feedback.

Maybe also worth mentioning that different services can share the same memcached instance(-s), for example? I see such questions regularly on Slack. Thank you for your work 🤗

I've added this, but I could use extra help on wording because I added the following note:
It however is not possible to use one memcached instance for multiple store backends as this provides conflicts on index keys.```

I've tested this myself with a Thanos setup that consists of two different setups having a different backend. What will happen if they both use the same memcached instance, is that it will fetch indexes from the index cache (?) and tries to fetch this from the storage backend. Yet it does not exists as it's not part of that setup.


[Enhancement] Markup HotReload

Summary
is there a hot reload feature in the xamarin community toolkit markup? if there is, how to use it.
also please improve documentation about xct markup, I spent hours searching on google to get started using this library.

Maybe you need to wait for the coming c# hot reload

Maybe you need to wait for the coming c# hot reload

All the documentation that we have right now is here: https://aka.ms/xct-docs
With a specific section on the C# Markup things: https://docs.microsoft.com/en-gb/xamarin/community-toolkit/markup
And the sample in our sample app: https://github.com/xamarin/XamarinCommunityToolkit/tree/main/samples/XCT.Sample/Pages/Markup
As for the reload, I think that's something that is being investigated/developed by the tooling teams, but unfortunately not something we control.
Since there is not much actionable we can do for this issue I'm closing this one for now

All the documentation that we have right now is here: https://aka.ms/xct-docs
With a specific section on the C# Markup things: https://docs.microsoft.com/en-gb/xamarin/community-toolkit/markup
And the sample in our sample app: https://github.com/xamarin/XamarinCommunityToolkit/tree/main/samples/XCT.Sample/Pages/Markup
As for the reload, I think that's something that is being investigated/developed by the tooling teams, but unfortunately not something we control.
Since there is not much actionable we can do for this issue I'm closing this one for now


Cleaned up UserProfile Class

Resolves many stylecop warnings in UserProfile
Makes constants for retrieving profile properties obsolute and re-implements them as private constants
Updated some upstream classes to use IPortalSettings instead of PortalSettings
Implemented automated stylecop fixes on many other files in the same project

I've verified this produced 37,378 warnings while the previous build produced 37,507 warnings (i.e. this removes 129 warnings).

Yeah, so we are almost done here 🤣

I did some analysis on the build log, and if we ignore the SA16xx documentation warnings and the CS0618 obsolete warnings, we're almost there with only a little over 10,000 warnings left.


Powershell snippet at the bottom of this page does not add rule for RDP UDP protocol

Ideally the snippet for enabling RDP on a custom port should include the UDP in rule, just like the default windows rule set.
$portvalue = 3390
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue

New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue

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

ID: 13054e70-b770-f803-4596-6d0ab3fe865c
Version Independent ID: 3e474a79-1129-fdf6-bbd4-a12e0e7ebe27
Content: Change the listening port in Remote Desktop
Content Source: WindowsServerDocs/remote/remote-desktop-services/clients/change-listening-port.md
Product: windows-server
Technology: remote-desktop-services
GitHub Login: @lizap
Microsoft Alias: elizapo

Fair point. Would you like to create a Pull Request to add your suggested addition to the code?

( ref. #5581 )


mariadb primary download url down

ustc and aliyun url for downloading redirecting user to mariadb's home page.
if gnu change or remove bison download or directory??
if sourceforge change the respected /lib/ source??
is it possible to make an conf or txt file to add personal mirror download source??
its's ok if the "/src " folder is too big as 1 or 2 gb but the software will bulletproof
expecting next update will fix this issue

ustc and aliyun is cache, not redirect
you can delete src/* after installed

i mean can you put all required piece of software as php,mysql,nginx, all the librarys all together and host your server then people can download the /src  or can add their own mirror
don't need to query sourceforge or gnu or any other externel mirror

If all the source code together, the flow is too large
users expect all installation packages to be downloaded from the official website.

is it possible to write down a restore script??
just a restore .sh and it will download the latest targz backup from dropbox or other backup server and copy pastethe /data/wwwroot/default and make the sqldb and restore db??
i made one for me but found you'r code is nicely brewed and hand crafted
thanks in advance


COMP: Fix const-correctness of iterators in multiple classes

Fix ambiguous overloaded operator != triggered in Apple Clang 12.
Reported here: https://discourse.itk.org/t/c-20-comparison-operators/3506
ITK-5.1/itkImageToHistogramFilter.hxx:294:18: error: use of overloaded operator '!=' is ambiguous (with operand types 'HistogramIterator' (aka 'itk::Statistics::Histogram<double, itk::Statistics::DenseFrequencyContainer2>::ConstIterator') and 'HistogramIterator')
      while (hit != end)
             ~~~ ^  ~~~
vcpkg_installed/x64-osx-asan/include/ITK-5.1/itkHistogram.h:405:5: note: candidate function
    operator!=(const ConstIterator & it)
    ^
vcpkg_installed/x64-osx-asan/include/ITK-5.1/itkHistogram.h:411:5: note: candidate function
    operator==(const ConstIterator & it)

PR Checklist

[ x ] No API changes were made (or the changes have been approved)
[ x ] No [major design changes](https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md#design-

I have added const to all problematic operators and that fixes compilation with clang and -std=c++20.


disable flaky devfs test

Description
This test doesn't want to pass on Windows :(

Landing on red to fix build


Make V2 the default homepage?

V2 is officially out. Should we make the https://community.algolia.com/instantsearch.js/ homepage the V2 one and then display a banner for V1 docs (or just a top menu item so it's less intrusive)?
The hierarchy could be:

/ => V2 homepage
/v2/* v2 docs
/* others, v1 docs (so there's no need to handle 301 etc. for now)

The goal being to push V2 even more.

/ should redirect to /v2/ IMO, rather than showing the homepage. Leaves more freedom for the future

Ideally yes, with the current setup that's not doable I think (GitHub pages has no redirect).

Ideally yes, with the current setup that's not doable I think (GitHub pages has no redirect).

But JS can

But JS can

Yes, unsure how google will present it though, it will still have to load most of the HTML page. But if it's an easier change than trying to fit the V2 homepage on /. Then let's do it this way yes.

I'd like to move V2 to root and keep the current under /v1/
it needs to handle clean redirection. Github doesn't allow .htaccess and I would avoid any js redirection.
Possibilities to explore.

html files with HTTP-REFRESH meta tag
cloudflare

We need clean 301.

I'd like to move V2 to root and keep the current under /v1/

Is there a way to prevent the broken links to the doc?

I don't know yet.
We can't really afford a move that'd break it, so i guess we'll have to figure it out :p
Github starts to be painful here.

We can go with @vvo solution meanwhile!

Is there a way to prevent the broken links to the doc?

Manually put 301 redirects in Cloudflare is the only way

Cool, @vvo wanna open a PR?


Add Amazon EKS Agones Setup Instructions

Added basic instructions to get Agones up and running in the EKS networking environment.

I signed it!

I signed it!


feat: updating token usage report

Description

updating token usage report

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

[x] Not Applicable

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 4.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


New version: DuongDieuPhap.ImageGlass version <IP_ADDRESS>

ARP entries are correct.
Auto-updated by vedantmgoyal2009/winget-pkgs-automation in workflow run 1989
Microsoft Reviewers: Open in CodeFlow

Pipelines dead again😕


Onboard the QuickPick list to custom checkboxes instead of native ones

with one unchecked:

with all checked:

superseded by https://github.com/microsoft/vscode/pull/208256


Navigation bar does not disappear on Huawei Browser

After setting everything up for the assetlinks.json on my test website and APK signing, I was able to get the navigation bar to disappear when the TWA was using Chrome Browser. However, the navigation bar does not disappear when the Huawei Browser was used instead.
Is this supposed to happen? Is the behavior of the navigation bar due to a feature with TWA or Chrome Browser?

Trusted Web Activity needs the target browser to support removing the navigation bar. I haven't tested it, but It sounds like the Huawei Browser doesn't support the protocol and removing the URL bar. Is the browser available on the Play Store or only on Huawei devices?

That might be the case. The browser is only available on Huawei devices through AppGallery. Here's the APK I retrieved from my device using ADB.
https://drive.google.com/file/d/1R9MLeqcPuT0FWfhd49_8Mkv2gCco8vIT/view?usp=sharing

Closing this issue, as this is a feature request for the Huawei Browser to support Trusted Web Activity, outside the scope of Bubblewrap.


providing a jsf UI (online demo)

Use gh-pages branch to deploy a browserifyed online demo. Moved from #14.

I'd start something similar to http://jsonschemalint.com/:

twitter bootstrap UI
one textarea for the schema along with fake data definitions
another textarea for the sample result
a generate button, which will regenerate the sample result
controllers: angular or vanilla JavaScript

Once we're done with above (which may take a while) we may proceed with other stuff. I guess it's better to start with small things. Does that domain (from the CNAME file) belong to you? Does changing the content of pateketrueke/json-schema-faker:gh-pages automatically trigger the website update?

Does that domain (from the CNAME file) belong to you?

Actually i'm using this: http://dns.js.org/ :+1:

please take a look at #19


Publish

Codecov Report

Merging #235 (0275973) into main (9c168ca) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Current head 0275973 differs from pull request most recent head 53f6d45. Consider uploading reports for the commit 53f6d45 to get more accurate results

@@           Coverage Diff           @@
##             main     #235   +/-   ##
=======================================
  Coverage   86.69%   86.70%
=======================================
  Files         526      526
  Lines        6526     6529    +3
  Branches      595      595
=======================================
+ Hits         5658     5661    +3
  Misses        794      794
  Partials       74       74

Impacted Files
Coverage Δ

src/modules/widgets/saga/datePickerWidget.ts
98.42% <100.00%> (+0.03%)
:arrow_up:

Continue to review full report at Codecov.

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


[ISSUE #3655] add operation-record-log-sqlmap unit test

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

 Maybe you can refer to it contributor-guide Pull a development branch to submit this pr.


UnauthorizedAccessException

I'm developing Windows Universal App and
UnauthorizedAccessException is thrown every time just after any other exception.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.IO.WindowsRuntimeStorageExtensions.<OpenStreamForWriteAsyncCore>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.IO.WindowsRuntimeStorageExtensions.<OpenStreamForWriteAsyncCore>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MetroLog.FileTarget.<GetWritableStreamForFile>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MetroLog.Targets.FileTargetBase.<GetOrCreateStreamWriterForFile>d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MetroLog.Targets.FileTargetBase.<WriteAsyncCore>d__26.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MetroLog.Targets.Target.<WriteAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MetroLog.GlobalCrashHandler.<App_UnhandledException>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
   at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore()

I have set up GlobalCrashHandler.Configure(); in App.xaml.cs
BTW I use MetroLog with singleton wrapper (if it is important):
public class Logger
    {
        private static Logger _instance;
        private static readonly object SyncRoot = new object();
        private static MetroLog.ILogger _logger;

        private Logger()
        {
            _logger = LogManagerFactory.DefaultLogManager.GetLogger<Logger>();
        }

        public static Logger Instance
        {
            get
            {
                if (_instance == null)
                {
                    lock (SyncRoot)
                    {
                        if (_instance == null)
                            _instance = new Logger();
                    }
                }

                return _instance;
            }
        }

        public void Warning(string message)
        {
            DebugOutputWrite(message); //duplicating message to Output
            if (_logger.IsWarnEnabled)
                _logger.Info(message);
        }
    }

I get this because its writing to the same log file from more than one process. I had to get one process to change the log name to get rid of this issue. Changing the log name is not easy as those class variables are not exposed.
// change a log name
var target = new StreamingFileTarget();
if(includeName)
target.FileNamingParameters.IncludeLogger = true;
LogManagerFactory.DefaultConfiguration.AddTarget(LogLevel.Trace, LogLevel.Fatal, target);

Hi,
I had the same issue, with my application crashing due to Unauthorized: Access denied exceptions.
In my case it was because of my own code on app launch, simple mistake, I was not considering other code than mine.
I wanted to delete all files older than 2 month on app start, but Metrolog wanted access for logging, and resulted in these exceptions. Metrolog on its own is handling multithreading nicely, I just messed it up with my code.
So, asure your code won't interfere with Metrologs routines.
Your issue is more than a year old, but maybe this will help other people.


Add keys used by attestari.me

Feel free to place them on a different location, wasn't sure the best place to add those keys.

Merged @joaoaguiam :+1:

@oed I would propose to have a section per dapp, or a page per dapp and a link on this one. This way we can detail better each data structure without polluting this summary page. What do you think?

@joaoaguiam yes, that make sense. Let's add a section called Entry data structure and then a subsection for each entry type. We can then also link this entry from the entry name 🙂


Support kubernetes environments that don't have S3 File System options.

The project currently requires the kubernetes cluster to support S3 based file systems.
While that is possible to configure on most (all?) public kubernetes providers it does cause friction when installing.
https://github.com/IBM/core-dump-daemon has been set up to move the current bash implementation in https://github.com/No9/coredump-node-detector/tree/containerd-support to a more robust and testable implementation

Fixed in https://github.com/IBM/core-dump-handler/releases/tag/v2.0.10
S3 File System replaced with an agent
https://github.com/IBM/core-dump-daemon consolidated into this repo.


Issue with replaceAll on some user-agents

When I click on a departement on the map, I get the following error, then nothing happens.
Uncaught TypeError: content.replaceAll is not a function
    at afficherDepartement (?dep=Hérault:1574)
    at SVGPathElement.<anonymous> (?dep=Hérault:1729)
    at SVGPathElement.dispatch (jquery.min.js?ver=3.5.1:2)
    at SVGPathElement.v.handle (jquery.min.js?ver=3.5.1:2)

User-Agent : Chromium 73.0.3683.75
replaceAll could be replaced by replace
replace(/[‘word_you_want_change’]/g,”[word_will_be_change]”)
https://medium.com/@haidinurhadinata_22/how-handle-replaceall-is-not-a-function-in-javascript-e0af1a7cf069

Moved to https://github.com/rozierguillaume/covidtracker-tools/issues/11

Moved to https://github.com/rozierguillaume/covidtracker-tools/issues/11


Update ryuk references to latest version - 0.2.3

as version https://github.com/testcontainers/moby-ryuk/releases/tag/0.2.3 was released

test and docs probably doesnt need a change but I guess its nice to have as well

Thanks for spotting and fixing!


Add logs handler and Loki application plugins

This pull request adds logs and Loki support to sg-core. Most of the code (commits from "Add ending 0..." to "Update the loki...") you were already able to see at [1]. Commit "Cleanup" addresses the issues mentioned in the comments for that PR. The last 2 commits mostly just modify the code to use the current event bus.
I borrowed and modified the function for parsing time from plugins/handler/events/pkg/lib/time.go. I think we might want to move this one to apputils/system, I think it could be useful in many more situations.
I also have a question about severity. As you can see from the code, syslog distinguishes between more severity values, than our bus currently allows. I tried to somehow map the syslog severity to our severity, which might be good enough. But maybe we should consider adding some of the syslog severity values to the severity on the event bus.
[1] https://github.com/pleimer/sg-core/pull/18

I needed to make a couple of bug fixes in #29 and I included the socket buffer change there, so it you can just merge that in here when you are ready

I think I made all the required changes, so unless there is anything else, we could merge this?

the assimilateMap is probably also something, that could be moved to apputils/system

Definitely agree, maybe not apputils/system, but something like apputils/misc, but feel free to submit additional duo of PRs for apputils and sg-core, making this happen ;).


[Feature] manual logs record as NVTX

Since using nsight may bring significant profiling overhead, implementing our own log system is a good choice.

#50

Finished in #50


SAP Connector for Microsoft .NET 3.0 - New Versions and Impact on PBI

The SAP website now has SAP Connector versions newer than those referenced in the article. Are these appropriate to use for Power BI? Should we always be using the latest versions with Power BI?

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

ID: 58ffc50e-bb57-9a79-ab89-2cbd9ca1e335
Version Independent ID: c0a48358-4144-6d9f-f4c0-b2747b091bf9
Content: Use the SAP Business Warehouse (BW) Connector in Power BI Desktop - Power BI
Content Source: powerbi-docs/connect-data/desktop-sap-bw-connector.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment. The documentation shows which version is currently supported in Power BI; other updates from external vendors (such as SAP) are not necessarily immediately supported. We update our documentation as support for more recent versions is tested and established.


Always returns invalid

final result = await sslChecker('https://www.google.com');
print(result)

Always returns false.

@alexrabin Hi, thank you for reports.
This is not a bug, this is the design.
You must pass the hostname, not URI.
final result = await sslChecker('www.google.com');

Thank you,


Allow extra compiler options to be specified

Any reason why you can't use cmake -DCMAKE_CXX_FLAGS=-Foo ?
Also the command add_compile_options is only available in CMake 3 and I'd prefer if Libosmium works with older CMake.

Well I tried about a bazillion things before I added that patch, but if that is the magic define then fine - will try it and let you know ;-)

Yes, that does seem to work - they go before other options, so the -O3 that you add probably wins over the -O2 from the Fedora standard options which is probably technically wrong from a Fedora packaging standpoint but other than that it should work.


Rendering .warc does not work

Hello,
I am using a software solution at work that uses OpenWayback for rendering (displaying) .warc files. However, some websites I recently archived cannot be displayed. Some problems appear to be that OpenWayback has problems rendering some fonts, images and javascript on the sites. As a result, when trying to display it, the website appears for a short instant (less than one second), then disappears. In other words, I cannot use the .warc files.
To control if the .warc files were the problem I rendered them in another viewer, replayweb.page. The files can be displayed and interacted with just fine there.
I have gotten several issues:
Failed to load resource: the server responded with a status of 500 ()
Failed to load resource: the server responded with a status of 404 ()
Refused to apply style from 'https://[...]' because its MIME type (text/html) is not a [...] supported stylesheet MIME type, and strict MIME checking is enabled.
Are there known solutions to these issues? I have this problem on several archived websites. It is important that I can display the .warc files using OpenWayback since this is the renderer the software we use at work utilizes.
Looking forward to hearing about solutions,
Thank you in advance
André

Hi @AndreSAR155 ,
It is become increasingly common that newly developed websites don't replay cleanly in OpenWayback.

Some problems appear to be that OpenWayback has problems rendering some fonts, images and javascript on the sites. As a result, when trying to display it, the website appears for a short instant (less than one second), then disappears. In other words, I cannot use the .warc files.

These things can happen for different reasons. OpenWayback generally works by rewriting all the URLs in the page that it is loading to also load all assets via OpenWayback and the web archive rather than trying to pull from the live web. It could be that the URLs aren't being rewritten because OpenWayback doesn't know to rewrite the type of attribute it is in, it could be that some assets aren't captured, it could be something in the JavaScript that prevents URLs being recognized and rewritten, it could be that rendering the page correctly relies on POST requests which Replayweb.page has a mechanism for handling but OpenWayback does not, it could be that code included in the archived JavaScript prevents the page from loading (or appearing for an instant than disappearing), etc.
It is hard to tell specific causes seeing only dev tools errors without knowing the URLs they are happening with and looking at code.

Failed to load resource: the server responded with a status of 404 ()
Refused to apply style from 'https://[...]' because its MIME type (text/html) is not a [...] supported stylesheet MIME type, and strict MIME checking is enabled.

to me indicates the css request responded with a 404 not found that was text/html, and since that is not what is expected for applying style, there is no style applied. What caused the 404 there I can't tell. It is possible we could tell more with your WARC file  or with the URL for a page you are trying to load that is having these issues and what tool you used to create the WARC, so we can try to replicate the problems. Not sure we could provide a solution at this time though if it is beyond a rewriting URL issue.
That said, knowing the issues you are seeing with replaying your WARC in OpenWayback are not specific to you and will likely continue to grow, IIPC is strongly recommending that users of OpenWayback (software that is no longer being actively worked on to fix newly arising replay issues) transition to pywb (software that is being actively developed along with Replayweb.page). To facilitate such a move, IIPC has funded a transition guide to help:
https://netpreserveblog.wordpress.com/2020/12/16/openwayback-to-pywb-transition-guide/
https://pywb.readthedocs.io/en/latest/manual/owb-transition.html

Hello @ldko
Thank you very much for your reply. It is very helpful to know that IIPC recommends transitioning to pywb.
In the case of my WARCs I believe it may, as you say, be a problem with that JavaScript either prevents URLs or prevents the archived page from loading.
In the short term I will rely on replayweb.page to check my WARCs.

The main URL I archived was the following:
https://www.maastunnel.nl/#/all
I used Conifer (https://conifer.rhizome.org/) to archive it.
If this could be used to replicate the problem and create a solution, that would be very helpful.

@ldko Thank you for trying. It is possible that it has something to do with different OpenWayback versions, or indeed the capture technology. This WARC was captured in December last year, and there have even been updates to the webrecorder products' code since then.
The software solution I use at work has claimed they will revamp their web archiving technology in the course of this year, so for now I will rely on pywb, replayweb.page or Conifer.
Thanks for your help


Add featured=true to services

Oversight on my part: I didn't think services were featured, but we need a flag to show which ones to display on the homepage.

blogs/services both use the same endpoint so it should already be in place


Unwelcome Error: memory allocation failed

ruff 0.1.13 installed by brew
MBP M1 mac 14.1.2
I am using ruff on Pycharm Filewatcher to trigger when file saved, it had been worked for 2 weeks. Now it return this error message
/opt/homebrew/bin/ruff format --config ~/ruff.toml /pycharm/file/path
memory allocation of<PHONE_NUMBER>061442862 bytes failed

Process finished with exit code 134 (interrupted by signal 6:SIGABRT)

This is my ruff config from ~/ruff.toml,
line-length = 100
exclude = ["*/__init__.py"]

[lint]
# F=pyflakes
# I=Isort
select = ["F", "I"]

#F541 f-string without any placeholders
#F841 local variable '...' is assigned to but never used
#F403 from {name} import * used; unable to detect undefined names
#F401 '...' imported but unused --> Makefile (make ruff)에서만, 사용 강제합니다.
ignore = ["F541", "F841", "F401", "F403"]
fixable = ["ALL"]

[isort]
relative-imports-order = "closest-to-furthest"

[format]
quote-style = "double"
indent-style = "space"
line-ending = "auto"

We're sorry you're encountering this issue and the unwelcome error message.
We've been trying to identify the root cause of it in https://github.com/astral-sh/ruff/issues/8147 but have since been unable to reproduce it. It would be extremely helpful to us if you could share your cache state, commit version, and link to your project if it is an open source project so that we can reproduce locally and fix the issue.
I'll close this issue to track the work in https://github.com/astral-sh/ruff/issues/8147


getTokens returns undefined

Describe the bug
Upgraded to version beta.181
const tokens = getTokens();

console.log(tokens.color.black1) // undefined

while in the previous version, you can get the value like this
console.log(tokens.color.$black1.val.toString()) // # 101817

or am I missing something?
Thanks!

@dohomi I'm testing in the sandbox (and on the site in places) and I don't see that:

This means you are calling that before you call createTamagui, which must be at the very top of your app tree and imported early somewhere.

@natew I made a strange mistake inside my mono repo requiring a wrong package version. Everything works as expected


Question..

Though this is not much of an issue but a question. I been looking at iron for awhile and was wondering how stable is iron to be used in production? Is it able to compete against something in another language like vibe.d when it comes to performance? I know rust itself is still in development so performance can change but are there any benchmarks to compare the performance between iron and vibe.d + libevent and vibe.d + libasync (native event driver)?

Iron and rust are still pretty unstable, so I wouldn't recommend using them in production just yet. There are also a bunch of polish issues with Iron and associated middleware, though I am rapidly addressing them and making it a core focus for the next few weeks.
Performance is definitely a goal of Iron, but it has to be framed inside the blocking-IO world that it lives in, which means it won't be as fast as some other fast solutions built on asynchronous IO. That said, Iron wrecks node.js and other higher-level evented libraries in req/sec (by like an order of magnitude).
I don't know enough about vibe.d (I had to google it) to really compare it to Iron, but from what I've read it appears to be based on non-blocking IO, which means it will have a different performance model than what Iron has.

Since this is just a question, I'm closing.


[youtube] Cannot find refreshed manifest for format 140; [youtube] Cannot find refreshed manifest for format 302

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I'm running yt-dlp version 2023.10.13 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
No response
Provide a description that is worded well enough to be understood
Not sure if this is happening because experimental "--live-from-start" function is still experimental, but a few days before everything was working well. Now it autimatically stops downloading at some point of the stream and starting merging it, while the live broadcast is still on:
WARNING: [youtube] Cannot find refreshed manifest for format 140; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U. Giving up after 3 retries
WARNING: [youtube] Cannot find refreshed manifest for format 302; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U. Retrying (3/3)...
Also some issues with fragments, some of them are being skipped sometimes different yt-streams:
([download] fragment not found; Skipping fragment 1613 ...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 1613 (9/10)...)
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.youtube.com/watch?v=GU4JfGsxMrY', '--live-from-start']
[debug] Encodings: locale cp1251, fs utf-8, pref cp1251, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b634ba742] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.18362-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 6.0-full_build-www.gyan.dev (setts), ffprobe 6.0-full_build-www.gyan.dev, phantomjs 2.1.1
[debug] Optional libraries: Cryptodome-3.19.0, brotli-1.1.0, certifi-2023.07.22, mutagen-1.47.0, sqlite3-3.35.5, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1890 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 13d6a04ef6678dc61cb6e2d42eb53e69486bd2f52b8e5d778db029ccd4c600b4
yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=GU4JfGsxMrY
[youtube] GU4JfGsxMrY: Downloading webpage
[youtube] GU4JfGsxMrY: Downloading ios player API JSON
[youtube] GU4JfGsxMrY: Downloading android player API JSON
[youtube] GU4JfGsxMrY: Downloading MPD manifest
[youtube] GU4JfGsxMrY: Downloading MPD manifest
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] GU4JfGsxMrY: Downloading 1 format(s): 302+140
[debug] Invoking dashsegments downloader on "https://manifest.googlevideo.com/api/manifest/dash/expire/1697554203/ei/u0ouZZW4L8rryAW694XYBQ/ip/<IP_ADDRESS>/id/GU4JfGsxMrY.2/source/yt_live_broadcast/requiressl/yes/hfr/1/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/spc/UWF9fwOf7kXE9fRCXZz54Hh-nqaHjqY/vprv/1/pacing/0/itag_bl/376%2C377%2C384%2C385%2C612%2C613%2C617%2C619%2C623%2C628%2C655%2C656%2C660%2C662%2C666%2C671/keepalive/yes/fexp/24007246/beids/24350018/itag/0/playlist_type/LIVE/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Chfr%2Cas%2Cspc%2Cvprv%2Citag%2Cplaylist_type/sig/AGM4YrMwRAIgbuLdEVQQ0Cu2-P5zlycxELjfm_MVXueV3UDhI1SrOIsCIFXBl1MqSHAkXjEc79dj4DbNOjezdfgVz8QfseohWaLb", "https://manifest.googlevideo.com/api/manifest/dash/expire/1697554203/ei/u0ouZZW4L8rryAW694XYBQ/ip/<IP_ADDRESS>/id/GU4JfGsxMrY.2/source/yt_live_broadcast/requiressl/yes/hfr/1/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/spc/UWF9fwOf7kXE9fRCXZz54Hh-nqaHjqY/vprv/1/pacing/0/itag_bl/376%2C377%2C384%2C385%2C612%2C613%2C617%2C619%2C623%2C628%2C655%2C656%2C660%2C662%2C666%2C671/keepalive/yes/fexp/24007246/beids/24350018/itag/0/playlist_type/LIVE/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Chfr%2Cas%2Cspc%2Cvprv%2Citag%2Cplaylist_type/sig/AGM4YrMwRAIgbuLdEVQQ0Cu2-P5zlycxELjfm_MVXueV3UDhI1SrOIsCIFXBl1MqSHAkXjEc79dj4DbNOjezdfgVz8QfseohWaLb"
[dashsegments] Total fragments: unknown (live)
[download] Destination: Турнир ＂День тренера＂, День 1 [GU4JfGsxMrY].f302.mkv
[debug] File locking is not supported. Proceeding without locking
[dashsegments] Total fragments: unknown (live)
[download] Destination: Турнир ＂День тренера＂, День 1 [GU4JfGsxMrY].f140.mkv
[debug] [youtube] [GU4JfGsxMrY] Generating fragments for format 302
[debug] [youtube] [GU4JfGsxMrY] Generating fragments for format 140
[download]    1.55GiB at    3.41MiB/s (00:10:21) (frag 1934/1934)[youtube] GU4JfGsxMrY: Downloading webpage   150.86MiB at      0.00B/s (00:10:18) (frag 1934/1934)
[youtube] GU4JfGsxMrY: Downloading ios player API JSON
[youtube] GU4JfGsxMrY: Downloading android player API JSON
[youtube] GU4JfGsxMrY: Downloading MPD manifest
[youtube] GU4JfGsxMrY: Downloading MPD manifest
[download]    1.79GiB at    3.48MiB/s (00:36:47) (frag 2252/2252)[youtube] GU4JfGsxMrY: Downloading webpage  100% of  150.86MiB in 00:10:25 at 246.93KiB/s
[youtube] GU4JfGsxMrY: Downloading ios player API JSON
[youtube] GU4JfGsxMrY: Downloading android player API JSON
[youtube] GU4JfGsxMrY: Downloading MPD manifest
[youtube] GU4JfGsxMrY: Downloading MPD manifest
[download] 100% of    1.79GiB in 00:36:55 at 849.34KiB/s

[Merger] Merging formats into "Турнир ＂День тренера＂, День 1 [GU4JfGsxMrY].mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:Турнир ＂День тренера＂, День 1 [GU4JfGsxMrY].f302.mkv" -i "file:Турнир ＂День тренера＂, День 1 [GU4JfGsxMrY].f140.mkv" -c copy -map "0:v:0" -map "1:a:0" -movflags "+faststart" "file:Турнир ＂День тренера＂, День 1 [GU4JfGsxMrY].temp.mkv"
Deleting original file Турнир ＂День тренера＂, День 1 [GU4JfGsxMrY].f302.mkv (pass -k to keep)
Deleting original file Турнир ＂День тренера＂, День 1 [GU4JfGsxMrY].f140.mkv (pass -k to keep)

Can you share a log that actually demonstrates the issue?
If the issue is not consistently reproducible there is nothing much we can do to fix it. --live-from-start is experimental because it depends heavily on youtube not changing any of its dash livestreaming practices. Consistency and livestreams often don't go together, and anomalies are to be expected

Can you share a log that actually demonstrates the issue?
If the issue is not consistently reproducible there is nothing much we can do to fix it. --live-from-start is experimental because it depends heavily on youtube not changing any of its dash livestreaming practices. Consistency and livestreams often don't go together, and anomalies are to be expected

I see. But about reproducible - the mentioned stream is still on, and every time (third time already) I download it with "--live-from-start" the download stops at some random point.
I'll check it on other different livestreams from youtube, then. Maybe it's just this stream has some issues.
But is there a way to prevent stopping of downloading? Like some command, that forces yt-dlp to repeat again and again downloading?

But is there a way to prevent stopping of downloading? Like some command, that forces yt-dlp to repeat again and again downloading tries? (if it encounters with such issues)

Not in this case, no. yt-dlp is stopping because it thinks the download/stream is complete. You would have to loop yt-dlp in your shell or in an external script

But about reproducible - the mentioned stream is still on, and every time (third time already) I download it with "--live-from-start" the download stops at some random point.

In that case, please post a log?

Not in this case, no. yt-dlp is stopping because it thinks the download/stream is complete. You would have to loop yt-dlp in your shell or in an external script

OP says they got "giving up after 3 tries", so --retries infinite would possibly work?

OP says they got "giving up after 3 tries", so --retries infinite would possibly work?

Would have to pass --extractor-retries, not --retries. But --extractor-retries infinite is generally a very bad idea and not recommended. Maybe try --extractor-retries 15 with --retry-sleep 2 or something. I'm doubtful if retrying a bad manifest URL will actually work at all though


Injecting labels into Docker image

This PR injects labels from the docker/metadata-action GHA into the image that is pushed to the registries.  These images are from meet the opencontainers.org standard as defined here.  The GHA provides the following tags & labels as seen in the recent 1.2.7 release GHA run:
{
    "tags": [
      "networktocode/nautobot:1.2.7-py3.7",
      "networktocode/nautobot:stable-py3.7",
      "ghcr.io/nautobot/nautobot:1.2.7-py3.7",
      "ghcr.io/nautobot/nautobot:stable-py3.7"
    ],
    "labels": {
      "org.opencontainers.image.title": "nautobot",
      "org.opencontainers.image.description": "Network Source of Truth & Network Automation Platform",
      "org.opencontainers.image.url": "https://github.com/nautobot/nautobot",
      "org.opencontainers.image.source": "https://github.com/nautobot/nautobot",
      "org.opencontainers.image.version": "1.2.7-py3.7",
      "org.opencontainers.image.created": "2022-02-22T22:30:10.533Z",
      "org.opencontainers.image.revision": "4da94a0b6d649526a15f13615e1d7c8ba401cd9d",
      "org.opencontainers.image.licenses": "Apache-2.0"
    }
  }

The only one we want to override the default of is the title which defaults to nautobot instead of Nautobot.

This is just adding metadata to the container images for various applications to pull details from such as the GitHub container listing:


text observable

Comes handy when we have to observe text content changes.

Should that be generalized to children observable? We can observe for prop / attr, but we may need to observe child nodes changes.

OR - that is possible to silently upgrade web-component-ish aspects, enabling shadow dom or scoped css.
$('ap-tab') - direct name is converted to direct web-component
$('#smth') - inherits root element and creates web-component
$('[is=ap-tab]') - creates proper web-component

Either $ or h will suffice - both are observables.


Finalize how to render to shadowDOM

You currently can render into shadowDOM by setting the viewRoot property:
https://github.com/canjs/can-stache-define-element/blob/75be0f9c937459f6eba13bcf21a09ec7999c26e4/src/mixin-stache-view-test.js#L44
This isn't currently documented because we might want to change how this works. It might be easier to just automatically render into shadowDOM if attachShadow was called and not have a special viewRoot property. Although maybe there will be use-cases for rendering somewhere else, so viewRoot might be useful.

I think viewRoot is a bit more flexible than checking for a .shadowRoot property. It's explicit and will work with closed shadow roots as well.  If a shadow exists then there's probably no point of rendering a template into the light DOM. At least I've never heard of anyone doing that.  Keeping viewRoot gives you flexibility here. You could render a template into the shadow (manually) and have the framework render it into the element light DOM.  Weird but possible.

the portal helper is semi-similar ... not sure if this means anything from an API perspective


Language generator is broken

at least on Windows (dev branch):
> npm run generate language

><EMAIL_ADDRESS>generate D:\Projects\react-boilerplate
> plop --plopfile internals/generators/index.js "language"

? [LANGUAGE] What is the language you want to add i18n support for (e.g. "fr", "de")? fr

D:\Projects\react-boilerplate\internals\generators\language\index.js:71
            throw err || stderr;
            ^
Error transforming file: app/containers/LocaleToggle/messages.js
SyntaxError: unknown: [React Intl] `defineMessages()` must be called with an object expression with values that are React Intl Message Descriptors, also defined as object expressions.

Does anyone else experience this issue?

Confirmed on macOS also, git checkout dev > npm i > npm run generate language > selected the default fr > hit enter and then got the same error you reported!

@justingreenberg, I need your advice. #813 broke extract-intl script, here's an error message (it can't parse app/containers/LocaleToggle/messages):
Run extraction on all filesSyntaxError: unknown: [React Intl] `defineMessages()` must be called with an object expression with values that are React Intl Message Descriptors, also defined as object expressions.
  17 | }
  18 |
> 19 | export default defineMessages(
     |                ^
  20 |   getLocaleMessages(appLocales)
  21 | );
  22 |
    at File.buildCodeFrameError (D:\Projects\react-boilerplate\node_modules\babel-core\lib\transformation\file\index.js:431:15)
    at NodePath.buildCodeFrameError (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\path\index.js:140:26)
    at assertObjectExpression (D:\Projects\react-boilerplate\node_modules\babel-plugin-react-intl\lib\index.js:285:36)
    at PluginPass.CallExpression (D:\Projects\react-boilerplate\node_modules\babel-plugin-react-intl\lib\index.js:316:21)
    at newFn (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\visitors.js:276:21)
    at NodePath._call (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\path\context.js:76:18)
    at NodePath.call (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\path\context.js:48:17)
    at NodePath.visit (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\path\context.js:105:12)
    at TraversalContext.visitQueue (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\context.js:150:16)
    at TraversalContext.visitSingle (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\context.js:108:19)
    at TraversalContext.visit (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\context.js:192:19)
    at Function.traverse.node (D:\Projects\react-boilerplate\node_modules\babel-traverse\lib\index.js:114:17)
Error transforming file: app/containers/LocaleToggle/messages.js

I have only two ideas how to fix it: bring back previous 'dumber' messages.js,

or add all the necessary messages like "boilerplate.containers.LocaleToggle.de" manually by scanning translations folder and appending these messages to the end (almost) the file.
Do you know better ways to fix this?

I accidentally generated two of the same languages because didn't know it worked the first time and there were no constraints keeping me from doing it. Just a related issue..

Yep, we should definitely fix that. I've created a new issue: #1234.

@Dattaya I'm sorry for the delay in getting to this, I have been swamped at work and personally with weddings and holidays... This is on my list and will investigate asap :)

@justingreenberg, no problem, it's not a critical bug, so please, take your time.
I went with option # 1 and realized that both of them unfit to solve the issue. By option # 1 I mean this:

Revert back #813
Add a new action to the language generator that would update LocaleToggle's messages, for example for fr it would add:

  fr: {
    id: 'boilerplate.containers.LocaleToggle.fr',
    defaultMessage: 'fr',
  },

The problem is that it's specific to the example app, LocaleToggle is deleted if you run npm run clean. My revived ideas now look like this:

Allow to inject actions into the generators (from e.g. internals/generators/plugins folder), sort of an add-on/plugin system and remove everything from that folder during npm run clean. This is an action we can inject:

    actions.push({
      type: 'modify',
      path: '../../app/containers/LocaleToggle/messages.js',
      pattern: /(defineMessages\(\{\s*)$/m,
      templateFile: './language/locale-toggle-messages.hbs',
    });

Alternatively, simplify the example app—do not translate language names and always show them as 'en', 'de', 'fr', …

Third option is described here: #1251


Modal scrollable on overflow. Closes #104

Thanks a lot @miguelmota 🙏 Going to publish this right now!


[Help me 🙏] Route not found =>  http://[myip]:4000/auth/register

param
<EMAIL_ADDRESS>"password":"StrongPasswordNot1234"}

respone
{
    "statusCode": 404,
    "error": "Not Found",
    "message": "Route not found"
}

Can you try: http://[myip]:4000/signup/email-password?

Can you try: http://[myip]:4000/signup/email-password?

thanks 🙏☺


TP-1011 delete basket items

TP-1011 Packaging / delete basket items
Why
This PR implements the work to provide work basket bulk editing capabilities (packaging) and in this, its first use, allows bulk selection, review and deletion of TrackedModel subclass instances.
What
There are two significant areas of change:

The application dashboard's "Your tariff changes".
TrackedModel review views.

Where previously there was a non-editable list of TrackedModel instances displayed on the application dashboard under "Your tariff changes", there is now a paged form of checkboxes (similar to, but not exactly the same as, a form wizard) that allows persistent selection of TrackedModel instances. Each checkbox sits alongside a TrackedModel's details. Checkbox selection is saved in the user's session whenever the user submits the multi-page form. Form submission is performed on the following actions:

Next page navigation.
Previous page navigation.
Publish all changes.
Remove all changes.

The previous function-base dashboard view has been replaced by a class-based view, common.views.DashboardView, in order to manage the session-saving interactions and paged form display. New form and form field classes (workbaskets.forms.SelectableObjectForm and workbaskets.forms.SelectableObjectField, respectively) have also been added to support multi-paged display and selection.

The TrackedModel review views comprise a new view class, workbaskets.views.WorkBasketDeleteChanges and supporting Jinja2 templates - extension templates, inclusions and macros.

New classes and Jinja templates have been written with consideration for use in future packaging requirements.
Some of the new components will be moved within the project before this PR is changed from draft status so that they are more closely aligned with functionally similar components.
Checklist

Requires migrations? No
Requires dependency updates? No

Codecov Report

Merging #471 (de2c1c1) into master (b70b5d2) will decrease coverage by 0.27%.
The diff coverage is 59.28%.

@@            Coverage Diff             @@
##           master     #471      +/-   ##
==========================================
- Coverage   92.14%   91.86%   -0.28%
==========================================
  Files         286      288       +2
  Lines       17750    17881     +131
  Branches     1471     1485      +14
==========================================
+ Hits        16355    16427      +72
- Misses       1121     1178      +57
- Partials      274      276       +2

Impacted Files
Coverage Δ

common/urls.py
100.00% <ø> (ø)

workbaskets/urls.py
100.00% <ø> (ø)

workbaskets/views/__init__.py
68.42% <37.14%> (-26.71%)
:arrow_down:

workbaskets/session_store.py
59.25% <59.25%> (ø)

common/views.py
75.66% <63.49%> (-7.31%)
:arrow_down:

workbaskets/forms.py
93.33% <93.33%> (ø)

importer/taric.py
90.60% <0.00%> (-1.35%)
:arrow_down:

Continue to review full report at Codecov.

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


No way of knowing which wallet is connected from on the dashboard

Describe the bug
When the wallet is connected, it doesn't display which wallet. I use multiple ETH wallets and all sites running on ETH usually show which wallet is connected.
To Reproduce
Steps to reproduce the behavior:

Connect Wallet
Look at top right of page.

Expected behavior
The ETH address of connected wallet should be displayed, or at least the avatar for that link.
Screenshots

Desktop (please complete the following information):

MacOS 10.12.6
Chrome
87.0.4280.88 (Official Build) (x86_64)

Additional context
Wallet Connected via MetaMask on Rinkeby
Wallet address
0x1C69ac5509e5fac81e1636f03F9AAa3EB56CdbE6

This appears to only happen when on mobile, ipad or smaller resolution laptops.

This appears to only happen when on mobile, ipad or smaller resolution laptops.

Good one, I'll mix it with this one: https://github.com/The-Poolz/Poolz-Back/issues/50

Good one, I'll mix it with this one: https://github.com/The-Poolz/Poolz-Back/issues/50

It is:

It is:

Unfortunately not visible when viewing on a small laptop or iPad

Unfortunately not visible when viewing on a small laptop or iPad


Code refactoring

Thanks for contributing! I am sorry but I can't merge this. This is too big of a diff. Will be hard for me and others who are working on this project hard to merge our stuffs afterwards.
I would keep it at two space indent for this project following the swift style guide here

ok, your decision 👍🏻

@lkzhao maybe you should add a contribution guideline

@ayalcinkaya Thank you for you understanding. 😊
@mRs- Sure


add absolute path to getDependcies.pl

related: https://github.com/AdoptOpenJDK/TKG/issues/63
Signed-off-by: OscarQQ<EMAIL_ADDRESS>

Grinder_TKG/920  sanity
Grinder_TKG/921  extended
pass locally


E2E VM support: Adding E2E tests for VM workloads

Is your feature request related to a problem? Please describe.
The current E2E tests supports Pod workloads only, I suggest to add also E2E support for VM workloads using cutting edge technology based on Python3/ Docker/ Github actions/ Terraform/ Cloud
Describe the solution you'd like
The solution is to run smart E2E tests per each commit using Github actions for Pod and VM workloads using Azure cluster
preinstalled with CNV/OCS/ECK/Grafana. We plan to deploy a full cluster with preinstalled requirement using Terraform capabilities per run [estimation time for full deployment ~1 hour], for starter we will use stop/start mechanism for existing cluster for cost savings.
Describe alternatives you've considered
The main goal is to run agile E2E tests for Pod and VM workloads for each branch commit using Github actions.
For each commit we will start Azure cluster and we will trigger E2E tests for VM and Pod to test the commit changes before it reach to review, also we can accelerate the E2E branch test time and trigger only the specific workload E2E test that changed.
We can use benchmark-runner framework capabilities for running the E2E tests in agile smart way for each branch commit.
I can do a quick demo and share with you the details for my plan.
Additional context
I have already shared some details with Raul and looks like it can be a perfect feature for running E2E tests for Pod and VM workloads.

Why do we need this benchmark-runner?

[estimation time for full deployment ~1 hour] - This is a bit concerning.

Benchmark runner is a framework that gives an ability to run VM and Pod workloads in simple and smart way and that including configuration, recovery and validation mechanism. Also it gives you a simple workflow for adding a new workload.
We can try embedded it inside benchmark operator but that required maintenance for every enhancement inside benchmark-runner.

Hi @ebattat, thanks for the enhancement suggestion.
I'm not sure I'm clear on your suggestion:

The current E2E tests supports Pod workloads only, I suggest to add also E2E support for VM workloads using cutting edge technology based on Python3/ Docker/ Github actions/ Terraform/ Cloud

Which current e2e tests are you referring to the ones run on benchmark-operator?
The change you're proposing is to add support for "VM workloads"?
Given the "VM workloads" you're talking about are CNV in OpenShift, what would the practical difference be between a typical pod workload and a CNV pod VM workload?
In regards to the cutting edge technology, are you suggesting we use GitHub actions to launch CI?

The solution is to run smart E2E tests per each commit using Github actions for Pod and VM workloads using Azure cluster
preinstalled with CNV/OCS/ECK/Grafana.

Why specifically Azure?
How are you preinstalling CNV/OCS/ECK/Grafana?

We plan to deploy a full cluster with preinstalled requirement using Terraform capabilities per run [estimation time for full deployment ~1 hour], for starter we will use stop/start mechanism for existing cluster for cost savings.

Are you talking about using the openshift-installer (which uses terraform) to deploy a cluster?

We can use benchmark-runner framework capabilities for running the E2E tests in agile smart way for each branch commit.
I can do a quick demo and share with you the details for my plan.

I'm not sure I see what we gain with the use of benchmark-runner? I've never seen this project before, but after a quick look it seems to be a python wrapper that deploys the benchmark-operator?

There are three main points of concern that I have here.
First, can you talk about the purpose behind benchmark-runner? I agree with @sjug that it looks like a wrapper around benchmark-operator. If this is the case, we can not have benchmark-runner be used for a CI for benchmark-operator. We faced this same problem with benchmark-wrapper where benchmark-wrapper's testing CI used benchmark-operator and this lead to circular dependency issues creating flaky results, as each CI run was testing benchmark-wrapper changes as well as how they integrated into benchmark-operator (i.e. we test benchmark-wrapper by using benchmark-operator which already depends on benchmark-wrapper).
Second, this seems to be three separate issues and associated PRs that you are suggesting. One is for testing VM workloads, one is for adding CI runs on each commit and one is for recreating the CI. I definitely would love to work with you to revisit the CI that we have in place and make improvements, but can we make sure that we take it one step at a time? Doing multiple large changes like this within the same context can get really messy really fast.
Third, and I already have this issue with our current CI which is why I'm bringing it up here, whatever CI solution we come up with needs to be cost effective, time efficient and easy to maintain. On-demand deployment of a cluster on Azure per-commit is super sick, but off the bat sounds like a time-sink.
I guess my overall questions are: where do you want to start and how can we modify your plan to be easier to maintain?

Hi @sjug and @learnitall,
First thanks for reviewing my feature enhancement.

The main purpose of benchmark-runner framework is for OpenShift CNV Performance benchmarks that placed on IBM cloud. The current CI is only for package unittest/ Integration/ E2E tests. Currently, benchmark-runner support Stressng, Uperf, Hammerdb(Mariadb,mssql, Postgres) on Pod and VM using OCS.
We plan to enrich it with more workloads in the near future (that will be very easy because we already implement agile infrastructure for adding new workloads)
In summarized, Benchmark-runner is not another wrapper, its independence framework with all the capabilities inside.

We can also add CI for benchmark-operator as we already have inside benchmark-runner for triggering integrations tests for every branch commit and that can shorten the merge and review time and ensure for stable release. But its a different subject and not related to CNV workload support. and for sure if we plan to add it it will be on separate phase.

OCP deployment from scratch can be time consuming, we can accelerate it by auto loading from existing images. but for the beginning we can use a start/stop mechanism for cost saving.

I plan to start it after getting green light from the team and decide what is the right way to implement it. I believe we will get more clear picture after internal meeting with @jtaleric team.
If you have more unclear things please let me know.

Hi @sjug,
First thanks for reviewing my feature enhancement.
Please see my answers below:
Which current e2e tests are you referring to the ones run on benchmark-operator?
I mean to the tests that run against every commit change that related only to pod workloads.
The change you're proposing is to add support for "VM workloads"?
Yes, I want to add CNV workload tests that will run per commit.
Given the "VM workloads" you're talking about are CNV in OpenShift, what would the practical difference be between a typical pod workload and a CNV pod VM workload?
The CNV workloads run on VM and not on Pod
In regards to the cutting edge technology, are you suggesting we use GitHub actions to launch CI?
Yes, I suggest that you will start use Github actions against branch and main that can shorten the merge and review time and ensure for stable release.
Why specifically Azure?
Azure vm supports nested virtualization while AWS did not support.
How are you preinstalled CNV/OCS/ECK/Grafana?
We can use Terraform for deploying a fresh cluster from scratch and run CNV/OCS/ECK/Grafana deployment using helm but that can take ~1 hour. If we want to shorten the deployment time we can use Azure Python SDK for launching OCP cluster from existing images or simply use start/stop mechanism. all those tasks for cost saving, I think that it waste and not effective to hold a cluster for 24/7 only for CI purpose.
Are you talking about using the openshift-installer (which uses terraform) to deploy a cluster?
Yes, but we need to add also our own for it for CNV/OCS/ECK/Grafana deployment
Which stop/start mechanism are you referring to?
Azure Python SDK for stop/start vm.
I'm not sure I see what we gain with the use of benchmark-runner? I've never seen this project before, but after a quick look it seems to be a python wrapper that deploys the benchmark-operator?
The current state of benchmark-operator is that no test for CNV workload changes on one hand, and also not auto tests for each PR, all run in semi automate only after manual review and manual jenkins job triggering. I suggest to add Github actions that will run the test per branch commit as we use in benchmark-runner.
The main purpose of benchmark-runner framework is for OpenShift CNV Performance benchmarks that placed on IBM cloud. The current CI is only for package unittest/ Integration/ E2E tests. Currently, benchmark-runner support Stressng, Uperf, Hammerdb(Mariadb,mssql, Postgres) on Pod and VM using OCS.
We plan to enrich it with more workloads in the near future (that will be very easy because we already implement agile infrastructure for adding new workloads)
In summarized, Benchmark-runner is not another wrapper, its independence framework with all the capabilities inside.
If you have more questions please dont hestitate to ask me.

The current state of benchmark-operator is that no test for CNV workload changes on one hand, and also not auto tests for each PR, all run in semi automate only after manual review and manual jenkins job triggering. I suggest to add Github actions that will run the test per branch commit as we use in benchmark-runner.

Sure, using Github Actions is good idea and I agree that we should look at making our CI better in general, but the idea that we should spin up Azure clusters or even use any type of cluster that's not ephemeral (i.e. minikube/kind/etc.) will not scale. I know that we currently do use a long-running openshift cluster to run these tests but IMO we should move away from that.

In summarized, Benchmark-runner is not another wrapper, its independence framework with all the capabilities inside

If this is the case then why do you need benchmark-operator? I'm not against having a lightweight CLI tool to submit benchmarks and wait for them to complete, I have a PR for just that  https://github.com/cloud-bulldozer/benchmark-operator/pull/617. But that is a lot different than what the benchmark-runner does. If you guys want to depend on the operator then sure go ahead, but like @learnitall adding benchmark-runner to this repo will create a circular dependency and that causes headaches we don't want to revisit.
My final thoughts are more wholistic to our testing in this repo but I think this highlights a problem of us throwing all of our tests into one big "e2e" bucket without taking the time to consider what we're testing and why. At the end of the day there's little reason why we can't simply run unit tests on the individual roles to assert that the templates render with our expected results. If you wanted to add unit tests for that then I'd say that's great! Unit tests require little to no environment setup and can execute in a trivial amount of time. The above PR I mentioned does exactly that and tests ~70% of the included code in <4min. Ultimately the benchmark-operator is just gonna take a Benchmark CR and translate it into raw manifests for the cluster. We don't need the cluster to assert that the raw manifests are what we expect. At that point we can probably reduce our current e2e tests to reduce the time it takes now (which is a very long time for an operator)

Hi @whitleykeith ,
I agree and disagree with some point.
To have an unittest is best practice and I recommend to you it and try as you can to mock things. (i.e benchmark runner unittest
But you must have also integrations and E2E tests for stable release otherwise we will fail on real time run in benchmark CI.
I know that using a real cluster is cost effective and time consuming but that the only way to make sure our release is working without bugs that is a best practice in development world.
If you have more comments please let me know

Hi All,
Here is the meeting summery with @jtaleric team:
We will create an isolate nightly CI using Azure cluster for all supported VM/Pod workloads in benchmark-runner.
Every night Benchmark-runner (using Github actions) will create an image using latest benchmark-operator and run E2E tests against Pod/VM workloads. In a case of failure a ticket will be raised in benchmark-operator Github issues.
I will the share with you more details once I will start work on it.
CI E2E Verification:

Benchmark controller manager running without errors
Each workload status create, initialized,ready, terminated per UUID.
VM/Pod reach to completed status without any errors per UUID.
Verified that data uploaded to ElasticSearch per UUID correctly.
System metrics works properly per UUID workload.
Benchmark controller manager terminated properly.

Please let me know that you are OK with the road map so I will start work on it.

Hi @jtaleric and all,
We have a nightly CI run on the latest benchmark-operator that test Stressng, Uperf and hammerdb for Pod and CNV. It extracts the results into Grafana dashboard. later on we plan to add more workloads.
Here is the nightly CI path:
Nightly CI
If you have any questions regarding it please dont hesitate to ask me.
Also we can have a short demo session on it.
Best regards,
Eli Battat.


[Feature Request] Smart background for reader

Why/User Benefit/User Problem
For LTR/RTL viewer, the background will change depending on the page content or system theme. Basically same as it's on J2K.
What/Requirements
Yoink the feature from J2k, obviously.

Added with https://github.com/jobobby04/TachiyomiSY/commit/2f98dd2046bf7788e972a59f8db965211c2984fc


Add Navbar to Main Page

Implement a responsive and user-friendly navigation bar on the main page. The navbar should include links to different project sections and ensure easy navigation for users.

Hi @deepak-raaaz i can do this task can pls assign it to me

heyy @deepak-raaaz , i think i can do this, can you assign this to me?

Hey there! I just made a sketch

hello sir @deepak-raaaz , can you assign this work to me please.

hello sir @deepak-raaaz , can you assign this work to me please.

I am working on it

hey @BaniSinghgithub the navbar is added, but it’s not responsive. You can work on making it responsive and feel free to change the UI as well. Thanks!


Can datasets remove duplicated rows?

Is your feature request related to a problem? Please describe.
i find myself more and more relying on datasets just to do all the preprocessing. One thing however, for removing duplicated rows, I couldn't find out how and am always converting datasets to pandas to do that..
Describe the solution you'd like
have a functionality of " remove duplicated rows"
Describe alternatives you've considered
convert dataset to pandas, remove duplicate, and convert back...
Additional context
no

Hi ! For now this is probably the best option.
We might add a feature like this in the feature as well.
Do you know any deduplication method that works on arbitrary big datasets without filling up RAM ?
Otherwise we can have do the deduplication in memory like pandas but I feel like this is going to be limiting for some cases

Yes, I'd like to work on this feature once I'm done with #2500, but first I have to do some research, and see if the implementation wouldn't be too complex.
In the meantime, maybe this lib can help. However, note that this lib operates directly on pyarrow tables and relies only on hash to find duplicates (e.g. -1 and -2 have the same hash in Python 3, so this lib will treat them as duplicates), which doesn't make much sense.

Hi ! For now this is probably the best option.
We might add a feature like this in the feature as well.
Do you know any deduplication method that works on arbitrary big datasets without filling up RAM ?
Otherwise we can have do the deduplication in memory like pandas but I feel like this is going to be limiting for some cases

Great if this is can be done. Thanks!!
Not sure if you are asking me. In any case I don't know of any unfortunately :( in practice if data is really large we normally do it with spark (only for info. I understand this is not useful in developing this library..)

For reference, we can get a solution fairly easily if we assume that we can hold in memory all unique values.
from datasets import Dataset
from itertools import cycle
from functools import partial

memory = set()
def is_unique(elem:Any , column: str, memory: set) -> bool:
    if elem[column] in memory:
        return False
    else:
        memory.add(elem[column])
        return True

# Example dataset
ds = Dataset.from_dict({"col1" : [sent for i, sent in zip(range(10), cycle(["apple", "orange", "pear"]))],
                                      "col2": [i % 5 for i in range(10)]})

# Drop duplicates in `ds` on "col1"
ds2 = ds.filter(partial(is_unique, column="col1", memory=memory))

Of course, we can improve the API so that we can introduce Dataset.drop_duplicates.
For the parallel version, we can use a shared memory set.

An approach that works assuming you can hold the all the unique document hashes in memory:
from datasets import load_dataset

def get_hash(example):
    """Get hash of content field."""
    return {"hash": hash(example["content"])} # can use any hashing function here

def check_uniques(example, uniques):
    """Check if current hash is still in set of unique hashes and remove if true."""
    if example["hash"] in uniques:
        uniques.remove(example["hash"])
        return True
    else:
        return False

ds = load_dataset("some_dataset")
ds = ds.map(get_hash)
uniques = set(ds.unique("hash"))
ds_filter = ds.filter(check_uniques, fn_kwargs={"uniques": uniques})

If the uniques could be stored in arrow then no additional memory would used at all but I don't know if this is possible.

@lvwerra hey, could you tell me how reliable is this deduplication method. i am currently using the same deduplication strategy to deduplicate a large text corpus to pretrain LLMs ~ 11B to 20B. just needed to ensure if this strategy would be fine on large datasets for LLMs pretraining.

Hi @StephennFernandes  I'm also trying to pretrain an llm, and need to do deduplication for my dataset,
which method you applied please?

Hey @Manel-Hik
The following is a simpler yet really effective deduplication code that i has used in the past.
given that I have limited training corpus for the languages I wanted to train i relied on this code.
for more robust and stronger deduplication, refer to this huggingface repo, that's newly released: https://github.com/huggingface/datatrove
import datasets def get_hash(example): """Get hash of text field.""" return {"hash": hash(example["text"])} def check_uniques(example, uniques): """Check if current hash is still in set of unique hashes and remove if true.""" if example["hash"] in uniques: uniques.remove(example["hash"]) return True else: return False def filter(example, uniques): """Filter dataset with unique values.""" if not check_uniques(example, uniques): return False else: return True dataset = datasets.load_dataset("csv", data_files={"train": "train.csv", "validation": "valid.csv"}) # TRAIN SPLIT DEDUPLICATION len_train = len(dataset["train"])print(f"Size of original dataset train: {len_train}") dataset["train"] = dataset["train"].map(get_hash, num_proc=64, writer_batch_size=100000) # Deduplicate hashesuniques = set(dataset["train"].unique("hash"))frac = len(uniques) / len(dataset["train"])print(f"Fraction of duplicates: {1-frac:.2%}") # Deduplicate datadataset_train_deduplicated = dataset["train"].filter(filter, fn_kwargs={"uniques": uniques})print(f"Size of filtered dataset train: {len(dataset_train_deduplicated)}") # VALIDATION SPLIT DEDUPLICATION len_val = len(dataset["validation"])print(f"Size of original dataset valid: {len_val}") dataset["validation"] = dataset["validation"].map(get_hash, num_proc=64, writer_batch_size=100000) # Deduplicate hashesuniques = set(dataset["validation"].unique("hash"))frac = len(uniques) / len(dataset["validation"])print(f"Fraction of duplicates: {1-frac:.2%}") # Deduplicate datadataset_valid_deduplicated = dataset["validation"].filter(filter, fn_kwargs={"uniques": uniques})print(f"Size of filtered dataset valid: {len(dataset_valid_deduplicated)}") # SAVE DEDUPLICATED DATASETdataset_train_deduplicated = dataset_train_deduplicated.remove_columns(["hash"])dataset_valid_deduplicated = dataset_valid_deduplicated.remove_columns(["hash"]) dataset_train_deduplicated.to_csv("train.csv", num_proc=64, index=False)dataset_valid_deduplicated.to_csv("valid.csv", num_proc=64, index=False)

Hi, is there any updates? Thanks!

Update July 2024
PyArrow now supports first/last aggregation which would allow us to implement this functionality. Link
so if we want to move in this direction we can :) Is that something we want to do? Would be happy to contribute.


Typo in Documentation for Cancellation

The documentation at http://promisekit.org/docs/ contains the following line of example code:
alert.cencelButtonIndex = alert.addButton("Cancel")
This is line contains a typo. The correct var is "cancelButtonIndex", not "cencelButtonIndex". See: https://developer.apple.com/reference/uikit/uialertview/1620766-cancelbuttonindex
(Also, UIAlertView is deprecated, but that's a separate issue.)

Fixed, thanks.


[dynamic]T literals crash the compiler

Crashes the compiler:
import_load "fmt.odin";

main :: proc() {
    x := [dynamic]int{1};
    println(x);
}

Works as expected:
import_load "fmt.odin";

main :: proc() {
    x := []int{1};
    println(x);
}

What OS are you compiling on? This does not crash Windows.

I am on a almost-fresh install of Windows 10 x64, build 15063.
I am using Visual Studio 2017 and called the native x64 vcvars.bat before invoking either odin.exe or build.bat. i.e: the one located at: \Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat.
The following program crashes after several seconds of being invoked:
import_load "fmt.odin";

main :: proc() {
    x := [dynamic]int{1};
    println(x);
}

At `ir_print.cpp:34".
This is the error message:
Unhandled exception at 0x00007FF781CB49C0 in odin.exe: 0xC0000005: Access violation writing location 0x000001CB21EA8000. occurred

The watch window says len is -2.

Seems that ir_get_global_name returns a string of text _ with length -2.
It has no filename or line number, however.

It further seems that the value (entity ID 4613) passed to ir_print_value is a global, who's .entity.token.string is already erroneous when it passed in.