apt-get install libgtk-3-0t64 libgbm-dev libnotify-dev libnss3 libxss1 libasound2t64 libxtst6 xauth xvfbnpm install cypress --save-devnpm install @simonsmith/cypress-image-snapshot --save-dev
npx cypress opennpx cypress run
| <?php | |
| // smtp microsoft 365 exchange support | |
| add_filter( | |
| 'pre_wp_mail', | |
| function ($pre_wp_mail, $attributes) { | |
| $from_email = 'noreply@vielhuber.de'; | |
| $mailhelper = new \vielhuber\mailhelper\mailhelper([ | |
| $from_email => [ | |
| 'smtp' => [ | |
| 'host' => 'smtp.office365.com', |
| # auto switch | |
| find_up() { | |
| local file="$1" | |
| local dir="$PWD" | |
| while [[ "$dir" != "/" ]]; do | |
| if [[ -f "$dir/$file" ]]; then | |
| echo "$dir/$file" | |
| return 0 | |
| fi | |
| dir="$(dirname "$dir")" |
| // list voices | |
| speechSynthesis.getVoices().forEach(speech => { console.log(speech); }); | |
| // speak | |
| let message = new SpeechSynthesisUtterance('Verteidigungsminister Boris Pistorius hat die Berliner Ukraine-Gespräche mit Europäern und den USA gelobt.'); | |
| message.lang = 'de-DE'; | |
| message.voice = speechSynthesis.getVoices().filter(voice => voice.name === 'Google Deutsch')[0]; | |
| window.speechSynthesis.speak(message); | |
| // stop |
| <!doctype html> | |
| <html lang="de"> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, minimum-scale=1" /> | |
| <title>Web Speech API</title> | |
| <script> | |
| class STT { | |
| static instances = []; |
| // Check all IMAP folders for new messages | |
| mail.server.default.check_all_folders_for_new = true | |
| // Automatic compaction without confirmation | |
| mail.purge.ask = false | |
| // Minimum delay between compactions (minutes) | |
| mail.purge.min_delay = 1 | |
| // Check interval for compaction (minutes) |
| Get-ScheduledTask -TaskPath '\' | ForEach-Object { | |
| $xml = [xml](Export-ScheduledTask -TaskName $_.TaskName -TaskPath $_.TaskPath -ErrorAction SilentlyContinue) | |
| $node = $xml.SelectSingleNode("/*[local-name()='Task']/*[local-name()='Settings']/*[local-name()='Priority']") | |
| $p = 7 | |
| if ($node -and $node.InnerText) { $p = [int]$node.InnerText } | |
| [pscustomobject]@{ | |
| Task = "$($_.TaskPath)$($_.TaskName)".TrimStart('\') | |
| Priority = $p | |
| } | |
| } | Format-Table -Auto |
| SET SESSION group_concat_max_len = 1000000; |