CIP-0021 | Conway update

@janmazak we've updated the CIP document this is based on recently (according to new specs in #389)... can you rebase your changes on the newly merged document?

I've rebased it and made a couple of additional small changes, so please review it again to make sure I've not missed anything.

Id vote to keep this PR open for a little longer, whilst the HWW implementations are being finished off.
Maybe wait until SanchoNet is feature complete?
I dont think there is a rush to merge it?

On the Conway parts, I think this addition is wholly complete.
Past that, I do have two suggestions;

With the app split on Ledger devices, it probably makes sense to list out the device specific restrictions here.
It might make sense to add a section for a light summary Changelog, using the new optional sections. This would just make it much easier to transverse the history of this document.

@janmazak I would also be ready to merge this, between the CIP meetings or at the next meeting, once you can follow or refute @Ryun1's suggestions in https://github.com/cardano-foundation/CIPs/pull/687#issuecomment-1985538516.

@janmazak just following up on this for my last month's reports.  @Ryun1 are you OK with this now & does https://github.com/cardano-foundation/CIPs/pull/687/commits/a52b1ead9a626d4209745c8c8a4cde70ec05781c cover your most recent recommendations?


CreateVirtualDisk exception if writing to shared fs in VirtualBox

Hi,
I'm using VirtualBox 5.2 on Ubuntu 17.10 with Windows Server 2016 Standard edition as a guest to create Windows RAW image for MAAS installation. I'm unable to create image if destination is on shared fs (SMB, E:\images)  but if destination is on VM's local disk (NTFS, C:\images), everything works as expected:
PS C:\cygwin64\home\Administrator\windows-openstack-imaging-tools\Examples> .\create-windows-online-cloud-image.ps1
WARNING: C:\cygwin64\home\Administrator\windows-openstack-imaging-tools\Examples\config.ini exists and it will be
rewritten.
10/24/2018 4:22:55 AM - Windows online image generation started.
10/24/2018 4:22:58 AM - Cloud image generation started.
10/24/2018 4:22:59 AM - Creating Virtual Disk Image: E:\images\my-windows-image.raw.vhdx...
10/24/2018 4:22:59 AM - Exception calling "CreateVirtualDisk" with "2" argument(s): "The parameter is incorrect"
Create-ImageVirtualDisk : Exception calling "CreateVirtualDisk" with "2" argument(s): "The parameter is incorrect"
At C:\cygwin64\home\Administrator\windows-openstack-imaging-tools\WinImageBuilder.psm1:1315 char:19
+ ...   $drives = Create-ImageVirtualDisk $vhdPath $windowsImageConfig.disk ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Create-ImageVirtualDisk], MethodInvocationException
    + FullyQualifiedErrorId : Win32Exception,Create-ImageVirtualDisk

when I switch windows image path to C:\images (everything else is same) it works:
PS C:\cygwin64\home\Administrator\windows-openstack-imaging-tools\Examples> .\create-windows-online-cloud-image.ps1
WARNING: C:\cygwin64\home\Administrator\windows-openstack-imaging-tools\Examples\config.ini exists and it will be
rewritten.
10/24/2018 4:23:55 AM - Windows online image generation started.
10/24/2018 4:23:58 AM - Cloud image generation started.
10/24/2018 4:23:59 AM - Creating Virtual Disk Image: C:\images\my-windows-image.raw.vhdx...
10/24/2018 4:24:09 AM - Successfuly created disk: C:\images\my-windows-image.raw.vhdx
10/24/2018 4:24:09 AM - Generate Unattend Xml :F:\Unattend.xml...
10/24/2018 4:24:09 AM - Xml was generated.
10/24/2018 4:24:09 AM - Copy Unattend Resources: Server...
10/24/2018 4:24:09 AM - Copying: C:\cygwin64\home\Administrator\windows-openstack-imaging-tools\UnattendResources F:\Una
ttendResources
10/24/2018 4:24:10 AM - Resources have been copied.
10/24/2018 4:24:10 AM - Copy Custom Resources: ...
10/24/2018 4:24:10 AM - Custom Resources at: F:\UnattendResources.
10/24/2018 4:24:10 AM - Set Wallpaper: ...
10/24/2018 4:24:10 AM - Wallpaper copied to the image.
10/24/2018 4:24:10 AM - Wallpaper GPO copied to the image.
10/24/2018 4:24:10 AM - Wallpaper was set.
10/24/2018 4:24:10 AM - Downloading Cloudbase-Init...
10/24/2018 4:24:29 AM - Applying Windows image "D:\Sources\install.wim" in "F:\"

Deployment Image Servicing and Management tool
Version: 10.0.14393.0

Applying image
[=========================  44.0%                          ]

Hello,
I couldn't repro your issue in my environment, I could create it the vhd on the locally mounted smb share. How do you mount the SMB share? Also there might be an SMB access rights issue.
If the above is not the case, you can try to add in the example script "Get-PSDrive | Out-Null" and retry.

I've decided to close this issue because I've moved to a native Windows installation and not one in VirtualBox. Hyper-V doesn't work in nested virtualization anyway so I wouldn't be able to create image.


Integration tests using sqlx::test

This feels like an overkill. The latest version of sqlx has a similar functionality. https://docs.rs/sqlx/latest/sqlx/attr.test.html

Great to see sqlx offering some functionality for testing now, didn't see this before.

This looks good. 👍


add support for arm wheel

Does not look like any of the published wheels on PyPI support ARM which forces re-compilation of llvm. Any way to add ARM architecture support for wheels, similar to clang-formats:
clang_format-14.0.6-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

https://pypi.org/project/clang-format/#files

not sure if its as simple as uncommenting:
https://github.com/ssciwr/clang-tidy-wheel/blob/f89a8d00cef6e0f2b2ea3f44af8236b36012d29d/.github/workflows/release.yml#L41-L42

not sure if its as simple as uncommenting:

No, it's not :wink:
We have this and this issue already and https://github.com/ssciwr/clang-tidy-wheel/pull/20 with https://github.com/ssciwr/clang-tidy-wheel/pull/20/commits/77b5ff433fb726af28558853452724b291d22d52 to the effect you described.

again, thank you for prompt response!


chore(main): release dprint 1.15.5

:robot: I have created a release beep boop
1.15.5 (2024-08-11)
Miscellaneous

software: update installed (7546efa)
software: update installed (420004d)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

dprint-v1.15.5
:sunflower:


Avoid connection issue on db

Authorize insecure connection on db (without password) avoiding connection issue between result-app and db
It is a demo application so it is not really a problem.

Thanks for taking the time to submit a PR! We also apologize in the delay in responding to you.
While this application is a demo, we still want to reflect some basic best practices, which does include using authentication. We're also currently working on updating the app, as we recognize the sample app has fallen woefully out of date.
If you have any other ideas for improvements, please don't hesitate to reach out and create a new PR or issue. Thanks!


Add LanguageVersionSettings and DataFlowValueFactory to BaseRule

We need to detect smart cast types in #2903.
In order to detect the smart cast types, LanguageVersionSettings and DataFlowValueFactory are required as follows:
https://github.com/JetBrains/kotlin/blob/040204e36e8d55395cdbbda2c8145dbb68bb0f00/idea/src/org/jetbrains/kotlin/idea/codeInsight/KotlinExpressionTypeProvider.kt#L116-L119
So we should add them to BaseRule like BindingContext.

@t-kameyama thanks for the contribution and showing us a new way of writing more complex rules with smart casting.
I'm afraid to tell you that I have to decline this change. I really do not want to make our current rule api and design more complex. It is not the direction we want to go with the Rule and BaseRule classes. There are already things like the context, excludes and aliases which we regret to have added to it.
In #2680 we discuss further breaking api changes and list design improvements we want to make for 2.0.
Especially for the Rule api e.g. https://github.com/detekt/detekt/issues/2680#issuecomment-668825206 the information in this PR will be helpful and gonna make sure that the new Rule api will provide access to more constructs like the LanguageVersionSettings.

I don’t fully agree with declining this change.
The API could introduce a new object containing all objects required for writing more complex rules.

Or we can just allow extending the current rule api following its "spirit" and once we have the new api we can port it.

Hm, convinced.
I like @schalkms suggestion using an object containing additional useful analysis classes.
We should leave BindingContext as a property though to not update every other rule needing the BindingContext.

Are there also tests available?

#2903 has tests that requires the detection of smart casting.

I've restarted the CI and will merge it then.


Only managed zero-byte channels in firefox

Possibly because two of us were sharing the same address.

web3torrent.Fri, 12 Jun 2020 16 15 49 GMT.dcb346a19.0x0c272CF5ab0aa4F089C96aA34197e355Fa0E593F.pino.log

Didn't re-occur when we had separate addresses.


Allow configuring the content generation tool command

I am looking into using Hugo with Asciidoc. I run into issues with the --safe option. I am aware the recommendation is to switch to Asciidoctor if there's issues (https://github.com/spf13/hugo/pull/826/files). But I want to use Asciidoc, which I also use for book writing and documentation. I do not want to use Asciidoctor.
Right now I solved my problem by going into the Asciidoc source and making the safe() function return false. I'm not sure why --safe is used, but regardless, it would be great if the command used could be configured. This would solve my problem and allow people to put additional options. In general a way to define mappings for file-extension -> program -> command would be a great addition.

+1
That would be a great improvement. I like the idea of having a mapping from extension to command. Is there any interest, except for us, to get this working? I'd like to contribute a solution, since I spent way too much time figuring out what was wrong with my setup. asciidoctor was installed and asciidoc threw an error at me.

Note/Update: This issue is marked as stale, and I may have said something earlier about "opening a thread on the discussion forum". Please don't.
If this is a bug and you can still reproduce this error on the latest release or the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.


Technic Launcher not opening correct solder link

I have recently setup an instance of technic solder for a test mod pack and i'm getting a very strange issue. The launcher is trying 'http://tmm.flnet.org/TechnicSolder/public/api/modpack/' and getting nothing, but 'http://tmm.flnet.org/TechnicSolder/public/api/modpack' returns as normal. Any suggestions?

I had the same problem and it was really strange to fix it.. Unfortunately I can't remember, how I fixed this. I think i have reinstalled it and changed the apache server root directory to solder. So I have to call http://example.com/api/modpack instead of .../TechnicSolder/public/api/modpack and then It worked. But i think the problem is in the .htaccess file or laravel routes or a permission error. (try chmod -R 777 /var/www/html/TechnicSolder)

try chmod -R 777 /var/www/html/TechnicSolder

NEVER give full recursive read/write/execute access to a base directory served by a web server daemon.
http://docs.solder.io/docs/getting-started#web-server-configuration

indeed NEVER set the permissions recursively to 777. that will only cause more problems with security.
Try to change the user and group to www-data:www-data
chown -R www-data:www-data /var/www/html/TechnicSolder
If your webserver uses this user to execute itself then that should fix it.


exclude_smallcaps not working on windows

Since the path was not converted by the get_fonts function, it was not excluded even if True was given to the exclude_smallcaps parameter.

Nice, thanks!

This is included in v0.9.1.


Add icons and markdown support to question wrapper

Mostly styling (including new SVG icons) and markdown support.

I pushed more commits here. Now it also includes image overlay and styling for interactive teacher tips. I'll add tests and then PR should be ready for review.

@DALove1025, that's ready for review now. The cypress test will be the most useful in LARA context - I'll try to check if tickmarks match LARA checkboxes. But this will need to be done in https://github.com/concord-consortium/lara-cypress-tests, not here. I'm not sure if I'll manage to do it now, as Jest configuration took me a while unfortunately.


Inaccessible dialog options in DMN editor

The "Edit String Expression" dialog does not work for large tables and more than a few options.
How to reproduce

Load the attached file Example.dmn (from Example.zip) in Camunda Modeler
"Exit advanced mode", if necessary
Scroll down to rule #28
Left-click input column Assetklasse in line #28
Try to scroll down to the last option in dialog "Edit String Expression" -> does not work with mouse or keyboard (see screenshot)

Expected behavior
All input options are reachable.
Workaround
Enter advanced mode and edit value directly.

Example.zip

This is fixed with the latest alpha release of the Camunda modeler.


Subdomain error.

Hello,
Thanks for this script.
I only have one problem.
When i use the _example.php and set this :
$le->signDomains(array('test.com', 'www.test.com', 'sub.test.com'));
The first 2 domains are ok.
But the third wont be verified because it wants to acces sub.test.com/.well-known/acme-challenge/1jr5zQapoaDpHC
and there is no .well-known directory it is one level up in the root.
Can you tell me how i can verifie a sub domain?

I have changed the code. my subdomain is in a directory in the root.
if someone else has the same problem replace line 91 with the following code
$subdir = str_replace($maindomain,'',$domain);

if($subdir == 'www.' || $subdir == ''){
	$subdir = '';
}else{
	$subdir = '/'.str_replace('.','',$subdir);
}

$directory = $this->webRootDir . $subdir .'/.well-known/acme-challenge';


Backup Channels

Please first read the documentation. Problems affecting the client, e.g. Plex or Emby should be reported there in the forum.
Describe the bug
I have been reading about the backup channels on this discord and am still having issues getting them to work. I have the primary and backups under the same m3u and I have the settings listed below along with the log.
Server (please complete the following information):

OS Windows 11
Intel 64 Bit
Threadfin Version 1.1 (16)

To Reproduce
Steps to reproduce the behavior:

Add extra streams to m3u for specific channels and save them in the same m3u
Add a primary channel
Set the extra streams of the same channel to inactive
Add the extra streams as a backup to the primary

Expected behavior
If the primary channel fails, such as 404, Threadfin moves to the first backup channel. If that one fails, it moves to the next one, etc.
Screenshots
See below
Desktop (please complete the following information):

OS: Android TV
Browser: IPTV Pro
Version: 8.0.7

Additional context
Channel settings:

Threadfin settings

Logs:

I'll check this out as it should be working

Didn't want to open a new issue, cause I think it's related.
If I got 2 m3u playlists, both set Tuner/Streams to 1. Both playlists have the exact same channels.
So I map all channels from playlist A and set all channels from playlist B as backup channels.
Now I open channel A and of course the Tuner for playlist A is occupied. I thought Threadfin would now switch to playlist B for a new channel request. Or is Threadfin only switching when the source is not reachable or giving an error back?

Oh I see the issue. Backup channels only supports 1 playlist unfortunately. I will be adding better functionality for this in my new plex replacement Kernel Media Server

@Fyb3roptik so no way to make backup channels for multiple m3u's working here in threadin?

It's out of scope at the moment. A lot of these features will be in Kernel once it's at 1.0 so I don't want to have to do it twice


Stunned marines can shake other stunned marines awake (sometimes?)

Title, not exactly sure how to replicate, only works sometimes

Are there any replays or round and timestamps that you have seen this happen in? I can't seem to replicate it no matter how hard I try, even with the client ignoring interaction checks

Are there any replays or round and timestamps that you have seen this happen in? I can't seem to replicate it no matter how hard I try, even with the client ignoring interaction checks

I think its because sometimes it takes more than 1 shake to fully wake someone up

Can't replicate it even with a short stun or little time remaining on the stun, even if the marine is in paralyze range instead of knockdown range

Ill try to replicate it w/ video in my own time here in the next week


Lags/Slow

seems like many people complaining that the latest guide is slowing down or clashing with code from skill prediction mods?

We are not aware of such problems.

I have also not encountered such a problem.

There is an opinion that now there are basic problems with the Toolbox or the skrill-prediction module, due to which lags and freezes are observed. The many of players blame the guide module for these problems, but there is no real confirmation of this information.

the main moderator of toolbox is saying that your guide is badly coded and causing the lags and freezes.
You can discuss with him at his discord: Powah#2354

He only pointed out problems with setTimeout() that had been resolved.

I personally discuss with him on the subject. He didn't identify any things in the script that could cause such problems.

I just checked discord and he has not talked about it in the last 24 hours, I think this is old news.

If you so need, I will gladly make a simple guide for you on how to delete a repository, your guide is legit raping old PCs performance wise, stop adding stuff and optimize and fix what you have. Thanks

Well, i want to point 5 thingies.

We are never "discussed" something. You randomly appeared and i pointed first easiest issue what i checked after XXX reports.
You answered "its fixed" so i said "ok" and never investigated smth after dat.
I just checked discord and he has not talked about it in the last 24 hours, I think this is old news. sounds kinda as good joke tho...
There is an opinion that now there are basic problems with the Toolbox or the skrill-prediction module no, there isnt any problem related to your issue. As i pointed in our "discussion" - you should learn how nodejs event loop works.
No need to refer at my opinion completely when you reporting bugs to developers (its for @fisherman1717 ). Developers need some proofs.
A lot users have old versions installed with disabled autoupdates (maybe some personal changes? idk). So issue apparently still here.

@SaltyMonkey,
In any case, at time we do not believe that there are any problems with our code (from your or other users). The timers problems were present in all guides, starting with the first version from Kasea, but there were no previous reports about them. But this problem is fixed in our version of the script and fork by @Multarix. We are not aware of any other problems.
About Toolbox and SP - we were informed by people that the problems with freezes and lags were solved by a clean installation of the latest version of the Toolbox.

I turned off this tera-guide, and the slows/lags are gone, spell chain quicker and more smoothly now.
Hopefully you fix your code , as it's not good when the guide affects the gameplay negatively

Try to install latest version of tera-guide, many problems is fixed.

Also you should understand that the use of any guide leads to an additional load on the CPU and reduces the FPS, because additional objects are spawned and playing voice. You can disable this features (by guide spawnObject and guide voice commands or via GUI) and leaving only text messages in the chat.


Animate front splash page in

Text and splash graphic should animate up and down respectively with a fade into view.

Solved in #110


Add has step checks

I've added functionality to be able to see if there are succeeding or preceding steps in the wizard.
This is useful because it allows you to have the following:
@if ($this->hasPreviousStep())
    <button wire:click="previousStep">
        {{ __('Back') }}
    </button>
@endif

@if ($this->hasNextStep())
    <button wire:click="nextStep">
        {{ __('Next') }}
    </button>
@else
    <button wire:click="submit">
        {{ __('Create') }}
    </button>
@endif

This is a new PR related to https://github.com/spatie/laravel-livewire-wizard/pull/76

Thank you!


Where to set required environment variables?

The $XDG_DATA_HOME environment variable is not set, make sure to add it to your shell's configuration before setting any of the other environment variables!
    ⤷ The recommended value is: $HOME/.local/share
The $XDG_CONFIG_HOME environment variable is not set, make sure to add it to your shell's configuration before setting any of the other environment variables!
    ⤷ The recommended value is: $HOME/.config
The $XDG_STATE_HOME environment variable is not set, make sure to add it to your shell's configuration before setting any of the other environment variables!
    ⤷ The recommended value is: $HOME/.local/state
The $XDG_CACHE_HOME environment variable is not set, make sure to add it to your shell's configuration before setting any of the other environment variables!
    ⤷ The recommended value is: $HOME/.cache

I want to fix this error, so I can set the rest of the variables required, but I don't know where to set them.
I tried in /etc/environment, ~/.bashrc, ~/.profile and ~/.bash_profile, but neither of them worked.
Would you please give me a hint as to where I should look for the answer?
Thanks in advance.
Edit: I'm using Arch Linux and the AUR version of the script.

I don't use bash myself but generally you've already put it in the correct place. Unfortunately bash does not automatically update it's configuration so you need to source ~/.bashrc (or one of the other files) for the changes to take effect (or logout and login).
You can also read more on the arch wiki on e.g. per user configuration

I tried logging out and logging back in, and sourcing the files. Neither worked. Thanks anyway.

Well, in that case there are multiple possible error sources.
The command should be export XDG_CONFIG_HOME=~/.config. Does this work when you enter it into the shell? Note that there are no spaces around the = and there is no $ before the variable. Check the result by rerunning xdg_ninja.sh or echo $XDG_CONFIG_HOME
If that does work ensure that you have written exactly that command into a file, e.g. .bashrc. source that file (this basically runs every command in the file). Does this work too?
Also, IMHO you will likely have more success googling as this is a common question or asking on the Arch forum/StackOverflow as this is an issue tracker for this project and this issue seems unrelated.


Fuzz fixes

This updates the Dockerfile.fuzz machinery to match the changes in stellar/stellar-core#586 that switch the fuzzer over to LLVM-based "fast" AFL mode as well as its PERSISTENT sub-mode. Results in 4-5x speedup. This change is necessary for compatibility with those changes, not optional.

er, the commit that says make -k ... should say make -j ..., but it's otherwise honest :)


Extracting Masks

Can a feature be added that allows you to extract the masks from the videos as well?

Hi there,
If you are still looking for it, here is a tip of enabling it in a previous issue.
#26

Here, you can uncomment this line to save the maks.
https://github.com/gaomingqi/Track-Anything/blob/57c28bc6b6288f792435f8ddd6830626b2b7cf10/app.py#L380
And you can change the mask save directory here.
https://github.com/gaomingqi/Track-Anything/blob/57c28bc6b6288f792435f8ddd6830626b2b7cf10/app.py#L278-L285


Stop reporting error metrics from KMC if secrets or shoots are not found

Description
Changes proposed in this pull request:

Stop reporting error metrics from KMC if secrets or shoots are not found.
Fix the development mode deployment.

Related issue(s)

https://github.com/kyma-project/control-plane/issues/1640

/test pre-main-control-plane-reconciler-e2e-latest-release


how to back to dapp after sign

Hello, now my app can connect to the wallet normally, and after agreeing to connect, you can redirect to my app. However, after I perform the sign operation, I cannot redirect back to my app. What is the cause of this?

                    //1. request                     try await Sign.instance.request(params: request)                     //2. open wallet                     DispatchQueue.main.async {                         UIApplication.shared.open(URL(string: "metamask://")!)                     }

//1. request  try await Sign.instance.request(params: request)  //2. open wallet  DispatchQueue.main.async { UIApplication.shared.open(URL(string: "metamask://")!) }

i have the same problem too

I have the same problem when I sign in metamask, is it solved?

no. The problem is sporadic, but most do not return

I solved this problem in metamask, try like this：
metamask://wc?requestId=undefined&sessionTopic=0f0a8661f4636ee5f060358dbf74e6db69a91f299fa4793a4c4416b5ae9ec1fb
sessionTopic is the key

我在metamask中解决了这个问题，尝试这样： metamask://wc?requestId=undefined&sessionTopic=0f0a8661f4636ee5f060358dbf74e6db69a91f299fa4793a4c4416b5ae9ec1fb
sessionTopic是关键

Very nice.  I modified it according to your method, and the logic I wanted was realized as expected. thanks, You've been a great help to me

I solved this problem in metamask, try like this： metamask://wc?requestId=undefined&sessionTopic=0f0a8661f4636ee5f060358dbf74e6db69a91f299fa4793a4c4416b5ae9ec1fb
sessionTopic is the key

Very nice. I modified it according to your method, and the logic I wanted was realized as expected. thanks, You've been a great help to me


python310Packages.onvif-zeep-async: 3.1.3 -> 3.1.7

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 231929 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.onvif
python310Packages.onvif-zeep-async
python310Packages.onvif-zeep-async.dist
python311Packages.onvif-zeep-async
python311Packages.onvif-zeep-async.dist


update versions

wrong commit msg. not just changing solana version but updating other versions too

Out of interest, why not 1.9.12?
https://github.com/solana-labs/solana/releases/tag/v1.9.12

I just took the version most of mainnet is running. releases that havent been on mainnet for a while often get rollled back by subsequent ones.
Whether thats a good argument Im not sure


Minor EDM optimization - 0-1GBps bump

We reordered EDM receiver worker notification and EDM sender ack to minimize worker bubbles.
TODO:

[ ] Get full measurements for respresentative set of configs

post_commit: https://github.com/tenstorrent-metal/tt-metal/actions/runs/8397922863
multi-nebula: https://github.com/tenstorrent-metal/tt-metal/actions/runs/8397929957


Security Error when running formatchecker

Hi,
I am using Linux 20.04 with python3.8. I get the following security error when running formatchecker.py. The pdf file was generated using pdflatex on the same machine.
Checking main.pdf
Traceback (most recent call last):
  File "aclpubcheck/formatchecker.py", line 357, in <module>
    main()
  File "aclpubcheck/formatchecker.py", line 354, in main
    worker(submission)
  File "aclpubcheck/formatchecker.py", line 319, in worker
    Formatter().format_check(submission=pdf_path, paper_type=args.paper_type)
  File "aclpubcheck/formatchecker.py", line 63, in format_check
    self.check_page_margin()
  File "aclpubcheck/formatchecker.py", line 171, in check_page_margin
    im = self.pdf.pages[page].to_image(resolution=150)
  File "/home/umang/.local/lib/python3.8/site-packages/pdfplumber/page.py", line 296, in to_image
    return PageImage(self, **kwargs)
  File "/home/umang/.local/lib/python3.8/site-packages/pdfplumber/display.py", line 54, in __init__
    self.original = get_page_image(
  File "/home/umang/.local/lib/python3.8/site-packages/pdfplumber/display.py", line 40, in get_page_image
    with wand.image.Image(resolution=resolution, **spec) as img_init:
  File "/home/umang/.local/lib/python3.8/site-packages/wand/image.py", line 9144, in __init__
    self.read(filename=filename)
  File "/home/umang/.local/lib/python3.8/site-packages/wand/image.py", line 9815, in read
    self.raise_exception()
  File "/home/umang/.local/lib/python3.8/site-packages/wand/resource.py", line 222, in raise_exception
    raise e
wand.exceptions.PolicyError: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408

Is there a workaround for this that I have missed?

Can you take a look here https://stackoverflow.com/questions/52998331/imagemagick-security-policy-pdf-blocking-conversion? This seems to be fixable.

You can also use the CodaLab version if you can't run the software locally. See https://colab.research.google.com/drive/1Sq6ilmrFUQpUFMkV71U8-Wf0madW-Uer?usp=sharing.

Can you take a look here https://stackoverflow.com/questions/52998331/imagemagick-security-policy-pdf-blocking-conversion? This seems to be fixable.

Yup, this worked. Thanks!


Update the readme of the external program

Codecov Report

Merging #318 (07340e2) into master (3d3cad9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #318   +/-   ##
=======================================
  Coverage   85.21%   85.21%
=======================================
  Files          50       50
  Lines        2712     2712
=======================================
  Hits         2311     2311
  Misses        276      276
  Partials      125      125

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 3d3cad9...07340e2. Read the comment docs.


[zero] refactor low level zero for shard evenly

📌 Checklist before creating the PR

[x] I have created an issue for this PR for traceability
[x] The title follows the standard format: [doc/gemini/tensor/...]: A concise description
[ ] I have added relevant tags if possible for us to better distinguish different PRs

🚨 Issue number

Link this PR to your issue with words like fixed to automatically close the linked issue upon merge
e.g. fixed #1234, closed #1234, resolved #1234

#3954
📝 What does this PR do?

Summarize your work here.
if you have any plots/diagrams/screenshots/tables, please attach them here.

This PR has refactored low level zero for load balancing.
Please be aware that this PR has not finished, optimization and unit tests are needed!
💥 Checklist before requesting a review

[x] I have linked my PR to an issue (instruction)
[x] My issue clearly describes the problem/feature/proposal, with diagrams/charts/table/code if possible
[x] I have performed a self-review of my code
[x] I have added thorough tests.
[ ] I have added docstrings for all the functions/methods I implemented

⭐ Do you enjoy contributing to Colossal-AI?

[x] 🌝 Yes, I do.
[ ] 🌚 No, I don't.

Tell us more if you don't enjoy contributing to Colossal-AI.

The design is in #3954
And code polish is still on its way :<

The design is in #3954 And code polish is still on its way :<

This version is distributing each master parameter across devices instead of distributing the param list. Correct?
Just be aware of tensor precision during communication in terms of efficiency.

The design is in #3954 And code polish is still on its way :<

This version is distributing each master parameter across devices instead of distributing the param list. Correct?
Just be aware of tensor precision during communication in terms of efficiency.

Right.
Now the dtype of communication is the gradients' default dtype. It seems add an arg is better.


Accept a list of geo_values instead of only a single value

Currently, the covidcast endpoint accepts a single geo_value that can either be * (all locations) or the identifier of a single location. That means that if an API client wants to fetch, say, the top 500 counties by case counts, they either have to send one query and filter it or send 500 separate queries. The R and Python clients currently do the latter, but it's slow. (Fetching one day of data for 500 counties would take as long as fetching all state data for 500 days -- making it unusably slow if you want more than one or two days of data.)
Can geo_value take a comma-separated list, like the issues and time_values parameters?
For new people, the code lives here: https://github.com/cmu-delphi/delphi-epidata/blob/main/src/server/api.php#L940

similarly it would be nice if one cannot only set multiple geo_values but that they also might have different geo_types. e.g. then you can query a county and its state at the same time


Add Navbar to All Pages Where It Is Missing

Description:
The navbar hamburger menu is missing on the some pages. Add the hamburger icon to ensure seamless navigation on smaller screens and consistent user experience across all pages.

Hey Please assign this issue to me...


ENH: adjust for ties (draft)

Reference issue

What does this implement/fix?

Additional information

Check out pythran


NoClassDefFoundError while shutting down OpenRefine on Spark

To Reproduce
Steps to reproduce the behavior:

Start an import with a very large CSV file (500mb) with Create Project (after previewing successfully)
Then hit Ctrl-C in terminal while lots of Spark Tasks have started running as shown on Spark UI http://<IP_ADDRESS>:4040

Current Results
11:29:09.319 [                   refine] POST /command/core/get-importing-job-status (2ms)
11:29:09.321 [                   refine] POST /command/core/get-importing-job-status (2ms)
11:29:09.322 [                   refine] POST /command/core/get-importing-job-status (1ms)
11:29:09.328 [                   refine] POST /command/core/get-importing-job-status (6ms)
11:29:09.330 [                   refine] POST /command/core/get-importing-job-status (2ms)
11:29:09.331 [                   refine] POST /command/core/get-importing-job-status (1ms)
11:29:09.333 [                   refine] POST /command/core/get-importing-job-status (2ms)
11:29:19.581 [..apache.spark.util.Utils] Suppressing exception in finally: org/spark_project/guava/collect/ImmutableCollection$EmptyImmutableCollection (10248ms)
java.lang.NoClassDefFoundError: org/spark_project/guava/collect/ImmutableCollection$EmptyImmutableCollection
        at org.apache.spark.storage.BlockInfoManager.$anonfun$releaseAllLocksForTask$1(BlockInfoManager.scala:347)
        at scala.Option.getOrElse(Option.scala:189)
        at org.apache.spark.storage.BlockInfoManager.releaseAllLocksForTask(BlockInfoManager.scala:347)
        at org.apache.spark.storage.BlockManager.releaseAllLocksForTask(BlockManager.scala:858)
        at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$4(Executor.scala:415)
        at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1369)
        at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:830)
Caused by: java.lang.ClassNotFoundException: org.spark_project.guava.collect.ImmutableCollection$EmptyImmutableCollection
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:543)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 10 more
11:29:19.589 [..spark.executor.Executor] Exception in task 0.0 in stage 64.0 (TID 108): null (8ms)
Terminate batch job (Y/N)? y

E:\GitHubRepos\OpenRefine>

Expected Behavior
Don't know if this is a valid bug yet or not as I have been testing some basic data loading of large files against the new-architecture branch.
Screenshots

Versions

Operating System: Windows 10
Browser Version: Firefox
JRE or JDK Version: JDK8
OpenRefine: new-architecture branch

Datasets

Additional context
Since I set to specifically use
                .set("spark.dynamicAllocation.enabled", "true")
                .set("spark.shuffle.service.enabled", "true")

Then there might be additional SparkConf configuration needed for the spark.cleaner.xxxx properties and properly setting them.  Don't know for sure until I can test much more, but noting all this in this issue for now.
@wetneb  Hmm, I'm wondering if we need to perhaps make a special label "on Spark" for simplicity or do you want to use a milestone, either way, as I will likely be creating a lot more as I note a few issues with much more testing over the next weeks and as you and others also put more work into changes/fixes on the branch?  But I won't just blinding create new issues, I'm actually helping to develop and tweak and really isolate the issues.  Like one workaround I just needed to do for the hadoop.tmp.dir which doesn't get set correctly using  .set("spark.hadoop.tmp.dir", "F:\\SPARK_TEMP\\hadoop_tmp") and even though it's documented here: https://spark.apache.org/docs/latest/configuration.html#custom-hadoophive-configuration

@thadguidry thanks! Yes feel free to create a label, it seems appropriate. Thanks a lot for your testing effort!

@thadguidry thanks! Yes feel free to create a label, it seems appropriate. Thanks a lot for your testing effort!

It seems difficult to avoid such exceptions when closing down Spark, I would say they are normal. Unless there is a particular reason why they are a problem, beyond the noise in the logs, I would close this.

Ah you are thinking that Carl C is not a graceful shutdown command as we handle it but instead we handle it as a forced shutdown command?  I am ok with that but in the past OpenRefine would wait for long running operations to finish.  So I was expecting the same thing with our signals to Spark.

In 3.x we wait for project saves, but not for long-running operations to finish. (I just checked this by running a URL fetching operation and sending Ctrl-C to the backend: it closes without waiting for the operation to finish). This should still be true in the new architecture.

Hmm, ok, then we do forced shutdowns. OK, then let's close this.


Consider Removing "Uses"

The Uses statement is much like an import in other languages -- it is intended to identify namespaces to search when resolving references to element names.
In theory it is a good idea, but in practice, it's proven to be annoying -- and does not seem to add much value since naming clashes are extremely rare in SHR.
We should consider removing Uses and always search for elements globally (whatever namespace they may be in).  This will be more user friendly and shouldn't introduce too many problems (we think).  When there are naming collisions, a reference to an element can always use a fully qualified name (e.g., shr.core.Address).

Moving this suggestion to the modularity discussion. If there are explicit dependencies in one file, then Uses could be eliminated.


operator ibmz-mongodb-enterprise-operator (4.4.0)

New operator bundle
Name: ibmz-mongodb-enterprise-operator
Version: 4.4.0
Certification project: 62465a1e1d0b58a83134800e
Test result URL: https://catalog.redhat.com/api/containers/v1/projects/certification/test-results/id/62801bef1b406b78af944d6f
Test logs URL: https://catalog.redhat.com/api/containers/v1/projects/certification/artifacts/id/62801beebf83248bae18faf6

closed

closed


qcachegrind: fix fatal Could not find the Qt platform plugin "xcb" in ""

Motivation for this change
Be able to start qcachegrind.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 126392 at 5e221e25 run on x86_64-linux 1

1 package built successfully:

qcachegrind

1 suggestion:

warning: unclear-gpl
gpl2 is a deprecated license, please check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.
Near pkgs/development/tools/analysis/qcachegrind/default.nix:42:5:
   |
42 |     license = licenses.gpl2;
   |     ^


handling of high data rate

Dear Zhu et al.,
thanks a lot for your amazing work! Currently I am involved in a project where we are recording high data rates (mostly visual input) and we have issues recording everything to disk without loosing too much information.

If you are willing, could you please shed some light on how you handeled the high data rate, e.g. which computer you used for recording? With all these sensors it seems like you must have more than one strong computer to write the data to disk.

Did you use the "traditional" rosbag.write() or rosbag.publish() mechanisms or you had to revert to high speed writing mechanisms as? Would you recommend them or do something different next time?

Thanks!

Hi there,
Yes we definitely also ran into issues with data rates (and also power output from our laptop). Our laptop had two USB buses for the ports on opposite sides, so it ended up being ok to plug everything in to different ports with USB 3.0. We didn't run into issues writing to disk necessarily, we just used a Thinkpad laptop with an SSD. Perhaps your sensors are higher resolution/more in number than ours?
We used the standard publisher/subscriber mechanisms to generate/record data. The data was then recorded as a rosbag using the command line. I guess it is possible that some data was lost during this process, but we didn't notice anything egregious.

Dear Alex,
thanks a lot for this quick! With our planned setup, we should have a similar data load compared to you, but our recording is dropping a majority of events due to data overload.

We used the standard publisher/subscriber mechanisms to generate/record data.

Thanks, this is very helpful, we might just need to switch the computer ;)
Best
Simon


[question] Wasn't the 'Verified bug on Python 3.5.1' mentioned in base.txt fixed already?

In the very beginning of ./requirements/base.txt, a # Verified bug on Python 3.5.1 comment is left. Firstly, the status of the issue is officially resolved. Secondly, even if it was closed by a mistake, the latest comment suggests a workaround:
Sorin Sbarnea
I was able to bypass this error by adding pip>8.1.0 in addition to wheel>0.25.0.

Shouldn't we try this out and see if it works?

Try it and if it works, submit a pull request.


Investigate use of Code Signing Certificate

Investigate how to sign w/ the right cert, etc.

I took a look at this and did some prototyping in a fork of the repo here (so that I could create releases, etc):
https://github.com/cisagov/ScubaGear/compare/main...gdasher:ScubaGear:main
This is using a self-signed cert.  @ethanb-cisa if you can upload the real cert as two secrets in the way the tools expect it:

Base64 encoded version of a .pfx file (PKCS#12 bundle of key and cert)
Secret with the password to that file

Then we can probably fairly easily incorporate this.  I am happy to own the implementation once the key and cert are uploaded in the appropriate format.

Both are uploaded with pfx (key and cert) in base64.

PR was put together in #120.  Basic testing was done to establish that it creates a viable release artifact that runs without unblock-file on LAN-A


More Informative Errors

In short

show server error in error code
if 429, wait longer between requests

/{endpoint_id}/status/{job_id} is not guaranteed to have an "output" key:
curl -X POST https://api.runpod.ai/v1/9<redacted>/status/54<redacted> \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer T9<redacted>'

{"delayTime":9862,"error":"name 'app' is not defined","executionTime":97,"id":"54a54b10-d43e-43cb-b29e-c4cac8712ea6","input":{"prompts":["a cute magical flying dog, fantasy art drawn by disney concept artists"]},"status":"FAILED"}

In runpod-python this results in an uniformative KeyError, which is fixed by this PR:
File "/usr/src/app/myapp/embeddings/text_embeddings.py", line 60, in send_run_request
    return run_request.output()

File "/usr/local/lib/python3.11/site-packages/runpod/endpoint/runner.py", line 96, in output
    return output_request.json()["output"]
           ~~~~~^^^^^^^^^^
KeyError: 'output'

Additionally sometimes there is no json returned at all, I was getting 429 in this case:
File "/usr/local/lib/python3.11/site-packages/runpod/endpoint/runner.py", line 85, in output
    while self.status() not in ["COMPLETED", "FAILED"]:
          ^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/runpod/endpoint/runner.py", line 76, in status
    return status_request.json()["status"]
           ^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)

This PR results in a more informative traceback:
File "/usr/local/lib/python3.11/site-packages/runpod/endpoint/runner.py", line 105, in output
    while self.status() not in ["COMPLETED", "FAILED"]:

File "/usr/local/lib/python3.11/site-packages/runpod/endpoint/runner.py", line 97, in status
    return self._status_json()["status"]
           ^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/runpod/endpoint/runner.py", line 80, in _status_json
    raise ValueError(
ValueError: Error decoding response json. Status Code: 429, Raw Response: ''

I further improved this by raising TooManyRequestsError in the case of 429 and applying backoff. The above traceback will only be shown for invalid json responses which are not 429.

I suggest RunPod make server-side changes to increase the threshold for 429 error responses so users who are enqueueing many jobs in parallel are less likely to recieve an error

Thank you for the PR and detailed comments. I have revised your code, please test it to make sure it is still addressing the issues you originally identified.


Moving Scroll folders out of experimental

Overview
This PR is part of Scroll graduation:

Moving scripts, folders and example assets linked to ScrollingObjectCollection out of experimental folders.


Is there a way to get the coordinates under the cursor

Outstanding lib! This saved me from going down a rabbit hole of web server + Gmaps API.
Is there a way to get the coordinates under the cursor? And then store it to a variable when you click? Thank you!

Hi,
yes it's possible, though it might be a bit tedious at the moment (like most things :) ).
Something like this should do the job. You also should be able to detect clicks by checking response, similarly to other egui's widgets.
                // Draw the map widget.
                let response = ui.add(map);

                // Is mouse over the widget?
                if let Some(hover_pos) = response.hover_pos() {
                    // Will be needed for projecting stuff.
                    let zoom = self.map_memory.zoom.round();

                    // Get position of the map's center.
                    let position = self.map_memory.center_mode.position(my_position);

                    // Convert that into coordinates on a big world's 2d projection.
                    let projected_position = position.project(zoom);

                    // Screen center of the map.
                    let map_screen_center = response.rect.center();

                    // How much pixels we need to shift.
                    let mouse_position_relative_to_map_center = hover_pos - map_screen_center;

                    // Convert shifted map's center into geographical position.
                    let position_under_cursor = screen_to_position(
                        projected_position + mouse_position_relative_to_map_center,
                        zoom,
                    );

                    println!(
                        "{:.04} {:.04}",
                        position_under_cursor.x(),
                        position_under_cursor.y()
                    );
                }

Wow; perfect. Works great; tyvm!


Rounded Corners Sample

Is this a totally new sample, an addition to an existing sample page, or a modification of an existing sample page?

[x] New sample
[ ] Addition to existing sample
[ ] Modification to existing sample

If this is an addition/modification to an existing sample page, which one?
Describe the sample

Add a new sample that shows off:

Rounded corners on a set of existing controls
How to customize rounded corners
How to turn off rounded corners if necessary

Consider adding a link to the Xaml Fluent Theme Editor which also supports these scenarios.
Is your sample request related to a problem? Please describe it

Additional context

I would like to work on this, just telling everyone

@Chips1234 - fantastic! Please reach out if you have any questions 😁
CC: @chigy @kikisaints for FYI

Alright.
From: Steven<EMAIL_ADDRESS>Sent: July 13, 2020 17:31
To<EMAIL_ADDRESS>Cc: Eric<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: Re: [microsoft/Xaml-Controls-Gallery] Rounded Corners Sample (#375)
@Chips1234https://github.com/Chips1234 - fantastic! Please reach out if you have any questions 😁
CC: @chigyhttps://github.com/chigy @kikisaintshttps://github.com/kikisaints for FYI
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/Xaml-Controls-Gallery/issues/375#issuecomment-657898431, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALKX3RURR3OYCXTOLSQKQDDR3ORO3ANCNFSM4LF4NTVA.

Alright. Thanks. One problem is, how do I get rid of light-up when the textbox comes into focus? I put it into a border but the highlight is a problem (see picture)

Alright. Thanks. One problem is, how do I get rid of light-up when the textbox comes into focus? I put it into a border but the highlight is a problem (see picture)

@Chips1234 , could you tell me why you are trying to do that? We should just show rounding of the corner of the light-up and not start redesigning the control with this effort.

I’m trying to put it into a border as shown here. I tried CornerRadius within the text box but an error says that “CornerRadius” does not support older versions of Win10.

@Chips1234 , I wanted to share how we do work for WinUI in terms of how each sample apps and documents are connected and we use them to help developers/designers. I thought this is important for you to be aware as you investigate the work you would work on this proposal.
This proposal touches on 3 ways we communicate with our developer/designer audiences:

Documentation - https://docs.microsoft.com/en-us/windows/uwp/design/style/rounded-corner

We document the guidance, sample code, etc. so that developer and designer audiences know how to use them properly. For this effort, we'd like to make sure the sample you write in Controls Gallery match that of sample shared in this doc. If you require to write additional code, we want to make sure we consider updating the guidance.

Controls Gallery - This is our "live" sharing of the controls and guidance.

Idea is that we are releasing examples and samples that match what we talk about in the above documentation. We also take screenshots of the samples to use them in the documentation so we want to make sure samples produce quality examples.

Theme Editor - This app let designer/developer to create a visual using the properties we expose to create types of UI customization that still ensure not deviating too much to require retemplating.

Idea is that the type of sample code you wrote in Controls Gallery are things users of Theme Editor can see updated automatically.

Let me know if you have any questions about this.

@kikisaints , please take a look and comment on @Chips1234 comment here?

I’m trying to put it into a border as shown here. I tried CornerRadius within the text box but an error says that “CornerRadius” does not support older versions of Win10.

@stmoy So you want a separate page on corner radius or do you just want a new example in the existing pages?

I think a separate page would be the best for this,

Ok

From: Marcel Wagner<EMAIL_ADDRESS>Sent: Wednesday, July 15, 2020 11:37:25 AM
To: microsoft/Xaml-Controls-Gallery<EMAIL_ADDRESS>Cc: Eric Tian<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/Xaml-Controls-Gallery] Rounded Corners Sample (#375)
I think a separate page would be the best for this,
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/Xaml-Controls-Gallery/issues/375#issuecomment-658934329, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALKX3RSFOFE5JGPF5DOVLKDR3XZOLANCNFSM4LF4NTVA.

Ok, so I have here a new Xaml document, CornerRadiusPage.xaml. In the json, I have:
{
          "UniqueId": "CornerRadius",
          "Title": "CornerRadius",
          "Subtitle": "Lorem",
          "ImagePath": "ms-appx:///Assets/DefaultIcon.png",
          "Description": "Lorem",
          "Content": "Lorem",
          "IsNew": true,
          "Docs": [
            {
              "Title": "ParallaxView - API",
              "Uri": ""
            },
            {
              "Title": "Guidelines",
              "Uri": ""
            }
          ],
          "RelatedControls": [

          ]
        }

But how do I link it to the XAML page? It does nothing when I click on it. Thanks!

@chigy If I set CornerRadius, I get this: Warning, XLS1105, The property ‘CornerRadius’ on type ‘Button’ is not available in the target platform minimum version (10.0.17134.0) supported by this project. I can set a conditional namespace though, is that what you want me to do?

I think a separate page would be the best for this,

+1

I can set a conditional namespace though, is that what you want me to do?

Conditional Xaml would be the appropriate way to handle this, yes. In addition, please be sure to set the MinimumUniversalAPIContract on the ControlExample.

Ok

From: Steven Moyes<EMAIL_ADDRESS>Sent: Thursday, July 16, 2020 1:09:56 PM
To: microsoft/Xaml-Controls-Gallery<EMAIL_ADDRESS>Cc: Eric Tian<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/Xaml-Controls-Gallery] Rounded Corners Sample (#375)
I think a separate page would be the best for this,
+1
I can set a conditional namespace though, is that what you want me to do?
Conditional Xaml would be the appropriate way to handle this, yes. In addition, please be sure to set the MinimumUniversalAPIContract on the ControlExample.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/Xaml-Controls-Gallery/issues/375#issuecomment-659644279, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALKX3RSGX2K7XYPV7FYVXGLR35NBJANCNFSM4LF4NTVA.

Is this still an issue with the latest version?

@jay-o-way I'm pretty sure this is still relevant given there exists no sample that I know of that showcases this.

Closing this as resolved since we have the Geometry page in the design section that explains the different CornerRadius resources that ship with WinUI.


Custom Rule Consistency

It's frustrating that there's no automatic relationship between the rules in the output of Get-ScriptAnalzyerRule -CustomRulePath and Invoke-ScriptAnalyzer ...
Specifically, the -ExcludeRule of Invoke-ScriptAnalyzer has to match the custom rule function name (without the module on the front).
But the name you have to put in SuppressMessageAttribute has to match the RuleName which is set on the output of the function, so if you use RuleName = $PSCmdlet.MyInvocation.InvocationName then you must use the module-qualified rule name, and if you use RuleName = $PSCmdlet.MyInvocation.MyCommand.Name then you must not ...
But the coup-de-grace, if you Invoke-ScriptAnalyzer with -IncludeDefaultRules then you can't use names in SuppressMessageAttribute which are not module-qualified except for the default rules.
There is just no way to make it work
There's no combination where I can consistently use the same name for -ExcludeRule and SuppressMessageAttribute
This is a problem. It makes sense for these to be module-qualified, and calculated by PSScriptAnalyzer, not the rule author. I think ScriptAnalyzer should require the rule function names to use the Measure verb, and then use the noun as the rule name -- and ignore/overwrite the output value.
That way you can guarantee that the rule name will always be what you expect it to be. Then, the -ExcludeRule parameter and Get-ScriptAnalyzerRule need to be updated to return the same value too.
Severity is wrong too
Currently all Custom rules are shown as "Warning" severity in the output of Get-ScriptAnalyzerRule but (can) have different severity when the rule is actually triggered (actually, they can assign a severity based on logic in the rule).
We should add an attribute to allow authors to specify the (default?) severity of the rule that would be reported by Get-ScriptAnalyzerRule (and we should use that severity by default, allowing rule authors to skip setting the RuleName, Severity, and RuleSuppressionId and have them correctly populated in the output).

Thanks for raising it. I was quite busy in the last days but hope to have a look at this next week. For me the behaviour of Invoke-ScriptAnalyzer has priority, I would first like to write down a few scenarios and compare 1.17.1 to 1.18.0 where I made a change with good will that improved it but in some cases seems to have also been breaking (mainly because of the requirement for module qualified name to be able to differentiate duplicate rule names from different custom rules). I first want to address the breaking change as I hope other fixes after 1.18.0 can hopefully go into a 1.18.1 release. After that it is probably time to properly fix it and then make Get-ScriptAnalyzer behave exactly as Invoke-ScriptAnalyzer. Out of interest: Is there a scripting use case where you rely on the behaviour of Get-ScriptAnalyzer or is this 'only' a problem of unintuitive UX?


[BUG] Frequently Asked Questions

Description: In home page under footer tab, the frequently asked questions tab is not working.
Expected Behaviour: It should open FAQs page.
Screenshots:

Hey @ritika728 , kindly assign me this issue under JWOC. Thank You

@thatguywhocode  I already fixed the bug and created a PR because it was my assignment and because of some issues , It wasn't working properly.So I just corrected my mistake .Don't mind me !!!!

It was just a minor navigation bug in the link, it's now working as expected. Hence, I would be closing this issue


Suggestion/Enhancement: Retain flipping stats over multiple sessions

Retain flipping stats over multiple sessions, and allow user to view/reset session data like the Flipping plugin allows.
I’ve been trying to keep track of my flips over sessions, but I’m only able to do this via an external spreadsheet.

Implemented in v1.5.0


Integration with fastlane is broken

Fastlane core Helper removed the .log interface in this commit: https://github.com/fastlane/fastlane/commit/c23f35790ac49d2b96978f5200d71eae85995501
Result is that calling the xcov action from fastlane no longer works.

Hi @daniel-beard 👋, thanks for reporting.  A fix for this is almost ready, I will let you know as soon as I release 0.8.

Thanks for the fast reply!

Done @daniel-beard, let me know if still having the same issue 👍


large microsecond durations don't work

This fails:
edgedb> SELECT <duration>'3074457345618258602us';
ERROR: InternalServerError: interval field value out of range: "3074457345618258602us"
  Hint: This is most likely a bug in EdgeDB. Please consider opening an issue ticket at https://github.com/edgedb/edgedb/issues/new?template=bug_report.md
  Server traceback:
      edb.errors.InternalServerError: interval field value out of range: "3074457345618258602us"

This value is bigger than the one above and works fine. It seems like it shouldn't matter what units are used in the string.
edgedb> SELECT <duration>'854015930h';
{3074457348000s}

EdgeDB Version: 1.0a8.dev5287+g53ed2609-2020122100~focal.nightly
EdgeDB CLI Version: edgedb-cli 1.0.0-alpha.7
OS Version: Linux 5.8.0-40-generic #45~20.04.1-Ubuntu SMP Fri Jan 15 11:35:04 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

It looks like postgres doesn't handle converting overflow seconds to days or months. Perhaps its not worth trying to change this behavior? @elprans

This is fine.  Let's properly adapt the error, though, so it's not an ISE.


AWSAppSync is incompatible with new Amplify frameworks

Describe the bug
Since I was recommended to update my Amplify pods, I updated it and now I cant get my app working again. There are dependencies  I can't solve. After trying to update, also my app doesn't work anymore. It is totally crashed and cant find any other pods from AWS even if they're in the repository they have supposed to be. Can't start it anymore, no matter what I do.
Amplify is installed, and I get an compiler Error, that there is no module 'Amplify'
Have deleted all pods and reinstalled it, still total crash. Please help, I cant work anymore on this project since my 'update'
To Reproduce
Steps to reproduce the behavior:

Install amplify pods without AppSync
Install AppSync pod and see error message

Expected behavior
Compatible frameworks.
Screenshots

Environment(please complete the following information):

Amplify Framework Version: [e.g. 1.3.1]
Dependency Manager: [Cocoapods]
Swift Version : [e.g. 5.3]

Device Information (please complete the following information):

Device: [Simulator]
iOS Version: [e.g. iOS 14]

Additional context
Add any other context about the problem here.
Also I would like to know, if there is anywhere some kind of documentation, so anybody can know what is with what compatible.

Hi @chris-mds, what does your pod file look like? For new apps, you can use AWSAPIPlugin with Amplify to make calls to your AppSync API. We're in the process of bumping AppSync SDK's dependency on the SDK to use 2.17.0 (https://github.com/awslabs/aws-mobile-appsync-sdk-ios/pull/419) and should unblock you, however AppSync SDk will only continue be maintained with bug fixes and security updates.

Hi @lawmicha,
this is my podfile.

It throws me the following errors.

this is a weird error, because I don't see any error?!

If I would remove the AppSync Pod it would throw me an error at the codegen generated API.swift file, because this imports AppSync.

Hi @chris-mds  sorry for the confusion. To make calls to your AppSync backend, you shouldn't need to use AppSync SDK and API.swift if you use the generated models from amplify codegen models (https://docs.amplify.aws/lib/graphqlapi/getting-started/q/platform/ios#generate-todo-model-class)
API.swift that your referring to is generated for use with AppSync SDK which is correct.
you can remove AppSync from your pod file, and continue to use the models to make calls to your backend, ie. Amplify.API.mutate(.create(post))

It looks like you are using DataStore and Amplify Tools as well. DataStore interfaces with a local database and will automatically synchronize your data to your backend stack (AppSync/dynamoDB) and you don't have to make calls to your API directly anymore. You can replace the Amplify.API calls with Amplify.DataStore.save(post) and Amplify.DataStore.query(Post.self, byId: post.id) https://docs.amplify.aws/lib/datastore/getting-started/q/platform/ios

Hi @lawmicha ,
thank you for your fast reply.
So taking it together: I can delete the pods 'AppSync' and 'AmplifyPlugins/AWSAPIPlugin' because both of if will be handled through the dataStore pod?
And when I run amplify codegen models it will automatic create my models inside the DataStore file?
I removed the pods but the error No such module 'Amplify' in AmplifyAWSCredentialsProvider is still present

Thanks for your patience and will try to clear up some confusion and improve the docs.

If you are using AmplifyTools, DataStore, and AWSAPIPlugin.

Amplify Tools provides an build step to help you generate models to be used with Amplify, sets up the AppSync API with conflict resolution feature to be used by DataStore's sync engine. If you configure all three, you should interface with Amplify.DataStore.save and Amplify.DataStore.query.

If you are using DataStore and AWSAPlPlugin.

This is the same as 1. but you will no longer auto generate the models in Xcode from the AmplifyTools build script. You'll have to go over Amplify CLI and run the commands
if creating a new project -> amplify init
create API -> amplify add api, then amplify update api and enable for DataStore
provision the AppSync backend -> amplify push, you can select 'No' to generate API.swift (this is used for AppSync)
generate models -> amplify codegen models
set up the configuration in your project by dragging over amplifyconfiguration.json and the model files, and make sure they are marked as Copy If Needed

If you are looking for data persistance without offline capabilities and other features provided by DataStore, use AWSAPIPlugin without AmplifyTools and DataStore.

when creating the API, do not enable for DataStore. and you can continue to use the models and call Amplify.API.query, Amplify.API.mutate.

And when I run amplify codegen models it will automatic create my models with all functions and connections?

This will generate your models such as Post.swift, Comment.Swift to be used with the functions, ie.

Additional question to DataStore: When I save a model to dataStore and I have a valid internet connection it pushes it to the backend without delay? This wasn't clear for me.

Yes, when there is a valid internet connection, data persisted in the local store will be synchronized to the backend, and data from the backend created by other app clients will be synchronized to the local store.

I removed the pods but the error No such module 'Amplify' in AmplifyAWSCredentialsProvider is still present

Did the pod installation complete successfully, you can try pod cache clean --all && pod install --repo-update? In Xcode, have you tried clean CMD+K and then build?

Hi @lawmicha,
thank you very much for the detailed information. This helps a lot.
I cleared cache and reinstalled the pods, but still facing this error.
I also noticed that my Framework-files are not correct. I have the feeling, that something with my Cocoapods could be wrong?

After updating it gives me additional warnings and a huge list of duplicated UUID's

Something is really messed up with my pods.

can you try removing Podfile.lock (or move it, Podfile.lock.old) and /Pods and do a clean installation of the pods? pod cache clean --all && pod install --repo-update

Oh boy you saved my life. This finally works. Will try the DataStore-Framework tomorrow.
Thank you very much!


Review Ticket Overview

Review Ticket Guide
Each assignment we will be required to make a review ticket. Most assignments provided will have a Hacks section. A hack is a term for coding, a fun term.

Screen Captures are nice for hacks.
Short Descriptions
Code Fragments.

Markdown samples  (https://www.markdownguide.org/getting-started/)
using markdwon from index.md we are learning markdwon
This text below is Markdown
## Investing in Your Technical Future

> CSSE 1,2 prepares students for t
he AP Computer Science pathway. This course focuses on teaching the JavaScript programming language, object-oriented programming and inheritance, and developing algorithmic thinking skills. Through game development projects, students will engage in engineering skills, learn fundamentals of programming, work with data structures, and foster collaboration skills with their peers. Tech talks will be conducted by teachers to introduce concepts, provide guidance on tools, and support ideas to establish development requirements. By performing development and exploration, this course aims to raise students' awareness of the tremendous capabilities of computers and software engineering skills across various fields.

THis is a heading made of code scaffolding.
``` markdown


(Mostly) blank page with JS off

This is what I see. Website is totally unusable.

Confirming, likely related to scripts being loaded from the http instead of their https counterparts.

the site won't ever load without javascript enabled, but i fixed the issue of some resources not being loaded over SSL


False positive?

Checklist

[X] I'm reporting a problem with Chatterino
[X] I've verified that I'm running the most recent nightly build or stable release
[X] I've looked for my problem on the wiki
[X] I've searched the issues and pull requests for similar looking reports

Describe your issue
update today got flagged as a drop trojan by F-Secure total it also flagged another file that I use regularly and recently downloaded as one. I am guessing it's a false positive.
Screenshots

OS and Chatterino Version
unable to access but just updated today when update was showing

Hey, yeah generally anti-virus software takes some time for software to be "known" and trusted. The Update.exe is the in-progress update file used during an upgrade like this.
What you can do is upload the new chatterino.exe or any of the other files in your chatterino folder onto VirusTotal.
For more context, see https://github.com/Chatterino/chatterino2/issues/487


Add test ids to filters

I want to merge this change because it allows e2e testing.
PR intended to be tested with API branch: master
Pull Request Checklist

[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Translated strings are extracted.
[ ] Number of API calls is optimized.
[x] The changes are tested.
[x] Data-test are added for new elements.
[ ] Type definitions are up to date.
[ ] Changes are mentioned in the changelog.

Test environment config

API_URI=https://master.staging.saleor.rocks/graphql/

Task linked: CU-7gtmj7 Add test ids to filters


feat: validate link records on the gateway

Enables gateways to validate a records' proof chain before adoption over IPFS, and verify expiry before publishing. Fixes #257. Changes in syndication.rs are exclusively from moving the logic inside a function to catch errors without taking down the processor (only logic change is early aborting if IPFS node isn't found).

Dependent on https://github.com/ucan-wg/rs-ucan/pull/83

Depends on #360 (ucan 0.2.0, validation that doesn't include expiry)
Introduced KeyValueNameResolver, a simplified name resolver for unit tests
Add a test for publishable timeframe for gateway, also illustrating how we can test individual job processing

Put validation behind a flag for deployment so the validation doesn't yet actually occur, but can be reconciled with other NS work and enabled shortly in the future

This looks good, but I just want to clarify that it doesn't fix #257 . In order to fix #257, we need to introduce validation here: https://github.com/subconsciousnetwork/noosphere/blob/14f7d61209ae975928cc3c24f1df1dc55a4427ff/rust/noosphere-sphere/src/petname/write.rs#L93-L94
Sorry, we should have had those TODOs annotated.
This addresses perhaps one half of the task, but really validation should be happening at this point where we try to write to the SphereContext, and it should probably be mostly symmetrical across any sphere mutation (be it the gateway's sphere, the user's sphere, or ....)


No assertion error

Hello guys, as you all may know, playwright TS introduced expect configuration in a couple updates ago.
I've faced an issue when I use this kind of update, for instance,
const softAssertion = expect.configure({ soft: true }) test(test A, async() => { await softAssertion(locA).toBeVisible(); }),
My test then warning me that there's no assertion in test and that annoying I should let at least one expect in the test to bypass it. Please cover this.

The plugin expects to find expect somewhere in the name of the function, so expect() or softExpect are both valid ways to write it. My recommendation would be to rename softAssertion to softExpect.
You can also use additionalAssertFunctionNames which is documented in the readme.
Hope that helps!


introduce the relation plugin

There are many relations between K8s resources, like owner reference, label selector, etc...
It becomes challenging for dashboards to manage these relations case by case, so we implemented the relation plugin to handle this in the API provider.
When we store data in the global store, we will process each item and append relations into the metadata field.
When we apply data back to the backend, we will restore each item to ensure the fields we add will not be sent to the API server.
There are some potentials to make the plugin system more clear, for example, use pre/post hooks to organize the code. But now, we will keep the code simple, and go back to review the design when we have more plugins.

as a result:


Check the process associated with the currently active window

Fixes a crash (assert) where the same process would be suspended more than once if it had multiple windows, one of them active and the others inactive, and the window then lost focus after a power change event (AC power being removed).
Fixes #11

Much appreciated!


Failing to fetch events from personal Google/Google Apps Calendars

I'm not convinced this is an issue at all and not just pilot error, but this is what I'm seeing.
I've configured vdirsyncer thus:
[general]
status_path = /home/jjm/.vdirsyncer/status

[pair gmail_calendar]
a = gmail_local
b = gmail_remote
collections = [ "from b" ]

[storage gmail_local]
type = filesystem
path = /home/jjm/.calendars/gmail/
fileext = .ics

[storage gmail_remote]
type = caldav
url = https://www.google.com/calendar/dav/
username =<EMAIL_ADDRESS>password = "*************************"
read_only = true

My password is enclosed in quotes because it contains a # mark.  vdirsyncer discover seems to operate successfully and when I run vdirsyncer sync I see a bunch of stuff gets populated into /home/jjm/.calendars/gmail/events but it turns out that nothing in there is actually out of my personal calendar, they're just the public holidays calendar (eg. New Year's Day, Martin Luther King Day, etc.).
Looking at the instructions here: https://support.google.com/calendar/answer/99358 I thought perhaps I should change the url to be url =<EMAIL_ADDRESS>but that results in an error:
Discovering collections for pair gmail_calendar

Traceback (most recent call last):
  File "build/bdist.linux-x86_64/egg/vdirsyncer/cli/utils.py", line 218, in _discover_from_config
    discovered = list(cls.discover(**config))
  File "build/bdist.linux-x86_64/egg/vdirsyncer/storage/dav.py", line 303, in discover
    for c in d.discover():
  File "build/bdist.linux-x86_64/egg/vdirsyncer/storage/dav.py", line 166, in discover
    for x in self.find_collections():
  File "build/bdist.linux-x86_64/egg/vdirsyncer/storage/dav.py", line 144, in find_collections
    url = self.find_home()
  File "build/bdist.linux-x86_64/egg/vdirsyncer/storage/dav.py", line 128, in find_home
    url = self.find_principal()
  File "build/bdist.linux-x86_64/egg/vdirsyncer/storage/dav.py", line 123, in find_principal
    raise InvalidXMLResponse()
InvalidXMLResponse

This is all from a vdirsyncer I installed from git:
vdirsyncer master$ git show HEAD
commit 4e8ae1e15f6f8bbe08fa6dc2386057efbc2abc26
Merge: 6ab6d1d 4adebe6
Author: Markus Unterwaditzer<EMAIL_ADDRESS>Date:   Thu May 7 22:32:59 2015 +0200

    Merge pull request #200 from untitaker/handle-empty-items

    Skip empty items

Current as of today and python2.7.  I had previously installed directly via pip but that used python3.4 on my system (an up-to-date Debian 8 / Jessie) and failed in the same ways, so I tried using an older version of python also installed on my system.  I did that with this command:
vdirsyncer master$ sudo python2.7 ./setup.py install

which ensures I'm using python2.7:
vdirsyncer master$  head -2 `which vdirsyncer`
#!/usr/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'vdirsyncer==0.4.4','console_scripts','vdirsyncer'

Does any of this make any sense?  I looked for a similar issue in the list of open issues and didn't see one, but it's entirely possible I've just missed it, since I'm not really sure what I want to be searching for.
Oh, maybe it is worth mentioning, the first time I ran vdirsyncer discover it displayed this:
Discovering collections for pair gmail_calendar
error: No collection events found for storage gmail_local.
Should vdirsyncer attempt to create it? [y/N]: y
Saved for gmail_calendar: collections = ["events"]

Which I thought made since, since I had only create the top level .calendars/ directory, nothing underneath it.
I've placed the debug output from my latest vdirsyncer sync run in a gist at https://gist.github.com/joeythesaint/6156d85a4e9d881020dd

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/13596523-failing-to-fetch-events-from-personal-google-google-apps-calendars?utm_campaign=plugin&utm_content=tracker%2F574345&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F574345&utm_medium=issues&utm_source=github).

Also, do you have this issue with other DAV clients?

Not sure how my previous comment didn't get posted completely.

As you can see, Google support is untested -- IIRC the settings in the docs are taken from the official support pages
Vdirsyncer authenticates lazily -- could you try setting auth = basic?
Do you encounter any problems with other DAV clients?

Thanks for the quick response.  I know the google support is untested and I really appreciate your taking time to look at this anyway.
I set auth = basic in the gmail_remote section of the config above, so now it looks like:
[storage gmail_remote]
type = caldav
auth = basic
url = https://www.google.com/calendar/dav/
username =<EMAIL_ADDRESS>password = "*************************"
read_only = true

but it didn't seem to make any difference.  This is the first DAV client I've tried using, though I did try out gcalcli and it is showing the events.
I was doing a bit more searching around myself and I found this: https://developers.google.com/google-apps/calendar/caldav/v2/guide specifically:
The old endpoint https://www.google.com/calendar/dav is deprecated and no longer supported; use it at your own risk. We recommend you transition to the new endpoint format described above.

which is the URL described in the page linked from the docs, so it may be just that the old API is failing me and Google expects everyone to migrate to the OAuth API.  :-/

It is quite possible that Google is intentionally limiting the DAV API this way to force users and devs to OAuth (see also #8, personally I don't really care about Google support).
What you can do at this point is using vdirsyncer's HTTP storage to access the "Private Addresses" in iCal format:
[storage gmail_calendar_one_remote]
type = http
url = ...  # "Private URL" to calendar one

[storage gmail_calendar_two_remote]
type = http
url = ...  # "Private URL" to calendar two

[pair gmail_calendar_one]
a = gmail_calendar_one_remote
b = gmail_calendar_one_local

[pair gmail_calendar_two]
a = gmail_calendar_two_remote
b = gmail_calendar_two_local

[storage gmail_calendar_one_local]
type = filesystem
path = ~/.calendars/one

[storage gmail_calendar_two_local]
type = filesystem
path = ~/.calendars/two

This is insanely repetitive, but it probably works.

FWIW I think you'll get a better user experience if you use e.g. gcalcli and other software that is specifically built around Google's infrastructure.

I tried the ical/http option and that works for reading, which is all I need right now anyway.  Thanks!
The main reason I'd like to have vdirsyncer working is because it also works really well right now for me with my work (exchange) calendar and I'm willing to trade some functionality on the local update / push side for the convenience of using a single tool.
Again, thanks for the assistance.


Send props to custom action component

Currently I've defined a component in a file :
<template lang="html">

     Detail
     Edit
     Delete

</template>

Is there anyway to send props to my component ? Currently I see only a way to state which component to be used for the __component column without sending it anything. Please help 🙏

@adifaidz Technically, this could be done by sending additional object to the component. But this will lack the prop validation provided by Vue.js. Let me think about it and I'll let you know.

Thanks a lot, really hoping this could be done 😄

@adifaidz Would you mind telling me what kind of prop you would like to send to the __component?
I start to think about this problem and there seems to be many possible solutions but cannot decide which way to go as I do not really have a valid use case for it.

me too, really hoping this could be done :smile:

I kinda wanna send urls to the component, because my component remains the same for every page except for the url. Right now what I'm doing is instantiating an object before the vue import
var params = {
      url : {
        show: '{{route('admin.role.show', ['id' => null])}}',
        edit: '{{route('admin.role.edit', ['id' => null])}}',
        delete: '{{route('admin.role.destroy', ['id' => null])}}'
      }
}

And assigning it to the component data like so,
data(){
  return{
    showUrl: params.url.show,
    editUrl: params.url.edit,
    deleteUrl: params.url.delete,
    redirectUrl: params.url.redirect
  }
},
onDelete: function(data) {
  this.$http.delete(this.deleteUrl + '/' + data.id).then(
    (response) => {
      console.log(response);
      if(this.redirectUrl !== undefined)
        window.location.href = this.redirectUrl
     this.$parent.refresh()
    },
    (response) => {
      console.log(response);
    }
  )
}

It works but its kinda an ugly hack if you ask me 😞. Sorry it took me so long too reply to this, was caught up in some work lol

@adifaidz @wanlxp I find that using event is actually more convenient and less hacky. In this case, I'm using vue-events to be the centralized event hub.
    npm install<EMAIL_ADDRESS>
    import Vue from 'vue'
    import VueEvents from 'vue-events'

    Vue.use(VueEvents)

In you custom component, you detect what the user want and then fire the appropriate event to the centralized event hub.
    // CustomAction.vue
    <template>

             Detail
             Edit
             Delete

    </template>

Then, in your main app or component you can listen to those events and act accordingly. In this case, vue-events allow you to register event listeners in the events section, just like in Vue 1.x
    <template>
        //...
        <vuetable ref="vuetable"
            //...
        ></vuetable>
        //...
    </template>

@ratiw Hmm, this looks clean enough. Never thought of it that way though 👍. I'll test this out and get back to you on this.

@ratiw I feel using events is the way to go for handling events in the component, but lets say that I have a multiple wrapper component for vuetable, wouldn't this make it tightly coupled with the component?
If I were to have an action component with other event names, that means that the wrapper must register listeners for all the possible events. I know it seems a bit of a stretch as it seems unlikely to have so many events but it would be better to have the flexibility.
Also, I think another case of sending props to the component would be if I want to hide a component button based on a prop. Can it be achieved using events too? Would any problem arise?

@adifaidz I wouldn't worry too much about coupling now as I used to.
When it comes to actual app development, you can only think so much. But all of that wouldn't mean so much until you actually start doing it. Then, you would really see the what you think is correct or not. And all of that wouldn't matter at all if the app does not finish in time.
You just have to make it possible for you to come back at what you feel is not right and rework on it. That's where writing tests come in. Without the test, I can almost guarantee that you will lost the will to come back and refactor it.
In my opinion, using event is actually make it less couple and simplifying codes. One component can emit as many event as it wants, but you only listen to the events you're interested and act on them.
I believe that setting props are mostly for the initialization step (that's why in Vue 2.x you should not mutate the prop value inside your component, in my opinion) and later any communication to the component should be done via events.
I think you can do almost anything using event. You just have to be clear what and when you want your component to do when the events it is listening comes.
I have tried various ways to allow passing additional parameter to the component, but event seems to be the best for its simplicity and clearity.

@ratiw This might solve your issue.
https://github.com/ratiw/vuetable-2/pull/46

Both these solutions seem excessively complex to just pass a simple string to the __component , especially when you only need to define the url. In my case these are regular, old-school links that redirect to a resource form.
@ratiw Any clue how to do that?
P.S: thanks for the work on this package 👍.


Add CI for develop branch

Clone of main/master CI but prevent auto-publish

Why ising develop instead of master ?


Upstream components for 1.19.3

make support for 1.19.3
all things works fine!

Thanks once again :)


BGP Additional Paths

In BGP mode, the design of Porter and MetalLB are completely different.
Porter:
The porter-manager will advertise the node IPs of all the Pods of a Service to the router.
Suppose we have a k8s cluster like this:
Roles          IP Address
master1        <IP_ADDRESS>
master2        <IP_ADDRESS>
master3        <IP_ADDRESS>
worker1        <IP_ADDRESS>
worker2        <IP_ADDRESS>
worker3        <IP_ADDRESS>

And we also have a deployment app, it's service EIP is <IP_ADDRESS> and replicas is 3, deployed on each workers.
If we do not enable the BGP Additional Paths in router, maybe the BGP routing-table looks like this:
   Network                NextHop
*> <IP_ADDRESS>/32         <IP_ADDRESS>

When the add-paths is enabled, the BGP routing-table is:
   Network                NextHop
*> <IP_ADDRESS>/32         <IP_ADDRESS>
*                         <IP_ADDRESS>
*                         <IP_ADDRESS>

The reason is:
BGP routers and route reflectors (RRs) propagate only their best path over their sessions. The advertisement of a prefix replaces the previous announcement of that prefix (this behavior is known as an implicit withdraw). The implicit withdraw can achieve better scaling, but at the cost of path diversity. [reference]
And not all routers support BGP Additional Paths.
You cannot deploy HA LoadBalancer if your router does not have this feature.
If you have 3 instances of the porter-manager on the cluster without add-paths enabled, then what happened? The BGP routing-table is unstable, maybe looks like this:
   Network                NextHop
*> <IP_ADDRESS>/32         <IP_ADDRESS>
*                         <IP_ADDRESS>
*                         <IP_ADDRESS>

Disappointed right? But MetablLB does not have this problem.
MetalLB:
The BGP speakers are deployed as DaemonSets. Each speaker only advertise its own IP of node to router.
Whether or not additional-paths is enabled, the BGP routing-table is always like this:
   Network                NextHop
*> <IP_ADDRESS>/32         <IP_ADDRESS>
*                         <IP_ADDRESS>
*                         <IP_ADDRESS>

So, when the router does not support BGP Additional-Paths, MetalLB is a better solution than Porter.
How can we change it?

/kind design

That's indeed a problem.   I've also been working on BGP recently ,  I'll discuss it with you if there's any progress @k0ngk0ng  .
What do you think about this @zheng1 ?

This is a design based on our previous experience with public clouds, because in our environment add-paths are generally supported. At this point, it looks like we can support both, distributed or centralized to establish BGP connections to routers.
Distributed is implemented using DaemonSet. Centralized as before.

This is a design based on our previous experience with public clouds, because in our environment add-paths are generally supported. At this point, it looks like we can support both, distributed or centralized to establish BGP connections to routers.
Distributed is implemented using DaemonSet. Centralized as before.

I think It is not appropriate to maintain  both of them. If only a few routers do not support this feature, I think we can give this up.  If we use DaemonSet, then we are the same as Metallb.

This is a design based on our previous experience with public clouds, because in our environment add-paths are generally supported. At this point, it looks like we can support both, distributed or centralized to establish BGP connections to routers.

Distributed is implemented using DaemonSet. Centralized as before.

I think It is not appropriate to maintain  both of them. If only a few routers do not support this feature, I think we can give this up.  If we use DaemonSet, then we are the same as Metallb.

Modern switches can support this feature, at present, we do not need to modify the architecture in order to be compatible with legacy switches


Add acme-controller clusterrole

I think I caught everything.
endpoints/restricted was a massive gotcha

@andrewklau thanks for sending this PR! This is something I had in mind, but didn't have time to do it. I will need to look at the docs a bit (and test it) to do a proper review - I am on PTO till Wed 26th but I'Il review it once I am back. My apologies for the delay.

No problems.
I'm not too sure why the Travis tests failed, when I ran the tests locally they seemed to pass. I also have these policies deployed on a test cluster and everything seems to work fine

I've been running this clusterpolicy on a staging cluster for some time and there doesn't seem to be any issues. Travis also passes now :)
My only feedback so far is in #5 relating to authorisation failing when the route has an existing certificate on the route. Hopefully that doesn't break the renewal process.

I've tried it and it's working great. Thanks @andrewklau.


feat: add bullet list as a new component in form builder

What was solved
Created a new components that lets the application displays values in a bullet list
How was it solved
Solved it by creating the new component from scratch. The component takes values as a string array and optionally a colorSchema value for colouring the background and the bullets in the bullet list.
Why was it solved in this way
This is how other components are added in the form builder. The component is also independently added in the form which means that it will not break any other functionality.
How was it tested
Created a form with the new component and checked the data structure that the form created.

Task linked: CU-1pkm65e Möjliggör i form-buildern att skapa/visa en punktlista


Decouple from PathKit

Remove FileSystemLoader in case not needed for projects and break PathKit coupling. Further discussion in #120.

The file system loading is necessary for the include tag, as well as the template inheritance.
Look, I honestly don't think we're going to merge this. You'd break all the other frameworks and apps already using Stencil, just because you don't want to add one line to your Carthage file?


Optimize ReadFile allocations

Instead of continuously reallocating the output string, call reserve() up front to enlarge the string's buffer.
For our larger build.ninja files (~550MB), this saves about 500ms, which is more than half the time spent in this function. (Measured by adding METRICS_RECORD to this function during manifest_parser_perftest)
For the standard manifest_parser_perftest, this only saves ~20ms out of ~600ms for a full run.

Doesn't this double the number of syscalls per input file?  I guess the
number of input files is relatively small enough for it to not matter?

As far as I can tell, this function is used primarily in two places: manifest reading and depfile reads. There are few enough manifests that the overhead is minimal, and the gains for larger manifests is significant.
For depfiles, there are many more of them, and they'll generally be smaller. It will increase the number of file-related syscalls by 33% (fopen/fread/fclose) for files <64KB, but it doesn't seem to materially change the results of depfile_parser_perftest on a 32KB file on my machine.

Is it expensive in practice to just reserve() a "big number" instead of stat()ing?

@sgraham In practice you can assume that one reserve() call = one malloc() call. So if it is too big and if the buffers stay around you may run out of memory.
When there is no call to reserve() the typical allocation scheme is to start with a capacity of 1, 2 or 4 and to multiply it by 2 when it must be increased. Calling reserve() up front reduce the number of malloc() calls because the capacity does not change when the string size increases.
An alternative to get rid of the stat() call could be to always call reserve(4096) (for instance). If 4096 bytes are not enough the buffer capacity will be automatically increased ; involving extra malloc() calls but less than if we had started from a capacity of 2 or 4.
If the buffer is dropped once the parsing is finished we can even use a bigger value than 4096.
Another alternative would be to mmap'ed the file. This way we get rid of the memory allocator calls and the file-related syscalls all together.

Yes, I understand the reason the change was proposed. It appears that ReadFile() is only used one at a time. So I was wondering if in practice simply doing "contents->reserve(10010241024);" (or some other number) would be faster and simpler.

In addition to all the malloc calls, every time the size needs to increase, the current buffer needs to be copied to the new buffer. So for allocators that use mmap for large allocations, that's at least two system calls (mmap, munmap) and potentially a multi-hundred megabyte copy. For smaller allocations, it can likely be handled without a system call at all.
This same function is used for <4KB files and >500MB files, so a single "big number" would not be appropriate. Especially on 32-bit machines, or machines with overcommit limitations, using too much virtual address space is a problem.
Why is fstat so much a problem here? It should be faster than stat() -- it doesn't have to do any path lookups, since the kernel already has the inode from the open file descriptor.
mmap is an option, but it didn't seem to help that much here in my limited testing. With a binary manifest format, and string tables, it could be more useful to reduce the number of allocations elsewhere, but that's a separate discussion -- #1093 or similar.

@danw Simply calling a system function come with an overhead. This is the overhead Evan was talking about. It is independent of the complexity of the system function that is actually called.
I would try with reserve(4KB) so that only one allocation is performed for the many files <4KB and that the behavior for the not so many files >4KB is almost unchanged.

All the tests below were done on ~Ubuntu 14.04 on a 64-bit machine with 2x Xeon E5-2690 v3 @ 2.6Ghz.
Yes, there is some overhead from every syscall. But not every syscall is equal either -- fstat takes 210ns on my machine, while stat takes 500ns. It's also important to see which syscalls are actually being used (with strace):
fopen:
  open
  fstat
fread:
  mmap
  read
  read
fread:
  read
fclose:
  close
  munmap

Where this change adds another fstat/fstat call, so adding 1 to 8 current syscalls.
I also did some microbenchmarking with different file sizes:

There's a lot of noise in the larger file size runs. Due to the longer runs, there are fewer loops (at least 20 -- smaller ones are closer to 5 million) and more variation. I added error bars to the big file graph to show the approximate range of one standard deviation away from the mean.
Using reserve(4096) is almost always worse than any other solution I benchmarked.
Using fstat+reserve really starts helping the moment we get data from fread more than once -- so >64kb files.

The feof and fstat&feof lines come from the observation above that we can remove the second call to fread in the <= 64kb cases. So in the while loop, !feof(f) is checked first, then fread is called. I've updated the code here with that optimization as well.
I tried deferring the fstat call until after the first fread, so that we didn't need to do it for these small files. I see that working in strace, but the benchmark results don't show any improvement except in the file size == 0 case.

Makes sense. Thanks for your extensive benchmarking :)