TikTok Effect House [New App Request]

I would like to be able to screen scrape the Tiktok Effects House downloads page to obtain the URL for the latest version download
Download URL : "https://effecthouse.tiktok.com/download"
Release Notes : "https://effecthouse.tiktok.com/latest/release-notes-latest/"
I have managed to read the latest version number (from the Release Notes page), but have so far been unable to find the installer URL from the downloads page - this is what I have acheived so far with the following Powershell:
[cmdletbinding()]
Param()

Clear-Host
Write-Verbose "Setting Arguments" -Verbose

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

$DetectionMethod = "Webscrape"
$AppName = "TikTokEffectHouse"
$Application = "TikTok Effect House"
#$Arch = "x64"
$AppType = "EXE"
$AppInstaller = "Effect_House_Setup.exe"
$InstallPath = "$($env:LOCALAPPDATA)\Effect House\Effect House.exe"
$DownloadsURL = "https://effecthouse.tiktok.com/download"
$ReleaseNotes = "https://effecthouse.tiktok.com/latest/release-notes-latest/"

# $PSScriptRoot should always be something like C:\Users\FSmith\gitrepos\Intune\Admin\Scripts.
# Our Base folder should be 'Intune', or 2 levels up.
$BaseFolder = "$PSScriptRoot\..\.."
$AllAppsFolder = ".\Apps"
$PrepToolExe = ".\Microsoft-Win32-Content-Prep-Tool-1.8.4\IntuneWinAppUtil.exe"

$StartTime = Get-Date

Write-Verbose "Finding installed version" -Verbose
# Check if App is installed and if it is get version
if (Test-Path -Path $InstallPath) {
    [version]$InstalledVersion = (Get-ItemProperty $InstallPath).VersionInfo.FileVersion
    Write-Host "Installed version of $($Application) is: $($InstalledVersion)"
} else {
    Write-Host "WARNING :: $($Application) is not installed" -ForegroundColor Red
}

Write-Verbose "Using $($DetectionMethod) to check for latest version from: $($ReleaseNotes)..." -Verbose
try {
    # $Web = Invoke-WebRequest -UseBasicParsing -Uri $DownloadsUrl -ErrorAction SilentlyContinue
    $Web = Invoke-WebRequest -UseBasicParsing -Uri $ReleaseNotes -ErrorAction SilentlyContinue
}
catch {
    Throw "Failed to connect to URL: $ReleaseNotes with error $_."
    Break
}
finally {
# Luckily, although this web page covers a major release it only seems to have active links to the very latest update.
# So we can determine the latest version by searching for specific text in the page...
    $PageContent = ($Web.Content)
    $SearchString = "</style><h2 class=`"css-ov5iey e15xsn0a4`">v"
    $CaptureStart = $PageContent.IndexOf($SearchString) + $SearchString.Length
    $EndIndex = $PageContent.IndexOf(" (", $CaptureStart) - $CaptureStart
    $Version = ($PageContent.Substring($CaptureStart, $EndIndex).Trim()) -replace "\.","-"
    [version]$LatestVersion = ($PageContent.Substring($CaptureStart, $EndIndex).Trim()) -replace "-","."
}

Write-Output "Latest version of $($Application) is:          $($LatestVersion)"

Write-Verbose "Using $($DetectionMethod) to find latest version download from: $($DownloadsURL)..." -Verbose
try {
    # $Web = Invoke-WebRequest -UseBasicParsing -Uri $DownloadsUrl -ErrorAction SilentlyContinue
    $Download = Invoke-WebRequest -UseBasicParsing -Uri $DownloadsURL -ErrorAction SilentlyContinue
}
catch {
    Throw "Failed to connect to URL: $DownloadsURL with error $_."
    Break
}
finally {
# This web page only seems to have an active link to the very latest update - obscured by CSS.
# So we need to determine the latest version download by searching within the links on the page...
    $DownloadContent = (($Download.Links | Where-Object {$_.href -eq "/download"}).outerHTML)
    <#
    $SourceUrl = "" # To be read from page ?
    #>
    # Current Download URL for v<IP_ADDRESS> has been obtained in a browser:
    $SourceUrl = "https://sf16-va.tiktokcdn.com/obj/eden-va2/olaa_ajlmml_zlp/ljhwZthlaukjlkulzlp/V332_External_Release_0927/Effect_House_v<IP_ADDRESS>_101_Setup.exe"
}

<#
Other code...
N.B. Includes setting path to $Outfile
#>

# New Version available, so open Release Notes
$ReleaseNotesURL = "https://effecthouse.tiktok.com/effect-platform/latest/release-notes-latest/v$($version)/?enter_method=category_card"
Write-Output ""
Write-Host "New version $($LatestVersion) has been released, Opening release notes in default browser..." -ForegroundColor DarkGreen
Start-Process $ReleaseNotesURL
Write-Output ""

# Download the latest Installer
Write-Output ""
Write-Output "Downloading $($Application) $($LatestVersion) from $($SourceUrl)..."
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri $SourceUrl -OutFile $Outfile

Did some digging. My conclusion: There is now simple download link that's reconstructable just from the website.
One can get the File-Data using the same POST request as the downloadbutton does:
$uri = 'https://effecthouse.tiktok.com/api/web/download'
$blob = Invoke-RestMethod -Method Post -Uri $uri -Body @{osType='windows';}
$blob | Out-File 'Installer.exe'  # Not sure what file ending...

(Note: I left out the entryPoint="101" parameter that the website also sends additionally to the osType)
This will give you a blob containing the installer for Windows, but not the download link.
Using Invoke-WebRequest one could get the binary data plus extra data and applying some lines of the Resolve-Uri CMDLet from Nevergreen will give you the download link, but at this point the setup has already been downloaded.
$a = Invoke-WebRequest -Method Post -Uri $uri -Body @{osType='windows';}
$a.BaseResponse.RequestMessage.RequestUri.AbsoluteUri

would result in something like
https://sf16-va.tiktokcdn.com/obj/eden-va2/olaa_ajlmml_zlp/ljhwZthlaukjlkulzlp/V383_ExternalRelease_0306/Effect_House_v<IP_ADDRESS>_101_Setup.exe

I don't think this approach is feasable for this project, but wanted to share my findings. Unless one could send that post request without getting the contents and just analyze the BaseResponse to get the Download-URL.

Thanks, I'd forgotten I'd raised this.
We abandoned this software as it does not have any silent / unattended command line switches which made it impossible to deploy to users in an automated manner. If TikTok ever fix that we may revisit.

Sorry I didn't respond to this earlier, but looks like I can close it now anyway!


Add CITATION.cff

Closes #127.
Closes #86.
Adds a citation file so that releases work nicely with Zenodo.
Reviewers: please check you are happy with how your names are presented, that your ORCIDs are correct and present (if you have one). Feel free to push directly to the branch if you have edits.

Also pushed minor changes to label all TODOs with issues. Ready for review.

Also fix for #126.

Thanks @jwallwork23! I added my ORCID and pushed it here since you said we could :)
I also thought I'd add the other missing plot in the ping-pong demo (ping_pong-source_function.jpg) since it's a minor change, but then saw that in some parts of the demo you refer to it as a source function and in other as a sensor function. So the title of these plots is different in ping_pong-source_function.jpg and in ping_pong-final.jpg, even though they're the same function. Maybe choose one for consistency?

Also, initially I didn't have cffconvert installed so I got this error:
Checking CITATION.cff formatting...
make: cffconvert: No such file or directory
make: *** [Makefile:32: check_citation] Error 127

but this message got lost in all the other messages that make test prints out.
Can we make it so that make test breaks if this an error occurs here, so that we can easily catch it? This is what happens if there is an error in the lint part of testing, for example.

I also thought I'd add the other missing plot in the ping-pong demo (ping_pong-source_function.jpg) since it's a minor change, but then saw that in some parts of the demo you refer to it as a source function and in other as a sensor function. So the title of these plots is different in ping_pong-source_function.jpg and in ping_pong-final.jpg, even though they're the same function. Maybe choose one for consistency?

@ddundo Thanks, fixed by 6aedaf3885fec6f08d2a7bfeb455398cd7418451.

@acse-ej321 do you have an ORCID to add or can we merge this?


Added virtual balances in deposit

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

17 of 31 (54.84%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-6.9%) to 60.177%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contracts/FixedRateSwap.sol
17
31
54.84%

Totals

Change from base Build<PHONE_NUMBER>:
-6.9%

Covered Lines:
51

Relevant Lines:
73

💛  - Coveralls


client.audio.transcriptions.create receive different results depending on OS

Confirm this is an issue with the Python library and not an underlying OpenAI API

[X] This is an issue with the Python library

Describe the bug
I'm making a transcription of audio using the transcriptions create method, but even running with the same audio, the same configuration, and the same Python version, I have different results depending on the OS, and to be more precise, when I am running into a windows OS the result is correct, but when running into Linux or Mac, the results is wrong. Some examples of what happened with the transcriptions:
Windows:
ok, I will do that, thank you for your support!
Linux and Mac
ok, I will do that, do that, do that, do that, do that, do that, do that
Information about the OS that runs the tests:
Windows: Windows 11 Home Single Language (version: 23H2) (running inside wsl2 with ubuntu 22.04 distro) (running local)
MAC:  macOS (version:  14.4.1) (running local)
Linux:  Amazon Linux 2 -  (running inside ECS)
Please, let me know if need more information than that.
To Reproduce

open local audio in format .ogg as binary ("rb"):

   with open('audio.ogg', 'rb') as opened_audio:

file the params with the following params:

           transcription_params = {
            'model': 'whisper-1',
            'file': opened_audio,
            'temperature': 0.0,
            'language': 'pt',
            'response_format': 'verbose_json'
        }

run as below in different's OS a couple of audios and compare the results:

  from openai import OpenAI

   with open('audio.ogg', 'rb') as opened_audio:
        transcription_params = {
            'model': 'whisper-1',
            'file': opened_audio,
            'temperature': 0.0,
            'language': 'pt',
            'response_format': 'verbose_json'
        }

        OpenAI().audio.transcriptions.create(**transcription_params)

Code snippets
from openai import OpenAI

   with open('audio.ogg', 'rb') as opened_audio:
        transcription_params = {
            'model': 'whisper-1',
            'file': opened_audio,
            'temperature': 0.0,
            'language': 'pt',
            'response_format': 'verbose_json'
        }

        OpenAI().audio.transcriptions.create(**transcription_params)

OS
MACOS
Python version
3.12.5
Library version
1.42.0

Thanks for reporting, we'll investigate. I'm curious if you tried making the same request without using the SDK?

@RobertCraigie

Thanks for reporting, we'll investigate. I'm curious if you tried making the same request without using the SDK?

Hello, Robert, thanks for your return... I tested it now via the endpoint via request instead of the SDK and the behavior is the same (tried both in python and postman).


Add ErrorDetails message

This adds a new message type named ErrorDetails which is to be used for capturing errors in a structured manner. The first use-case for this type is in the ApplyRuleResponse type.

/cc @girishranganathan @leecalcote

This is addressed as part of the event updates that were added in a few weeks back. We can close this one.

Cool, thanks.


Added core-image-bistro-full

core-image-bistro-full is ment as an image that builds all the software provided by bistro.
This solves the problem with SoftwareContainer needing kernel-module-veth to work. Without veth SoftwareContainer can not start a container as LXC tries to create a virtual ethernet device linking a network bridge. However, it should still be possible to run SoftwareContainer if it is compiled without network support.

Although i see that this is useful to have, but why don't you add a PACKAGECONFIG option to softwarecontainer and depend on kernel-module-veth, if softwarecontainer is build with network support ?

I agree with @Gagi2k, and this image in itself does not solve the issue with kernel-module-veth. It seems depending on this does nothing if the kernel configuration is missing it, so one needs to have a kernel bbappend for it anyway (I hope I'm wrong, but that's how it looks).
If that is the case, this is a problem imho. Recipes should be able to simply DEPEND on other packages, and in the kernel case it would be nice if such a dependency would translate into the kernel config being changed automatically.

@Gagi2k A PACKAGEOPTION will fail if the module is built in to the kernel, I think. I think adding it explicitly like this to the image recipe is better, since you should be able to rely on the platform always having this functionality. There are several other kernel features we simply rely on being there.
Maybe it would be better if softwarecontainer fails to build when the required kernel features are missing?

Before we add an image that references both -ivi and -genivi images, what are the purpose of the -genivi image? It seems like it only includes a subset of GENIVI components, while -ivi brings in all P1 SC and P2 SC.
I don't think there's a way in Yocto to handle package dependencies towards kernel features. One can add the kernel-module-* package to RRECOMMENDS, but that doesn't work if the driver is in kernel as @jonte mentioned.
I think I would actually prefer to just leave it up to the "integrator" to make sure that the kernel is built with the features needed. Or maybe add RRECOMMENDS_${PN} += "kernel-module-veth", and then if that dependency fails during image creation the integrator can either add a BAD_RECOMMENDATION if the driver is in the kernel, or modify kernel config so the veth driver is built.

@erikboto I think it would make sense to have some image which "just works" and has everything configured properly from start. If we don't do this in Bistro, then I think we need to add a new layer which contains these images.
I think some of the purpose of this merge request is to create a "just works" image, which makes sure to include the required kernel features, and all packages to do an effective demo of the things provided in Bistro.
We need to decide if we want to keep Bistro "clean" with no tweaking (such as deploying this kernel module), and put these tweaks in some other layer (meta-bistro-demo?), or if we want to include this in Bistro.
What do you guys think?

I agree that it would make sense to have an image that "just works". But that "just works" part can only be reliably achieved if it targets a specific target and comes with the BSP-modifications needed for that target. E.g. making sure that the kernel is configured according to softwarecontainers requirements, which I guess is a set of CGROUPS features, veth and maybe something more.
We could do the thing with multiple layers in the same git like many layers to, e.g. meta-ivi (http://git.yoctoproject.org/cgit/cgit.cgi/meta-ivi/tree/) and then do BSP modifications for certain machines in meta-bistro-bsp?
Also, I still wonder if the "require core-image-bistro-genivi.bb" add anything that "require core-image-bistro-ivi.bb" hasn't already pulled in. Do you know @DunderRoffe? Otherwise I think that line should be dropped and we should see if we can get rid of that image, it's just confusing to me since it just pulls in three of all GENIVI components.

@erikboto I also agree with removing "core-image-bistro-genivi". It installs persistence-client-library which is not included in P1 and P2 packagegroups directly, but one of the components there (node-state-manager) anyway has a DEPENDS on it. It also automatically includes core-image-bistro.
In general I agree with Erik that an image that "just works" can't be achieved easily in this case since it needs the proper kernel and BSP. I would vote for leaving this to the integrator with a RRECOMMENDS or something. I believe the idea of meta-bistro is to add functionality with recipes and sample configuration and sample images, but not be the top project layer for a project-specific image.

@erikboto No I do not. I added it since it was a part of other images without much thought. So I guess it should be dropped.
I approach this as trying to build a reference version of Pelux on a dedicated target. From that point of view there meta-bistro would be the top layer. I guess one could add higher layers but that seems like an awfully fragmented solution.
The purpose of this pull-request is make sure that there were an image including a working SoftwareContainer. Since meta-bistro supplies the SoftwareContainer recipe I added it here. But I guess that this is better put at another level.

After some discussions today this solution seems moot. Will remake this in another way, probably a separate layer.


Wrong permissions on directories when invoking uu-install -Dm644

Issue
The  uu-install implementation handles the argument combination of -Dm644 which is commonly use in C/C++ install tools differently then coreutils.
The uu-install implementation sets the -m644 permissions on the directories it creates and fails to copy the file as the execute bit is mentioning on the directories.
Meanwhile, install creates directories with 755 and then creates the final file with 644 permissions as specified.
Example test cases
uutils
$ /usr/bin/uu-install --version
/usr/bin/uu-install 0.0.17
$ /usr/bin/uu-install -Dm644 file.txt uutils644/a/b/c/d
/usr/bin/uu-install: cannot install 'file.txt' to 'uutils644/a/b/c/d': Permission denied
$ exa --no-user -l --tree uu*
drwxr-xr-x - 13 Feb 17:34 uutils644
drwxr-xr-x - 13 Feb 17:34 └── a
drwxr-xr-x - 13 Feb 17:34    └── b
drw-r--r-- - 13 Feb 17:34       └── c

$ /usr/bin/install --version | head -n1
install (GNU coreutils) 9.1
$ /usr/bin/install -Dm644 file.txt core644/a/b/c/d
$ exa --no-user -l --tree core*
drwxr-xr-x - 13 Feb 17:36 core644
drwxr-xr-x - 13 Feb 17:36 └── a
drwxr-xr-x - 13 Feb 17:36    └── b
drwxr-xr-x - 13 Feb 17:36       └── c
.rw-r--r-- 0 13 Feb 17:36          └── d

It appears the default behavior without -m644  matches coreutils as expected:
$ /usr/bin/uu-install -D file.txt uutils/a/b/c/d
$ exa --no-user -l --tree uu*
drwxr-xr-x - 13 Feb 17:34 uutils
drwxr-xr-x - 13 Feb 17:34 └── a
drwxr-xr-x - 13 Feb 17:34    └── b
drwxr-xr-x - 13 Feb 17:34       └── c
.rwxr-xr-x 0 13 Feb 17:34          └── d

$ /usr/bin/install -Dm644 file.txt core644/a/b/c/d
$ exa --no-user -l --tree core*
drwxr-xr-x - 13 Feb 17:36 core
drwxr-xr-x - 13 Feb 17:36 └── a
drwxr-xr-x - 13 Feb 17:36    └── b
drwxr-xr-x - 13 Feb 17:36       └── c
.rwxr-xr-x 0 13 Feb 17:36          └── d

Thanks for the clear report!

Found another issue that's probably related, I can create another issue if you like or update the description.
Running install -o $UID -g $GID -d dir/a/b fails to set the permissions on the final directory (b) in this case.
Arch Linux uses this in makechrootpkg which is broken by this. Code for usage is here.
$ sudo /usr/bin/install -o 1000 -g 1000 -d core/a/b
$ sudo /usr/bin/uu-install -o 1000 -g 1000 -d uu/a/b

$  exa -lng --tree core uu

drwxr-xr-x - 0    0    13 Feb 18:28 core
drwxr-xr-x - 0    0    13 Feb 18:28 └── a
drwxr-xr-x - 1000 1000 13 Feb 18:28    └── b

drwxr-xr-x - 0    0    13 Feb 18:28 uu
drwxr-xr-x - 0    0    13 Feb 18:28 └── a
drwxr-xr-x - 0    0    13 Feb 18:28    └── b

Note that coreutils implementation sets the requested permissions of core/a/b to the uid+gid passed in but uu-install does not.

It's probably a slightly different codepath so I think a separate issue makes sense. Thanks!

Created #4361


Removes schedule for serving diagnostics_json

Removes scheduler for generating the diagnostics JSON to speed up the first load time
Introduces caching for JSON as it is a rather slow process

Closes https://github.com/NebraLtd/hm-diag/issues/174

Will this still auto-reload the page each time it pulls in new info?
Also, is there a reason to only do this every 5 minutes?


This is an extension that adds WebWorks support for our Analytics SDK

Okay, added it.

Amazing job Tim. I'm going to test is asap.

I'm satisfied with this API.  Nice work Tim.

Oh Ken ... you and all your questions.  Over to Tim W to sort this out.

You can't ask questions, this is the Internet.
So I obviously messed up my commit, because the library.xml is missing some things that are in my own version here. There is indeed a dependency for the jar file, and it is required.
The Jar is the Analytics SDK jar file that we released some time ago. The extension is a wrapper for it so you can use it in a WebWorks app. It's a standard closed source SDK, but anyone can use it. It's typically obtained through the BlackBerry Analytics Portal, when you create a space, but I wanted to include it here so that developers didn't have to try and figure out the exact right place to put it. Also, it could change in the future and if so could break the extension. By including the working version we ensure it's going to work for developers without messing around with it. Then if it changes in the future, we update the Jar and the extension at the same time.
And you are right, I forgot the blackberry.app feature in the readme. Oops.

Okay, I added a bit to the Readme

Best way to end a Friday = merging a pull request!
Nice work Tim.


Let students become a mentor

Add button in profile edition to become a mentor
Add custom url to become a mentor

Sorry, I meant to PR to our own repo.


fuse_reduce matchers don't check for dynamic inputs

The various matchers in fuse_reduce.cpp should check for and reject instructions with dynamic inputs.  A quickie test showed it would match a dynamic input and then throw an exception when creating the replacement instructions.

Duplicates or is obviated by https://github.com/ROCm/AMDMIGraphX/issues/2842

.


Page down should should not flash the top item in the list

#93729
Version: 1.44.0-insider (user setup)
Commit: d7d1147d6b764a48b789000c03088ee9afabcd8a
Date: 2020-03-31T08:23:56.446Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18362

Minor issue obviously but it's would probably feel smoother if the top didn't flash whenever you press page down. This indicates to me that rendering is happening between the selection and scroll values are updated as a result of page down firing. Shouldn't they be done at the same time?
Holding page down showing the problem:

Pressing page down showing the problem:

It's pretty much the same what happens with the Windows file explorer. We can do better, tho!


Add check in LROs to only allow Resume from a poller of the same type

Add that method in the JSON to compare the original poller type so that we through an error if it's not the same

This is repeated from #372


Config Reloader

Can you provide guidance on automatically reloading config when a change has been made?  I've been deleting the pod after making a config change but not deploying updated daemonsets and/or deployment at the same time.

use helm upgrade?
https://github.com/helm/helm/blob/master/docs/helm/helm_upgrade.md

Sorry I should have mentioned that I'm just using the K8s manifests and not Helm.

If you are using manifests can't you just kubectl apply and all the kubernetes objects are updated?

The configmaps are updated but I don't think the SCK pods that are currently running are aware of the changes.
Perhaps this could be an enhancement request for SCK?  In Prometheus there is a "reload" endpoint.  A generic file watcher container (not a Prometheus component) does an HTTP post to the endpoint of the running pods when it sees that the configmaps have changed.

If you are using manifests you may want to try kubectl rollout restart - https://blog.questionable.services/article/kubernetes-deployments-configmap-change/

Thanks that may be a possibility down the road but need to look into it further.  I'm still using version 1.14.

Let us know what you decide on, we would love to recommend the same to other community members.


From (sender email and name) ignored and not being set

$mime_email = '. . . . .From: "Info"<EMAIL_ADDRESS>
$objGMail = new Google_Service_Gmail($client);
$mime = rtrim(strtr(base64_encode($mime_email), '+/', '-_'), '=');
$gmail_msg = new Google_Service_Gmail_Message();
$gmail_msg->setRaw($mime);
$objGMail->users_messages->send('me', $gmail_msg);

The $client is lets say registered to<EMAIL_ADDRESS>and there is a general alias email<EMAIL_ADDRESS> Setting the "From" does nothing as it reverts to<EMAIL_ADDRESS>however I can set the from when sending using SMTP but not the API.

I'm parity sure the client library automatically defaults from to the email address of the currently authenticated user.   Try logging in with<EMAIL_ADDRESS>instead.

I'm parity sure the client library automatically defaults from to the email address of the currently authenticated user. Try logging in with<EMAIL_ADDRESS>instead.

Please read the post, this is regarding the API and an alias email (one that is not an account).

Hi @jplevene,
I tried doing the same after adding the alias email to my current account(You can do this via UI or via php client too) and then sending the mail with the FROM as one of the alias and it worked.
Can you confirm if you have your alias properly added in the send as settings?

I guess I created a confusion here😅.
I'm asking that can you check if you have your required alias email registered in the sendAs settings? You can check like this via client-
$gmail = new Gmail($this->client);
$sendAsList = $gmail->users_settings_sendAs
    ->listUsersSettingsSendAs('me')
    ->getSendAs();
foreach ($sendAsList as $sendAs) {
    echo 'Alias Name: ' . $sendAs->getDisplayName() . PHP_EOL;
    echo 'Email: ' . $sendAs->getSendAsEmail() . PHP_EOL;
}

Alternatively, you can also check in the UI as stated above.
Now what I observed is that, we don't get an exception if we try to use alias email but haven't registered the alias in the sendAs settings and in this case the email is sent by the actual user. But if we use an alias which is registered in the sendAs settings, it works as intended and we get the required results.
Thus @jplevene, can you please check your registered aliases and verify if the required<EMAIL_ADDRESS>is present there?

Yes it works doing this.  The confusion is that it works without doing this using the SMTP server.
Thanks


using --batch option to dock several hundred molecules

I am dealing with several hundred ligands in pdbqt format stored in a directory.
Could you please give me a clue on how can I do the docking in the batch mode?
Thank you in advance,
Sajad

Create a for loop in Python?

Also --batch option when using the command line executable.


Access Denied SQL error in stock docker deployment

I used the stock recommendations in the repo and get a SQL error when I try to run manage.py createsuperuser.
django.db.utils.OperationalError: (1045, "Access denied for user<EMAIL_ADDRESS>(using password: YES)")
env_prod.list below:
Database config
MYSQL_DATABASE=openeats
MYSQL_ROOT_PASSWORD=root
Django config
API_URL=<IP_ADDRESS>:8000
API_PORT=8000
DJANGO_SECRET_KEY=sdfsadfas32e98zsdvhhsnz6udvbksjdhfi4galshjfg
DJANGO_SETTINGS_MODULE=base.settings
DJANGO_DEBUG=False
ALLOWED_HOST=localhost
HTTP_X_FORWARDED_PROTO=false
Node config
NODE_ENV=production
NODE_URL=localhost:8080
NODE_API_URL=http://localhost
NODE_LOCALE=en

Are you runing this script?
docker-compose -f docker-prod.yml run --rm --entrypoint 'python manage.py createsuperuser' api
If so, are you running it from the same machine that you are running OpenEats from?
Another thing to check is to see if your database is accepting any connections.

Please reopen this if you are still having issues


Entity None (<class 'custom_components.echonetlite.climate.EchonetClimate'>) does not set ClimateEntityFeature.TURN_ON but implements the turn_on method.

ogger: homeassistant.components.climate
Source: components/climate/init.py:354
Integration: Climate (documentation, issues)
First occurred: 6:14:23 PM (12 occurrences)
Last logged: 6:14:23 PM
Entity None (<class 'custom_components.echonetlite.climate.EchonetClimate'>) does not set ClimateEntityFeature.TURN_OFF but implements the turn_off method. Please create a bug report at https://github.com/scottyphillips/echonetlite_homeassistant/issues
Entity None (<class 'custom_components.echonetlite.climate.EchonetClimate'>) does not set ClimateEntityFeature.TURN_ON but implements the turn_on method. Please create a bug report at https://github.com/scottyphillips/echonetlite_homeassistant/issues
Entity None (<class 'custom_components.echonetlite.climate.EchonetClimate'>) implements HVACMode(s): heat, cool, dry, fan_only, heat_cool, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/scottyphillips/echonetlite_homeassistant/issues

This has been resolved in the beta 3.8.0 so closing


linear and log scale histogram bucket generators

What I did
added helper functions to generate log scale and linear histogram buckets for metrics

@shreyagarge Could you please perhaps move these to api/common/stats_utils.go?


Aria Support?

Just did a quick search of the issues and don't see any mention of aria support.  Wonder if I can help fold a few of those aria attributes into these inputs?  e.g. aria-describedby.

@nadnoslen we would love the help! I am not sure the state of aria and a11y support in general in flatpickr and not sure if this would be better here or there, but totally agree it should be supported!

I'll take a look at the component implementation to just see if we can wedge it into the input without doing any damage.

@nadnoslen do you think it belongs here, rather than in flatpickr itself?

Hey @rwwagner90, your wonderful add-on has abstracted so much of Flatpickr away from me that I'm not yet qualified to answer that question!!
In my opinion, it aria attribute assignments would be responsible by the code that is actually defining the <input>.
I've forked your addon and will poke around shortly.  😉

Hey @rwwagner90,
Looks like adding a few more attributeBindings is what is in order.  I'm working on this in my fork.  I'll summarize when I'm done.  Cheers.

Sounds good 👍


Ideas for cleanups & API simplification

[x] The Lease and similar „transient“ objects could deref to Arc (or the held pointer) instead of T directly.

This would solve the problem with Option valued things.
This would also allow Arc::clone without the need for our own upgrade method.

[x] There are entirely too many load-style methods. Can we pick fewer of them and get rid of the rest?
[x] Is the name load confusing? Eg. let db = in_memory_db.load() hints at loading the whole database somewhere from disk, not at just getting a pointer to it.

Decided to leave load as it is (or, actually, migrate everything to loads).


Assorted fixes to bash app error handling

This comes from work on the DESC imsim workflow.

This looks related to #384, does it fix it?


6.21 breaks hooks

It seems that the fingerprint of the hooked functions has changed, and now they are null after FindFunctions() is called.
I dont think i have a version of the older league exe, so it is difficult to compare exactly what changed in the files.

I haven't looked into it yet, but they might have ditched Scaleform entirely now that they're releasing the official replay system. Would be a shame to lose this kind of accessibility though. I'll take a look in a bit and see what's up.

Yeah it seems like they've made some non-trivial changes and the fscommand function is no longer present. Invoke still is still there seems like they're still using Scaleform. Luckily the data output from invoke can exist even if fscommand does not, so i changed it so that it won't close the process and still output data, even without fscommand. On debug this will show a warning each time, on release it will work silently.
Let me know if you have any issues with it. Thanks!

sorry for super long delay in responding back to this, but it seems like it worked. on the next patch too, with the new spectator UI. so they havent ditched it completely yet.

I have been experimenting with it recently and it seems not working. Maybe because I’m using a different client build since I’m in China. I’ll try a NA client.
Meanwhile, does anyone happen to know it still works? Thanks!


Missing attributes in revenue tracking

When I call the mixpanel_track_charges method, I'm unable to see details that such as initial referrer, browser details, origin and so on in the Mixpanel dashboard.
I have not done anything explicitly to ensure that these details have been sent, but I thought the behaviour would be similar to what you see when you fire a Mixpanel event from the Javascript side.
Anything I can do to get these details?
Thanks!

Hi @jerryjohnjacob ,
Sorry for the delayed answer.
When you call mixpanel_track_charges we send a revenue info to Mixpanel.
Revenue info are under People section. That infos don't act like an mixpanel event.


[Feature Request] serverSide support

Currently, I can't seem to get the code below to work.
import dash_ag_grid as dag
import dash
from dash import Input, Output, html, dcc, no_update
import os

import pandas as pd

app = dash.Dash(__name__)

from sklearn.datasets import load_iris
iris = load_iris()

iris = pd.DataFrame(iris.data, columns=iris.feature_names)

app.layout = html.Div(
    [
        dag.AgGrid(
            id="aggrid",
            columnDefs=[{"field": i} for i in iris.columns],
            enableEnterpriseModules = True,
            licenseKey = os.environ['AGGRID_ENTERPRISE'],
            rowModelType="serverSide",
            columnSize="autoSize",
            defaultColDef=dict(
                resizable=True, sortable=True, filter=True, minWidth=100
            ),
            dashGridOptions={"pagination": True},
        ),
    ]
)

@app.callback(
    Output("aggrid", "getRowsResponse"),
    Input("aggrid", "getRowsRequest"),
)
def infinite_scroll(request):
    print(request)
    if request is None:
        return no_update
    partial = iris.iloc[request["startRow"] : request["endRow"]]
    return {"rowData": partial.to_dict("records"), "rowCount": len(iris.index)}

if __name__ == "__main__":
    app.run_server(debug=True)

Hello @Liripo,
The serverSide rowModel doesnt come with this connection, it doesn't like the extra stuff in the request for some reason.
Here is a way that you can create your own.
https://community.plotly.com/t/serverside-rowmodeltype-in-dash-aggrid/76876/8?u=jinnyzor
Please note, the steps that I did here for getting the grids api are unnecessary and should be replaced with a simple:
grid = await dash_ag_grid.getApiAsync(id)
if (grid) {
    ...
}

Hello @BSd3v
It seems complicated.  It would be great if some APIs could be provided in the python module.

Infinite and serverSide rowModels are more complex, and each use-case is different.
Infinite rowModel will work in most cases, unless you need info about rowGroupings, etc. Infinite will automatically give the getDetailRequest property available for the callback.
Regardless of which you choose, you will have to determine your filtering and sorting mechanism in python.

Infinite might fit your needs then.

Oh, okay, just realized.


Krishnamurthy Number

Description
A Krishnamurthy number is a number whose sum of the factorial of digits is equal to the number itself. For example 145, sum of factorial of each digits:
1! + 4! + 5! = 1 + 24 + 120 = 145
Domain
Algorithm
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

/assign


Leftclicking on the taskbar icon could open the settings

What do you think about adding that when you left click on the taskbar icon it will open the settings?

Do you mean the tray icon?

Do you mean the tray icon?

Yep!

Added in https://github.com/PikeNote/taskbar-groups-pike-beta/commit/6c6ab38686890e0dcef77254ed6dda4b942a927a


Dynamic client side LB ?

do you have this yet ?
need client to load balance using round robin without need LB servers.
the presence gossip channel maybe does that …

@fanweixiao ??
If needed grab me on discourse, since your not on telegram

Thanks

Both does not solve the client side lb from what I can see


docker not found error when trying to run ci command with docker

Hi there
I'm very new to ci/cd and setting up services. But I managed to run gitea alongside this runner successfully. In my actions I want to do a docker build after checkout but I get the error that docker is not found. I think this is really silly. Should I somehow manually install docker in the runner?

good catch, yes the docker client was missing. I added it to the docker image, please give it a try.

I'm also having this issue, I tried the updated container, but still getting the error. Should I clean the volume and start the runner fresh?

I missed to add the binary to the final image. should work now. thanks for the feedback.

Thank you! I don´t know if it is related, but the newer version is not finding node in PATH.

I don't think that is related. Node should not be required in the container that executes the act_runner. act_runner basically just spawns other docker containers (that may need node).

True, On the docker side, still no luck. It is giving the docker not found error.

The problem is, the node16 container that the runner spawns has no docker CLI, even though the volumemap to the docker.sock is there.

ok, so the act-runner container doesn't need the docker client after all.

The problem is, the node16 container that the runner spawns has no docker CLI, even though the volumemap to the docker.sock is there.

the volume map alone is not suffient. the container also needs to have the docker client binary if it tries to invoke the docker command

ok, so the act-runner container doesn't need the docker client after all.

I'm not sure, because the runner needs to spawn the children containers.

The problem is, the node16 container that the runner spawns has no docker CLI, even though the volumemap to the docker.sock is there.

the volume map alone is not sufficient. the container also needs to have the docker client binary if it tries to invoke the docker command

Exactly, the problem is that right now the act runner only spawns node:16 children, I don't know if this is an upstream bug frlm gitea, or if I'm doing something wrong on my configurations.

Apparently this was an issue from the runner image and that didn't have docker installed. I managed to fix this issue using ubuntu-latest:docker://catthehacker/ubuntu:act-22.04 asGITEA_RUNNER_LABELS env variable when running the docker container.

This is it! @sebthom, if not specified, maybe the docker image should use these labels as default:

ubuntu-20.04:docker://node:16-bullseye
ubuntu-18.04:docker://node:16-buster
ubuntu-latest:docker://catthehacker/ubuntu:act-22.04

Otherwise the runners will be created only using node:16, and with no docker support.
There are other image examples that can by found on here.
Thanks for your help @aminify!
PS.: I'm still not sure if the docker client is needed or not, if you need someone to help you test it, ping me @sebthom

@joaolongo that sounds like a good idea. I am a.f.k. at the moment but will get back to this next week.

I reverted the inclusion of the docker client in the runner docker image as it has no effect and changed the default labels to use catthehacker/ubuntu:runner-** docker images.

Closing the issue for now. Feel free to reopen if required.


Added additional path params to Git File Generator

Add {{ path }} and {{ path.basename }} params to git file generator.
Fixes: #258
Signed-off : Ishita Sequeira

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

@jgwest PTAL the PR is ready for review


Mesh components within an actor aren't voxelized.

We've built a level out of modular "prefabs", actors which contain several static mesh components within them.

Bulk selection of static mesh in the Acoustics > Objects pane doesn't select them; it's only looking for static mesh actors.
Selecting the individual static mesh components and selecting tag doesn't change the object tag counts (fair enough, it's only counting actors).
If the prefab actor is hand-selected and tagged as geometry, then calculating the voxelization and probes for the map doesn't appear to voxelize any of the geometry in the prefab. The log reports:

LogAcoustics: Error: Unsupported Actor tagged for Acoustics: Trench_Prefab_2
This sort of modular construction seems pretty valuable. If an actor is specifically tagged for acoustics, it seems like it should get scanned for mesh components.

Static mesh components are supported in the 3.0 release, available now! #94


Removed unwanted "header-button-size-mobile" variable

Fixes #11411
Removed the unwanted variable $header-button-size-mobile
Please check the following:

[ ] Do the tests still pass?[^1]
[ ] Does the code comply with the style guide?

[ ] Run make lint from the Wagtail root.

[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?
[ ] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[ ] Please list the exact browser and operating system versions you tested:
[ ] Please list which assistive technologies [^3] you tested:

[ ] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

Legend! thank you


Appendix to override kafka-clients is missing in latest 2.2.x docs

The appendix is missing in the docs but the link from the Spring Kafka home page still exists and gives a 404 error.
I'm assuming this is still valid with 2.2.x to enable use of kafka-clients 2.1.x?

@manderson23 I have updated the project page link.
We have not yet tested 2.2.x against the 2.1.x clients; we will update and replace the appendix when we have done so.

The notable changes in their documentation leads me to believe there should be no issues; we will test today.

Tested and reinstated the appendix; thanks for pointing this out.


Markdown link not highlight link with Parentheses

https://en.wikipedia.org/wiki/Ping_(networking_utility)#ICMP_packet as the link contain parentheses.It doesn't highlight properly.

Thanks, fixed!

Btw to receive this fix (assuming you use neovim) you need to wait a bit until the lockfile.json in the nvim-treesitter repo is updated (happens automatically from time to time). Then you need to update nvim-treesitter and run :TSUpdate.

@MDeiml thx, will check it later!


cdc: fix resolved ts stoped after term changed

Signed-off-by: 5kbpers<EMAIL_ADDRESS>
What problem does this PR solve?
Problem Summary:
leader info was not updated after term changed.
What is changed and how it works?
Proposal: xxx
What's Changed:
update leader info after term changed.
Related changes

Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test

Release note

N/A

/merge


Tag builds not firing on automated tags

https://stackoverflow.com/a/71372524/1003830

Did not work


Relationship to other TrackNetV3

Hi, is there any relationship between this TrackNetV3 and this one?

Different structures


SSL issues

Last update of elixir:1.5 with erlang:20 broke SSL.
We started getting random {:tls_alert, :bac_mac_record} errors when talking with HTTPS services. Rolling back to erlang:20.2.3 solves the issue.
Seems like the base image is broken as when using apt-get with it you get a lot of errors related to bad ELF files.

not reproducing here; do you have more logs

Seems like the base image is broken as when using apt-get with it you get a lot of errors related to bad ELF files.

especially this one would be more severe if reproducible; are you sure the bad ELF files only happen with erlang images? also tried with debian base images?

please re-check after https://github.com/c0b/docker-erlang-otp/issues/121#issuecomment-384761214
if can still reproduce, please report to the new https://github.com/erlang/docker-erlang-otp Thanks


[0.7-beta5] Islands hydration issue (unique ID problem)

Describe the bug
Upgrading from beta4 to beta5 causes hydration errors in islands.

Leptos Dependencies
I’ve narrowed it down to this commit: 209743d6bc2c77b4cc7bd9a02796d65623cb6f35
The error message line 42 of leptos/src/hydration/island_script.js crashes, but fixing it to replace the ${l} with ${id} 'just' shows the real error, which is that there is no WASM function for a given ID.

Displaying the list of mods, we can see that the island is indeed in the mod, but with a different ID:

Could you please provide a way to reproduce the issue? This is not universally the case (i.e., if I open and build the islands or hackernews_islands_axum examples they work as expected).
The ID at the end is a hash of the location at which the macro is called, and then should be included in all the places it's needed. To me, this sounds like a caching issue, i.e., a newer server-rendered page trying to hydrate islands with an older JS/WASM module.

I tested that, but no such luck.
Digging a lot more into it, I’ve narrowed it down to this:
#[cfg(feature = "ssr")]
pub mod nothing;

Removing the #[cfg(feature = "ssr")] removes the hydration error. I’m…baffled…
See: https://github.com/VincentBerthier/leptos-repro/tree/59bcceaec148ca563b20fd4cc97f75b2ea3c6e72
As it is, if you go on the /testing page, you’ll have the hydration error.
If you remove the #[cfg(feature = "ssr")] in src/dummy/mod.rs, it works just fine.
That’s… I mean… Wut?

Oh, okay. Fair enough. I guess the compiler ends up giving different Spans for the the #[island] invocation for the two different builds, if there is code that's included on one and not the other. I definitely did not test a similar scenario. I know that this could be fixed using nightly-only APIs on Span, but unfortunately they're nightly only.
Basically the solution in #2924 is wrong and I'll have to figure out a different or better way, or revert the change and un-fix that issue.


WIP: Wasmtime update

Fixes #1, precursor to #6.
Still to do:

[x] Wire up Wasmtime in ambient_wasm. I've tested this works with a separate sandbox that stubbed out all of the exports, but now I need to actually wire it up to Ambient.
[ ] Rename component::ComponentType to component::Value
[ ] Check the docs on the guest still make sense.
[ ] Figure out how to accommodate future client bindings. Checking in with the Bytecode Alliance here.

So I have the async example working, but the physics example explodes quite dramatically: it looks like entity.spawn is not marshalling the list of tuples across correctly. I suspect this might be a mismatch between the wit-bindgen version and the wasmtime version; more investigation is required.
The other thing is that this now requires the component model, so it can't just consume wasm output by rustc directly. It needs to be converted to a component and have an adapter for wasi preview1 -> preview2 injected:
wasm-tools component new ./target/wasm32-wasi/debug/physics.wasm -o examples/physics/build/physics.wasm --adapt wasi_snapshot_preview1.wasm

To test, I've disabled the automatic build of Rust in the build script, but I need to think about the best way to handle this going forward. I'd like to take rustc out of the build pipeline entirely, so this might be a good time to do so... but that does break the nice ambient run workflow. Could be a chance to tie in #39, but there are three steps: build, componentize, run.
I could have the build process componentize your raw WASM for you, but that seems a little finicky + could be something the user doesn't want (especially if they're using somebody else's components).

So I have the async example working, but the physics example explodes quite dramatically: it looks like entity.spawn is not marshalling the list of tuples across correctly. I suspect this might be a mismatch between the wit-bindgen version and the wasmtime version; more investigation is required.

I've updated the wasmtime version and the issue still persists. I've opened an issue with wit-bindgen here. This is blocked until a resolution can be found to that issue.

Future work: add a way to send data from one side to another, both reliable and unreliable, and expose synced_resources


Is there any guideline for upgrading the middle value of a version

Will it be an incompatible version when I upgrade from 3.11.x to 3.15.x?
Is there any reason or guideline for the version value?

There is no such guideline. No API breaking changes were made since 3.11.0 version.

I see, thanks.
Close this PR


sdk calls internal POST with incorrect signature in a number of cases

I noticed this when using this SDK to cancel a job, the call to:
 api.Encoding.Encodings.Stop(id)

returned the error:
there are still some placeholders left in the URL. Please make sure to pass the correct values to this function to replace all placeholders. url=/encoding/encodings/{encoding_id}/stop
After some debugging, I noticed .Stop() calls ApiClient.Post() with the following params:
https://github.com/bitmovin/bitmovin-api-sdk-go/blob/5a601b88994c6ca30e001cb758e45862d05a19be/encoding/encoding_encodings_api.go#L155-L157
while the signature for .Post() is:
https://github.com/bitmovin/bitmovin-api-sdk-go/blob/5a601b88994c6ca30e001cb758e45862d05a19be/common/client.go#L176-L178
this raises no type error, of course, as the second and third parameters are of type interface{}, but the function is incorrectly sending the reqParams variadic into the responseModel param and the response model into the requestModel.
A quick search points at other places (not exhaustive) that may be similarly effected:
https://github.com/bitmovin/bitmovin-api-sdk-go/blob/5a601b88994c6ca30e001cb758e45862d05a19be/encoding/encoding_encodings_live_api.go#L53-L55
https://github.com/bitmovin/bitmovin-api-sdk-go/blob/5a601b88994c6ca30e001cb758e45862d05a19be/notifications/notifications_api.go#L94-L96
https://github.com/bitmovin/bitmovin-api-sdk-go/blob/5a601b88994c6ca30e001cb758e45862d05a19be/encoding/encoding_manifests_hls_api.go#L90-L92
This issue is quickly reproducible with the following test:
func TestStopError(t *testing.T) {
	api, err := bitmovin.NewBitmovinApi(func(apiClient *common.ApiClient) {
		apiClient.ApiKey = "123"
		apiClient.BaseUrl = "https://api.bitmovin.com/v1/"
	})
	if err != nil {
		t.Fatal(err)
	}

	_, err = api.Encoding.Encodings.Stop("some_id")
	if err != nil {
		t.Fatal(err)
	}
}

which returns:
=== RUN   TestStopError
--- FAIL: TestStopError (0.00s)
    stop_test.go:20: there are still some placeholders left in the URL. Please make sure to pass the correct values to this function to replace all placeholders. url=/encoding/encodings/{encoding_id}/stop
FAIL

I was able to unblock myself by forking and using this workaround:
ack -l "(api.apiClient.Post\(\".*\",\s)(\&[a-zA-Z0-9_-]*,\s*\sreqParams)" | xargs perl -pi -E 's/(api.apiClient.Post\(\".*\",\s)(\&[a-zA-Z0-9_-]*,\s*\sreqParams)/$1struct{}{}, $2/g'
done here: https://github.com/cbsinteractive/bitmovin-api-sdk-go/commit/ee02befeafb5f306c15c197978bc73d17e531270
This is only a workaround and may not be the desired fix.

@zsiec, this should be fixed now with the latest commit. I ran your single Stop test case and it worked. This should also address other API calls where it's a POST call that does not require a specific body payload.

thanks for the update @jonathanhperry!


How can I install LTI?

Hello, I want to use LTI for validation. However, there is no document to install the LTI system. How can I install an LTI system in the project? Is there a install document step by step ?

@jhonforde
Sorry for my delayed reply.
You don't need to install anything only configure the key/secret see:

https://github.com/edumeet/edumeet/blob/master/LTI/LTI.md

If I can help more please just let me know!


Uniques only

Feature suggestions:

only retrieve unique snapshots
only retrieve snapshots closest to a particular set of dates (e.g. 1 July of each year).

Keep up the good work.

Thanks, @ErikBorra! Those are both really interesting ideas. Some thoughts/questions:

only retrieve unique snapshots

I'm thinking that using this option would retain only the chronologically-earliest copy. Yeah? And it'd look something like waybackpack dol.gov -d ~/Downloads/dol-dot-gov --unique? Or --unique-only?

only retrieve snapshots closest to a particular set of dates (e.g. 1 July of each year)

This is intriguing, but feels like the additional complexity might outweigh the added functionality. What do you think the logic would look like for this? And how would, e.g., "1 July of each year", be expressed as arguments on the command line?

Hi @jsvine,
yes to the first question.
As for the second, one could loop over years (from 1996 until the current year) and specify the following as the datestamp when calling the Wayback API: YEAR0701000000. This way one can retrieve a single version per year, closest to 1 July (the Wayback machine does the 'closest' match for you).
And a third option: get one archived version per month, 10days, or 1 day by using collapse=timestamp:6, collapse=timestamp:7, collapse=timestamp:8 respectively.

Re: Question 1 - Not sure how technically complex this would be, but if the script were to pull down the first complete copy of the site and then in subsequent folders pull down only files that are different, that would again be useful to my case of wanting a complete archive of my old sites.

Re: Question 1 - should be really simple, by specifying showDupeCount=true when calling the API.
Re: third option, and in addition to Re: Question 1: The collapse param can be used to further filter on month or days.

Thanks again for these suggestions! Version 0.3.0, now on the develop branch, includes both these features, and moves the library away from Memento TimeMaps to the CDX search.

You can get uniques only by passing the --uniques-only flag.
You can pass a CDX collapse string to --collapse

Along the lines of what you were hoping?

@jsvine awesome!
The readme should probably be updated to reflect these additions. Also, it may be good to provide some examples of the collapse parameter in the documentation (either as feedback from the script, or in the wiki or so).
Cheers,
Erik

Great! The changes haven't been merged into master yet; the new README can be found on the develop branch. Reflects the new additions, and links to documentation for the collapse parameters.

Now in master and pushed to PyPi.


ROCANA-10331: Process reports CPU usage percent

Adds Windows and Linux implementations of percent CPU usage. These assume relatively frequent collection intervals, and the Percent* fields from ProcTime are not valid until Diff() is called. Diff() calculates the CPU usage over the interval between the previous reading and the current reading.
Windows' CPU usage is gathered via the WMI class Win32_PerfFormattedData_PerfProc_Process. Because WMI provides an instantaneous percentage of CPU usage, it is technically not necessary to call Diff() to compare the counters with the previous value.
Linux CPU usage is calculated by reading /proc/stat and /proc/<pid>/stat. The Diff() is necessary to compare against the previously collected values.
Darwin's Diff() method is stubbed out.

Thanks for the review @matthew-dailey! Will merge when CI completes.


UPDATE README (I eventually figured out that it is a "Server-side API" )

If you wish to spare time of other programmers, you should state (Clearly) in the first place that this JavaScript library work on server side because  JavaScript being used most on client side we can't immediately understand especially if you assume that the people don't all speak a perfect English, and that some other JavaScript API like the Soundcloud API work the other way around on client side.
//PLEASE Change this : "JavaScript client library for the Tumblr API"
//TO THIS  "JavaScript (not really client library  because it work on the server) for the Tumblr API"

"JavaScript (not really client library because it work on the server) for the Tumblr API"

It doesn’t only work on the server. You could write a script that you run with node on your local machine. “Client” doesn’t mean browser, it means client in the client-server model.

Yep - and this is actually used client-side in api.tumblr.com/console

Ok sorry and I didn't see it.


May I know how to solve this problem or is it cause by the Cuda version or library?

File "/home/ling/Desktop/Deep3DFaceRecon_pytorch/util/preprocess.py", line 195, in align_img
trans_params = np.array([w0, h0, s, t[0], t[1]])
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (5,) + inhomogeneous part.

Same error

@luchaoqi Thanks, It worked :)


Extend OCR template to better support token classification

Is your feature request related to a problem? Please describe.
TLDR: Lock bounding boxes to better support token classification with a new editable option. Only a very small feature in code that would result in a substantial improvement for the process!
Token classification (for documents) has gained considerable traction over the last years. Recent models such as the LayoutLM family by Microsoft push the boundaries of what is possible.
For Label Studio the workflow is as follows:

A PDF document is converted to images and for each word (token) the respective bounding box and text information is send to Label Studio.
The user assigns some of the bounding boxes (from the text layer of the PDF/ OCR engine) to a class. For receipt understanding, e.g. "total sum".

Problem: Using the custom template based on the provided OCR template the user can assign each bounding box to a class. But he/she can also edit the shape of the bounding box itself. For the task of token classification, this is unwanted behavior. Only the class needs to be changed.
Describe the solution you'd like
Similar to the text area it would be great to have a editable option for the polygon/ bounding box to lock it.
Describe alternatives you've considered
An alternative would be to tell the labeling personnel not to move the bounding boxes or to realign them via post-processing.
Both solutions are not feasible because firstly, mistakes such as accidentally moving the polygons will happen eventually (and might cause confusion) and second, re-creating the original polygon positions is hard to achieve especially for edge cases.

Thank you for your idea!
Something that you can check now - read-only regions:
https://labelstud.io/guide/predictions.html#Read-only-and-hidden-regions
read-only doesn't allow to modify bboxes at all, but maybe it will work for you too.


We can improve the footer further and make it more attractive.

Let's enhance the footer to make it even more appealing and captivating.
If you assign this to me, I will help improve the footer and make it more attractive.

Ok

I really like your app and want to work on your project ,please assign this issue to me under gssoc-ext 2024


Pilot - Is there a way to add a tester to a Group?

New Issue Checklist

[ x] Updated fastlane to the latest version
[x ] I have read the Contribution Guidelines

Issue Description
We have many different groups and I'd like a way to add new testers to specific groups in TestFlight. Is there a way to do that with Pilot?

@bpham711 pilot doesn't currently have support for groups. I'm marking this as a feature request so we can see if there is interest. Thanks!

I am interested. Just tried to include groups in the import csv :)

@wacheski Have you checked out spaceship? You might be able to get it working there.

@bpham711 Thanks. I don't see group support yet, but will have a closer look.

👍

A beautiful thing. Works great. Thanks!


launch different seeds simulateously

HI, I want to test different seeds for example/sac.py at the same time.
I use the function named run_experiment_here, but the variant['seed'] should be int.
I use a list such as following:
    for seed in seeds:
        run_experiment_here(experiment_function=experiment, variant=variant,
                        exp_id=seed, seed=seed, snapshot_mode='gap', snapshot_gap=10, exp_prefix='HalfCheetahEnv')

The error is
Traceback (most recent call last):
  File "/home/ur/RL_code/torch/rlkit/examples/il_sac.py", line 124, in <module>
    exp_id=seed, seed=seed, snapshot_mode='gap', snapshot_gap=10, exp_prefix='HalfCheetahEnv'+str(seed))
  File "/home/ur/RL_code/torch/rlkit/rlkit/launchers/launcher_util.py", line 166, in run_experiment_here
    return experiment_function(variant)
  File "/home/ur/RL_code/torch/rlkit/examples/il_sac.py", line 89, in experiment
    algorithm.train()
  File "/home/ur/RL_code/torch/rlkit/rlkit/core/rl_algorithm.py", line 46, in train
    self._train()
  File "/home/ur/RL_code/torch/rlkit/rlkit/core/il_batch_rl_algorithm.py", line 64, in _train
    gt.stamp('evaluation sampling')
  File "/home/ur/anaconda3/envs/rlkit/lib/python3.5/site-packages/gtimer/public/timer.py", line 151, in stamp
    _stamp(name, elapsed, unique, keep_subdivisions, quick_print)
  File "/home/ur/anaconda3/envs/rlkit/lib/python3.5/site-packages/gtimer/public/timer.py", line 698, in _stamp
    _loop_stamp(name, elapsed, unique)
  File "/home/ur/anaconda3/envs/rlkit/lib/python3.5/site-packages/gtimer/public/timer.py", line 714, in _loop_stamp
    _init_loop_stamp(name, unique)
  File "/home/ur/anaconda3/envs/rlkit/lib/python3.5/site-packages/gtimer/public/timer.py", line 725, in _init_loop_stamp
    raise UniqueNameError("Duplicate stamp name (in or at loop): {}".format(name))
gtimer.local.exceptions.UniqueNameError: Duplicate stamp name (in or at loop): evaluation sampling

Maybe  run_experiment can do it, but the same error happens again.
    for exp_id, variant in enumerate(sweeper.iterate_hyperparameters()):
        print('exp_id:{1},variant:{0}'.format(variant, exp_id))
        for seed in seeds:
            run_experiment(
                experiment,
                exp_prefix=exp_prefix,
                mode=mode,
                seed=seed,
                exp_id=exp_id,
                variant=variant,
                use_gpu=True,
                snapshot_gap=100,
                snapshot_mode='gap_and_last',
            )

I run it by anaconda.
Could you please help me? Or is anyother function can launch different function that can do it?

I believe you can fix this by adding gt.reset_root() at the end of the BatchRLAlgorithm constructor.
Add it at: rlkit/core/batch_rl_algorithm.py  line 43

I encountered this issue as well, and @kovacgrgur 's solution works! @vitchyr @anair13 would you mind adding this in?

Feel free to make a PR and I'll merge it in!

@vitchyr here it is: https://github.com/rail-berkeley/rlkit/pull/142


Inspect X-Original-URI header and allow internal URLs

This PR helps with #411. If you send your original request uri via the header X-Original-URI it will be taken into consideration when authenticating the request. This makes it easier to use oauth2_proxy as auth_request service with nginx. For example the nginx based ingress for kubernetes doesn't allow you to enforce authentication only for selected locations, so oauth2_proxy needs to allow the oauth2 callback urls etc.
Here is an example ingress config for use with oauth2_proxy
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: internal-ingress
  annotations:
    ingress.kubernetes.io/auth-url: "http://oauth2-proxy.default.svc.cluster.local:8080/oauth2/auth"
    ingress.kubernetes.io/auth-method: "GET"
    ingress.kubernetes.io/auth-response-headers: X-Auth-Request-User, X-Auth-Request-Email
    ingress.kubernetes.io/configuration-snippet: |
      add_header Set-Cookie $auth_cookie;
      auth_request_set $auth_cookie $upstream_http_set_cookie;
      auth_request_set $user   $upstream_http_x_auth_request_user;
      auth_request_set $email  $upstream_http_x_auth_request_email;
      proxy_set_header X-User  $user;
      proxy_set_header X-Email $email;
      error_page 401 /oauth2/sign_in;

    kubernetes.io/ingress.class: "nginx"
    ingress.kubernetes.io/force-ssl-redirect: "true"
    ingress.kubernetes.io/ssl-redirect: "true"
spec:
...

An alternative, for your special case, would be to use oauth2_proxy in the basic "proxy mode" (instead of "auth_request" mode) in front of the kubernetes ingress.

I am using oauth2 with kubernetes as well, this is much needed!
@dereulenspiegel as a side question:
Would your example populate the x-user header the kubernetes apps sees?
Example with the mail-address of the user if using the google oauth provider?


Problems with using Datasketches in Spark applications.

Hi,
I'm using ThetaSketches in my Spark application. I started by following the outline described in the Example of using ThetaSketch in Spark documentation.
Sketches become serializable through Java's ObjectInputStream and ObjectOutputStream. But since this is also used by Spark for its own serialization/deserialization (during shuffling, etc) I am hitting the size limit for the stream. The limit is 2GB, and is set by the jdk.
I was wondering what other options exist for massively parallelizing Sketches inside Spark apps.
Any thoughts, ideas are welcome. Thanks!

Sorry for the late response, but we are not familiar enough with Spark’s internals to give much guidance here.  I would try some of the Spark community blogs or mail lists.


Any plans on making Next.js integration?

Hey!
Are there any plans to make a React / Next.js version?

Thanks for bringing this up. I think the integration should be done from their side. Please create issues there instead.

We need Next.js support, really! Hope it can be added soon!


Update deprecated model in exemple

What:

[X] Bug Fix
[ ] New Feature

Description:
Current model used in exemple is deprecated

As OpenAI recommend to replace by gpt-3.5-turbo-instruct
https://platform.openai.com/docs/deprecations/instructgpt-models

Thank you Dylan!

It's the same example on the laravel integration, if you want to fix it there as well.
https://github.com/openai-php/laravel/blob/main/README.md?plain=1#L49

@GromNaN your link with the line highlighted show the v1/chat/completions endpoint and not v1/completions here
($client->completions() =/= $client->chat())
So all good! 😄


Add GET OUT by DAGamees

Song Name
GET OUT
Artist Name
DAGamees
Source
Youtube
Youtube Link
ziaf3RrG80U
Direct File Link
No response
Song ID
475234
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 107577910
Downloaded: No

yo 28 aug💀

reject
popular songs like "RUN!" are too inconvenient to be replaced by smth unrelated and are therefore usually rejected.
Note that you can still use the song yourself, but it won't be public


Transfer to marshmallow-code?

@sloria - Having a bit of a clean out and wondered if we should consider transferring this repo to your marshallow-code org?

I am good with that.

Okay, looks like I'd need create-repo permissions in that org in order to do the transfer.

Could do that and then remove me after, or else just punt on it.

The easiest way would be to transfer to personal account (sloria), then I'll do the transfer to marshmallow-code.

Good plan

You'll need to delete your fork first.

Done.

Transfer request sent. Thanks @sloria!

Done. Thanks.

@tomchristie How are docs built? They are currently out of date.

Tho very welcome to bring 'em into line with your other projects if wanted.

Thanks @tomchristie . That worked. I think the current docs work just fine. No need to change what isn't broke =).


Water forgets to slide and equalize.

This is more obvious when you increase the sliding and equalization distance (both set to 32 for this test). The water just forgets to slide and equalize and needs to be manually updated to work again (for example with a flint n' steel). Sometimes water that's already moving towards the hole also just freezes in place for no reason and needs to be updated again to resume.
Initial state:

After forcing block updates: (issue #21 also visible)

If this cannot be easily fixed perhaps water could be made to update using random ticks instead of block updates which'd let it eventually sort itself out on it's own without requiring the player to run around updating every water block manually.
(pretty sure liquids used to be affected by random ticks before update 1.13 btw)

nice analysis :+1: . It would be nice to see if the newer version (nightly) has the same issues.
also fyi the new fluid system has random fluid ticks


Default Sandcastle to 3D Tiles tab/example

via @GatorScott and 👍 from me.
Given the importance of 3D Tiles, perhaps Sandcastle should default to the 3D Tiles tab at the bottom and/or a 3D Tiles example.

This might still be a good idea but the "3D Tiles Interactivity" Sandcastle isn't necessarily a great first impression of what Sandcastles can do. One fix could be to write an updated and simple Sandcastle with more than a blank globe that's easy enough to understand.

Closing as we'll want to curate a helpful selection of example for the first tab.


Tests

One thing we should keep in mind are the tests. We should try to submit tests as well if any new function or a feature is added.

 Will add them 👍🏻

I can work on the tests. I will open a PR soon

I just added basic structure for the database tests. Merging it right now.

@soerenlemke it would be better to split the tests right? Like first lets rename every file inside the database folder -> Just remove the database_ from their names (database_setup.go will change to setup.go). I believe since they are already inside the database folder, the additonal database_  prefix is unnecessary. Then we can split the tests into setup_test.go, connection_test.go and so on. I believe this is the best practice for Go as well.

@soerenlemke #7 This was what i was talking about. If its looks good, i can work on the tests using that format.

Looking good! Just merged it :)

@soerenlemke For the get tables and table columns, what would be the failing tests? If the db file is invalid it would be already caught by NewDatabase, so we cant give a invalid file to that. So should i just add tests for valid db files?

Thats right, so lets only do the tests for valid db files.

Will do later today when i get time 😄

No stress :)

Basic tests are implemented. Should we close the issue @vyshnav-vinod ?

Yes we can close this @soerenlemke


Refactor search function

This addresses multiple issues, nearly all of those tagged SEARCH. The PR:

introduces a new plugin called options-search, which replaces search-bar almost seemlessly
modifies plugin page-styling to remove the right-hand tile. This was hidden before. The tile was introduced to provide a frame for the search results to be presented. The approach was not liked, so there is no need to have the HTML for it.
The options-search search bar contains an icon to the right with an (i) and a tooltip saying search options
Pressing on the i icon generates a modal frame with the various options available and the short cuts.
The search is completely refactored. Instead of a JQuery plugin, the Autocomplete.js vanilla function suggested by Altai-Man is used. It is simpler and cleaner than the previous search js.
The shortcut Ctrl-F sets the focus on the search
The search data is only pulled from the site when the search bar first receives focus. So there is a wait only when a search is desired.
The search is completely navigable using keyboard keys.
When a search is completed, the requested page is opened in a new tab by default (an option that can be changed)
various filters can be applied to the search, with the shortcuts affecting the search in real time.
option values are all stored locally and affect all searches until changed.
the search works better in the mobile version (but this probably needs tweaking)

Finally, the new functionality can be seen at new-raku No doubt there are things that could be improved. Currently, its necessary to navigate to a search candidate and click, rather than the first candidate being automatically selected. Not sure if this is a bug or a feature.

@coke @2colours @lizmat @Altai-man please look at the new search live on new-raku
As agreed during the consultation, the proposed changes to the UX were done incrementally, but it was recognised the search change would be a bit larger.

When a search is completed, the requested page is opened in a new tab by default (an option that can be changed)

The derfault seems to be same tab, which IMO is correct.

It looks quite cool! One minor note, is that me or I cannot select all with Ctrl+A in Firefox?

I think it's good to give it some time; I want to play with it a bit more myself. I agree that it looks nice and quite efficient now. :)
Is it okay to spread the word a bit so that interested people can try this version on your site? I was thinking about dropping the link on IRC and the mailing list where the Raku Study mates usually hang out.

@Altai-man Ctrl-A opens the contents panel. On the landing page, there is no contents tab, so Ctrl-A has no effect. We could change Ctrl-A to something else. Ctrl-C is used for too much so not good. Maybe Alt-C?
@coke My own preference is for selection to another Tab. The option is easy to change, so its just the default. Its going to be a matter of preference and people are going to differ. What principle can be used?

Ctrl-A opens the contents panel. On the landing page, there is no contents tab, so Ctrl-A has no effect. We could change Ctrl-A to something else. Ctrl-C is used for too much so not good. Maybe Alt-C?

Oh, that's interesting usage. To me Ctrl+A is the part of my muscle memory for "select all", similar to Ctrl+C, Ctrl+V, Ctrl+X and other siblings.
Almost all input fields I meet daily support this hotkey in this way. By default, Firefox selects all visible text on the page of no focus, and selects all text in an input if it's focused. So I was surprised to see it doesn't work by default.
However, "select all" is just a part of how I edit (often it is less efficient to use backspace to delete every character one by one, so I select all with Ctrl+A and to backspace once, then type a new thing). I have no statistics if such behavior is common though, I remember my informatics teacher scolding me that it's faster to navigate with arrow keys, do a backspace and fix a typo rather than re-typing a whole word by scratch. :D
My gut feeling is most people whose life is not related to coding/typing would not depend on that, but I have no idea on how prevalent is that with programmers.
Anyway, just my 2c.

I agree, probably we aren't a representative sample but I can't imagine somebody would anticipate or comfortably use a fundamental shortcut with a highly unusual meaning. Ctrl+C/X/V/A/R/W shouldn't be used at the very least, and I tend to use even Ctrl+L or Ctrl+E sometimes for the browser.

Some new things that I noticed:

when I get something like this, how can I access the remaining results?
Also, how to get the Google search without opening up that info menu?
How can the info menu opened without pressing the button? Is there a shortcut for that as well?

@Altai-man  @2colours I agree Ctrl-A should be replaced. And I agree with @2colours that shortcuts should avoid common editing ones.
All the search options have 'Alt-' shortcuts.
How about 'Alt-T' to open the Table of contents?

@2colours All autocomplete plugins that I am aware of limit the number of candidates. I set the limit to 20. Some table sort functions have a paging option to see other candidates. The current output is a limitation related to the autocomplete.js library used here.
The work around is to add more letters to the search.
The current output is

I agree Ctrl-A should be replaced. And I agree with @2colours that shortcuts should avoid common editing ones.

Cool, glad to see it tweaked!

The current output is

?

@coke My own preference is for selection to another Tab. The option is easy to change, so its just the default. Its going to be a matter of preference and people are going to differ. What principle can be used?

This isn't just a matter of preference, IMO - clicking on a link in a site has defaulted to opening in the same window for decades, in my experience. (again, IME) The only time it's typical to open a new tab without having the user select that option when clicking, is if you have a web app and have an external link that takes you out of the app. Folks, please speak up if you have a recommendation here.

@2colours All autocomplete plugins that I am aware of limit the number of candidates. I set the limit to 20

Can we add a backlog item to have an option to click to a page showing all results in line instead of in the dropdown? (Or a way to page the results in line or on the separate page?)

@coke @2colours I've been looking at the configuration documentation for autocomplete and there do seem to be the hooks for getting more of the 'resultsList'.
Some help in modifying the JS in `Website/plugins/options-search' would be appreciated.
My idea is to intercept 'PageDown' and 'PageUp' keys and for them to move through the items using the MoveTo function in the API.

@coke I will change the default to open in current tab.

@coke you said:

The current output is

?
I don't understand. The comment comes after a small commit to change the icon next to the search bar from a font-awesome info icon, which is an 'i' to a font awesome cogs, which looks like some cogs in gear.

@coke you said:

The current output is

?

I don't understand. The comment comes after a small commit to change the icon next to the search bar from a font-awesome info icon, which is an 'i' to a font awesome cogs, which looks like some cogs in gear.

You ended with this in a previous comment, so I was hoping you could explain. I was expecting a picture or some text to follow.

@coke Options search bar was

And after comit is

Latest commits visible on new-raku eg reference page

@2colours @coke Regarding the limitation of matches to 20:

the partial rendering of matches to 20 is removed, so all matches are rendered

latest changes visible now on new-raku.
@coke all suggestions about search function to date have now been included.
Please let me know if there are more changes to functionality you think need adding.
Otherwise, I think I have finished what I wanted to do on search. This patch should close about a dozen separate issues labelled 'search'

@finanalyst - i think this addresses my comments, for sure.
I found a minor issue: search for something, scroll down. cancel search. search for something else: scroll is in same position, you have to manually scroll back up.

latest version visible on new-raku
@coke changes reset scrolling on new focus and when input changed
Also added feedback about Engine state. Just thought this might be good.
No one seems to disapprove of this new functionality. Can we merge  branch to main? Can we close out the various issues?

@dontlaugh, @finanalyst - test build failed on the cro tests. finanalyst's site looks good, though.

Note that I fixed the build by just clicking rebuild. Perhaps the Cro-related failure was just flakiness.

Note that I fixed the build by just clicking rebuild.

I couldn't see where to do this.

Ctrl-F should not focus on search. That's going to hurt a lot of workflows.

Oh, agreed. I didn't realize this because I'm on a mac, and command-f was still built in search. I think the easy fix here is to make the default to not enable this, and if someone wants it they can turn it on.

Ctrl-F should not focus on search. That's going to hurt a lot of workflows.

+1 to this – and to the general principle of not stomping on built-in shortcuts if at all possible.
Of course, in an ideal world, we'd let users set their own shortcut keys.  I'm not suggesting that we add that now, but it could go on a wish list.
(If we're interested in doing that one day, it might be worth refactoring the relevant code to use an object that maps from assigned-key(s) → command instead of including the commands inline.  That way, as we add new commands, they'll all be in a single place if we later decide to make them configurable.)

e

I also think we should not touch CTRL+F. / is the common alternative (e.g. on GitHub).

@Patrick Böker @.***> Problem with / is that it is
difficult to search for /. Alt-/ would be much easier.
On Mon, 25 Sept 2023, 08:39 Patrick Böker, @.***> wrote:

I also think we should not touch CTRL+F. / is the common alternative
(e.g. on GitHub).
—
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc-website/pull/298#issuecomment-1733090618,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYZHAU3QE25IJXDVWOADDX4EYKHANCNFSM6AAAAAA4ZAK3UQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I suppose we could have some config modal form that is activated from the
navigation->more dropdown.
Default shortcuts could then be over-ridden by the user and put in local
storage.
On Sun, 24 Sept 2023, 17:21 Daniel Sockwell, @.***>
wrote:

Ctrl-F should not focus on search. That's going to hurt a lot of workflows.
+1 to this – and to the general principle of not stomping on built-in
shortcuts if at all possible.
Of course, in an ideal world, we'd let users set their own shortcut
keys. I'm not suggesting that we add that now, but it could go on a wish
list.
(If we're interested in doing that one day, it might be worth refactoring
the relevant code
https://github.com/Raku/doc-website/pull/298/files#diff-8393dc27cf07fe854afd4bd261cf1aef4c20dde41d21544c776bdbb750b924fdR234-R256
to use an object that maps from assigned-key(s) → command instead of
including the commands inline. That way, as we add new commands, they'll
all be in a single place if we later decide to make them configurable.)
—
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc-website/pull/298#issuecomment-1732612387,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYZHELM2S6JZSLESHSYX3X4BMXPANCNFSM6AAAAAA4ZAK3UQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Agreed that Ctrl-F is used Elsewhere, it would make sense to unify all
shortcuts to Alt-????
Table of contents is toggled with Alt-T, all search shortcuts are Alt+???
Would there be an objection to Alt-F to focus on search?
On Sun, 24 Sept 2023, 17:14 Will Coleda, @.***> wrote:

Ctrl-F should not focus on search. That's going to hurt a lot of workflows.
Oh, agreed. I didn't realize this because I'm on a mac, and command-f was
still built in search. I think the easy fix here is to make the default to
not enable this, and if someone wants it they can turn it on.
—
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc-website/pull/298#issuecomment-1732611112,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYZHHWK7QWT4PMZDIFI7TX4BL7RANCNFSM6AAAAAA4ZAK3UQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

In many window managers, Alt+F opens the file menu. This could also be a problem for accessibility.
As a practical matter, we could defer this entirely: remove the changes related to keyboard shortcuts. They can be added in a small PR later on if we find a general solution.

I suppose we could have some config modal form that is activated from the navigation->more dropdown. Default shortcuts could then be over-ridden by the user and put in local storage.

Yeah, that's the sort of thing I was imagining.  But I think that's more of a "one day" thing than a "part of this PR" thing (unless you're feeling really ambitious).

Problem with / is that it is difficult to search for /. Alt-/ would be much easier.

I might be missing something, but why would anyone be likely to search for /?  I would imagine that people would be more likely to search for keyboard shortcuts or hotkeys, etc.
Also, I kind of like how GitHub solves the discoverability issue with /: by having the default text in the search bar be "type / to search (shown below).

Would there be an objection to Alt-F to focus on search?

In many window managers, Alt+F opens the file menu. This could also be a problem for accessibility.

Yeah, I was going to mention that too.  In addition to accessibility issues, there are also some setups that hide the menu bar unless it's opened with an Alt command.  But I also agree that we could bikeshed about which keyboard shortcuts forever without coming up with ones that are perfect for everyone.

(Oh, and on setups where Alt-f creates accessibility/other issues, the ToC shortcut of Alt-t creates the same issues: it opens the tools menu)

I think there's no good universal answer here, but if there is, we should steal it from someone else who spends a lot of time on UI/UX (like github).
I agree, if we can skip the keyboard shortcuts for now and keep  everything else, the work done so far is a big improvement and I'd love to merge that.

Please no... think of people who don't use US layout and don't make the search open for something as obscure as /... it's not just an arbitrary non-alphabetic character and therefore by definition unintuitive but it is essentially a "shortcut" in itself for me, namely shift+6. I prefer any shortcut over non-alphabetic characters that make no logical sense and just happen to be easy to access on the US layout.
By the way, Github actually overrides ctrl+f in its online editor in a somewhat arbitrary fashion... but sure, perhaps it shouldn't trump the browser's search.

Shortcuts are clearly a matter of taste, so nothing is going to satisfy
everyone.
Users of this site from a mobile or tablet do not have the search window
open by default (the hamburger needs to be clicked).

So a keyboard shortcut for 'search' is a high priority.

Within the search there are options that can be toggled using keyboard
shortcuts. I have found these quite useful (eg changing the loose/strict
filtering, removing/adding 'headers' as a source of information or
removing/adding the extra information) and seeing the result live.

I would prefer to see these shortcuts work by default.

The ToC toggle shortcut is not as much a priority but I would like to
have one.

So I propose:

Adding a new button under 'navigation bar->more' to turn off all
shortcuts (with the aim of replacing it with a more flexible config panel
in the future). This way if any of the options irritate a user, they can be
removed. A simple on/off is easy to do quickly than a generic config.
For clarity, this would only turn off the keyboard shortcuts and the search
options can still be accessed via the 'cogs' popup panel.
Stick with Alt-F for search, Alt-T for ToC, and the current search
options.

When I get the configurable options working, they can then all be switched
off or changed.
I thought about having the 'more' option an opt in (default is no keyboard
shortcuts), rather than opt out (shortcuts are the default), but I think
any new user will play around to see what works before deciding whether the
defaults are annoying.
I can probably do this by the weekend. Not sure when a generic config can
be done.
Richard (finanalyst)
On Tue, 26 Sept 2023, 10:38 Márton Polgár, @.***> wrote:

Please no... think of people who don't use US layout and don't make the
search open for something as obscure as /... it's not just an arbitrary
non-alphabetic character and therefore by definition unintuitive but it is
essentially a "shortcut" in itself for me, namely shift+6. I prefer any
shortcut over non-alphabetic characters that make no logical sense and just
happen to be easy to access on the US layout.
By the way, Github actually overrides ctrl+f in its online editor in a
somewhat arbitrary fashion... but sure, perhaps it shouldn't trump the
browser's search.
—
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc-website/pull/298#issuecomment-1735183950,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYZHEWSNFEQP3UE5U2HL3X4KPB3ANCNFSM6AAAAAA4ZAK3UQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

So I propose [the plan]

I like that plan.  It moves us forward and avoids needless bikeshedding.  One minor suggestion:

Adding a new button under 'navigation bar->more' to turn off all shortcuts

This should probably have a keyboard shortcut for accessibility reasons.  That way, if the current shortcuts are shadowing anything, someone can disable them without needing a mouse.

Not sure when a generic config can be done.

No promises, but I might have time to help with this/send in a PR.  It'll give me a chance to see just how rusty my js skills have gotten :grin:

Ctrl-F should not focus on search. That's going to hurt a lot of workflows.
/ is a safer common idiom for focusing the search bar.
Let's also not merge with failing tests. What are our alternatives?

'/' has too many negatives. Changing to Alt-F for search focus. Plan is for Opting-out of keyboard options. In future all shortcuts will be configurable.
So rejecting review.

There should be something hinting at the shortcuts, so that casual users get a chance to know and use them. Greyed out text in the search field (similar to what GitHub does) is a good start. Given there are many shortcuts available there should be some obvious overview where people stumble over. Maybe a button labeled "shortcuts" and having some keyboard keys as an icon in the menubar?
On September 27, 2023 9:12:44 PM GMT+03:00, Richard Hainsworth @.***> wrote:

Ctrl-F should not focus on search. That's going to hurt a lot of workflows.
/ is a safer common idiom for focusing the search bar.
Let's also not merge with failing tests. What are our alternatives?

'/' has too many negatives. Changing to Alt-F for search focus. Plan is for Opting-out of keyboard options. In future all shortcuts will be configurable.
So rejecting review.
--
Reply to this email directly or view it on GitHub:
https://github.com/Raku/doc-website/pull/298#issuecomment-1737864073
You are receiving this because you commented.
Message ID: @.***>

@patrickbkr All items with shortcuts have a 'title' attribute. When there is a mouse hover, the shortcut is given as a 'tool tip'

@coke in order to turn off all shortcuts, I am refactoring the 'page-styling' plugin. Should this be made a part of this PR, or a separate PR?
If it is made a separate PR, then the options-search can be merged into main.
Another PR can then be made to enable options-search and disable search-bar.

@coke the changes to the page-styling were quite substantial in order to group the keyboard shortcuts together. There was a need to slightly refactor the search to make them consistent.
So all the changes are here in one PR.
The updated behaviour is online at new-raku eg reference
Try Alt-T for the ToC, Alt-F for the search. Try toggling the shortcuts off, and then Alt-T will be the browser default.


add support of relocatable unikernels

prepare uhyve to support relocatable unikernels
in the future, only relocatable binaries are supported

this PR depends on rust-lang/rust#75843

Why is the hello world benchmark example know 2MB big? The old one was just 1.3MB.

I don't strip the program. Now it has a size of 1.8 MB. The code size must be large. We have a relocation section in the elf file and more indirect jumps in the code.

I merge the PR. Later I will analysis the performance. Currently, we a running version is required to test our kernel.


step/dir velocity tracking PLL and vel feedforward

Per discussion in Discord:

Set up TIM5 as a free-running counter
Timestamp each incoming step or PWM pulse  (#65)
Determine velocity in motor_thread every cycle

See also: #110 about setpoint filtering.

merged to #110 .


trouble with yaml

Which version are you using?
v0.12.1
Which operating system are you using?
Linux
Question
I have problems configuring rtsp-simple-server as a proxy for an ethernet cam with rtsp capabilities
I have linked through ddns "SomeSite" to the dynamic ip of my router.
On this router, I do port forwarding 8554 to the 554 port of my ip cam with rtsp
I can acess the video stream through vlc, with
rtsp:// <IP_ADDRESS>:554/ipc
rtsp://SomeSite:8554/ipc
yet, when I do
paths:
proxied:
source: rtsp://SomeSite:8554/ipc
sourceOnDemand: yes
it fails miserably when I try to access the video stream in the vps with the stream sever through
rtsp://MyVps:8554/proxied
I get those errors :
rtsp source ERR: server ports not provided
I also tried
paths:
proxied:
source: rtsp://user:pass@SomeSite:8554/ipc
sourceOnDemand: yes
And I get the same error
Can you please give me some pointers ?

I have tested some more
when I open rtsp://someSite:8554/somePath/trackID=0 in vlc,
the stream server complains that the controlpath  trackid=0 is invalid (it is not prefixed by trackID because there are no caps)
Also, I don't know what trackID is (I have an ipcam with a main and a secondary stream, maybee this is it ?)

Hello, in my opinion you can fix this problem immediately by using the sourceProtocol: tcp parameter:
paths:
  proxied:
    source: rtsp://user:pass@SomeSite:8554/ipc
    sourceOnDemand: yes
    sourceProtocol: tcp

Regarding the case in which sourceProtocol is udp (the default value), it's a communication bug between the server and the camera, please to the following:
The most helpful content you can provide to fix a communication issue between rtsp-simple-server and an external hardware or software, is a dump of the data exchanged between the server and the target (network dump), that can be generated in this way:

Download wireshark (https://www.wireshark.org/)
Start capturing on the interface used for exchanging RTSP (if the server and the target software are both installed on your pc, the interface is probably "loopback", otherwise it's the one of your network card)
Start the server and replicate the issue
Stop capturing, save the result in .pcap format
Attach

I'll try both things. Thanks for the help

in vlc, if I open with rtsp://site:8554/proxied   it complains that there is no control attribute
if I open with rtsp://site:8554/proxied?/trackID=0  it complains that the control attribute is invalid
Maybe it fails before it uses the source configuration
I was using
protocols: [tcp]
so udp is not an issue, probably (I'm a beginer in tcp.udp/network thingies so...I might be wrong)
what is a control attribute ?
I'll try with wireshark next, I remember using that in the past like 10+ years ago

let's try to find where the bug is, ok?
From what i understood, this is your setup:
camera --> router -> dns (dyndns or similar) -> rtsp-simple-server -> vlc

can you post the log of rtsp-simple-server, so we can understand if the stream arrives or not?
If the log contains something like
rtsp source is ready

it means that the stream arrives to the server - afterwards, you can test VLC (do not add trackID=0 to the path, it's useless).

Indeed, I have

camera -> local routeur (behind a dynamic ip)

vps with rtsp-simple-server (acting like a rtsp proxy)

I open on my local comp connected to the local routeur in vlc with rtsp://vps:8554/proxied

when doing rtsp://vps:8554/proxied
I get (in standard out, <IP_ADDRESS> is my dynamic ip today)
020/11/25 23:03:13 [0/0/0] rtsp-simple-server v0.12.1
2020/11/25 23:03:13 [0/0/0] [TCP server] opened on :8554
2020/11/25 23:03:28 [1/0/0] [client <IP_ADDRESS>:33520] connected
2020/11/25 23:03:28 [1/0/0] [client <IP_ADDRESS>:33520] OPTIONS
2020/11/25 23:03:28 [1/0/0] [client <IP_ADDRESS>:33520] DESCRIBE
2020/11/25 23:03:28 [1/0/0] [path proxied] rtsp source started
2020/11/25 23:03:28 [1/0/0] [path proxied] connecting to rtsp source
2020/11/25 23:03:33 [2/0/0] [client <IP_ADDRESS>:33522] connected
2020/11/25 23:03:33 [2/0/0] [client <IP_ADDRESS>:33522] SETUP
2020/11/25 23:03:33 [2/0/0] [client <IP_ADDRESS>:33522] ERR: unable to find control attribute (rtsp://vps:8554/proxied)
2020/11/25 23:03:33 [1/0/0] [client <IP_ADDRESS>:33522] disconnected
2020/11/25 23:03:38 [1/0/0] [path proxied] rtsp source ERR: dial tcp <IP_ADDRESS>:554: i/o timeout
2020/11/25 23:03:38 [1/0/0] [client <IP_ADDRESS>:33520] ERR: publisher of path 'proxied' has timed out
2020/11/25 23:03:38 [0/0/0] [client <IP_ADDRESS>:33520] disconnected
2020/11/25 23:03:43 [0/0/0] [path proxied] connecting to rtsp source
2020/11/25 23:03:48 [0/0/0] [path proxied] rtsp source stopped

2020/11/25 23:03:28 [1/0/0] [path proxied] rtsp source started
2020/11/25 23:03:28 [1/0/0] [path proxied] connecting to rtsp source
2020/11/25 23:03:38 [1/0/0] [path proxied] rtsp source ERR: dial tcp <IP_ADDRESS>:554: i/o timeout

this means that the server is unable to contact your camera - check routers / nat / firewalls in between.
2020/11/25 23:03:28 [1/0/0] [client <IP_ADDRESS>:33520] connected
2020/11/25 23:03:28 [1/0/0] [client <IP_ADDRESS>:33520] OPTIONS
2020/11/25 23:03:28 [1/0/0] [client <IP_ADDRESS>:33520] DESCRIBE
2020/11/25 23:03:33 [2/0/0] [client <IP_ADDRESS>:33522] connected
2020/11/25 23:03:33 [2/0/0] [client <IP_ADDRESS>:33522] SETUP
2020/11/25 23:03:33 [2/0/0] [client <IP_ADDRESS>:33522] ERR: unable to find control attribute (rtsp://vps:8554/proxied)
2020/11/25 23:03:33 [1/0/0] [client <IP_ADDRESS>:33522] disconnected

This is VLC, that connects to the server, and waits for the stream without receiving any answer (since the server is unable to contact the camera). When VLC doesn't receive any answer, after a timeout it supposes that server has an old RTSP implementation, and tries to communicate with it by stripping important parts of the protocol (like the control attribute).
Therefore: these issues should be both solved when i'll be able to contact your camera from the server.

PS: try removing the sourceOnDemand: yes parameter, so the server connects to the camera before VLC connects to the server - maybe it helps.

I see. This helps a lot.
I'll look also in the port forwarding things of my router.
Best regards and have a good night. and many many thanks for the enlightement.

Oh.
Awesome (I love you).
My students are going to really like your software (and maybe a whole bunch of french teachers too ^^)

Oh.
Awesome (I love you).
My students are going to really like your software (and maybe a whole bunch of french teachers too ^^)

How did you resolve this issue if I may ask? Thanks !