FEATURE REQUEST: podman pod exec

Is this a FEATURE REQUEST
/kind feature
Description
Podman pod has no exec command. It would be handy to have a podman pod exec -it my-pod command to be able to access an interactive shell session in a pod.
Furthermore, the kubctl command has a exec sub command.
The exec command is handy to get a shell in a pod. This is useful for debugging and developing pods.

My initial impression would be to use podman exec on the pod's infra container, but that has a major problem - the infra container has nothing except a pause binary by default, so we have no shell, no tools, etc.
We could launch a sidecar container in the pod with an image including common tools (busybox might be sufficient) and give a shell into that.

Is the shell within the pod, actually in the primary (first) container?
I don't think kubernetes pod's have a shell, so it must be launched in the first container.

Hm, it seems k8s just shells into a container. If the pod has two containers, you can specify which. I'm not sure how it's decided which container is exec'd into if there are multiple but none specified, but following k8s logic could be done here.
The sidecar idea is a neat one.  Should it then be cleaned up after the session?

Dibs

If we go with a sidecar, I think it'd basically act like a container with --rm set - remove on termination.
Things to think about: Do we spawn a separate sidecar per exec session? I'd lean towards yes - it's more complicated, but it lets us use normal container attach instead of exec, which simplifies things quite a bit, and each exec session gets to be actually independent - no taking out all of them if the container goes down.

I'm thinking start following kubectl exec's lead, then maybe add a sidecar as an option as a future. Something like
podman pod exec -l --image=image-to-run /bin/bash as opposed to --container=container-that-exists

SGTM

@Jeeppler can you please take a minute and write a little more of a justification on why you need this? i think in general, we all understand but it would be helpful to write up a good use case so we have something to code against?
also, given we can add a container to a pod, why couldn't a user just do this manually?

As I mentioned in the original feature request:

The exec command is handy to get a shell in a pod. This is useful for debugging and developing pods.

Scenario 1: Development
To develop containers, I start with a stock image from Ubuntu, Debian, Fedora, Alpine etc. Then I add a simple shell script as the first program. The shell script looks like this:
run.sh
#!/usr/bin/env bash

echo "Container is running"
while true
do
    sleep 120
    echo "CTRL + C to stop"
done

the corresponding initial Dockerfile would look like this:
Dockerfile
FROM debian:stretch

# the lines to be added

COPY run.sh /run.sh
RUN chmod +x /run.sh
CMD ["/run.sh"]

I then figure out what I need to add to the Dockerfile. At the end I have a functioning container with only the needed dependencies for my project.
In many cases I do not know all the dependencies up-front, therefore I shell into the container and work with the package management tool, until I have the dependencies I really need and want.
Docker allows me to shell in the container (e. g. podman exec -it mypod bash) and add those dependencies. This makes the development process fast. Especially, since I am able to search for the package name in the container itself. Once, I know what I need and want, I add the packages to the container. Here is an example for Guile, an interpreted scripting language:
FROM debian:stretch

RUN apt-get update && apt-get dist-upgrade --yes

RUN apt-get install --yes \
			guile-2.0

RUN useradd developer

RUN mkdir -p /usr/src/code
RUN chown -R developer /usr/src/code
WORKDIR /usr/src/code

ADD run.sh /
RUN chmod +x /run.sh
USER developer

CMD ["/run.sh"]

While developing, I work on the files outside the container mounting the source code using docker-compose:
version: '2'
services:
  container:
    build: .
    container_name: guile
    volumes:
    - ./code:/usr/src/code

Note: Not sure how you can achieve the volume mount with podman.
However, you can also simply restart the container, copy the files in the container and run your application. Let us say you have the following Guile (Scheme) script:
hello.scm
#!/usr/bin/env guile
!#
(display "Hello, world!")
(newline)

In case podman has an interactive shell command you could shell into the container and execute the script in the container.
host $ podman exec -it guile bash
container $ $ guile --no-auto-compile hello.scm
Hello, world!

I demonstrated this with a scripting language, but you the same approach works for compiled languages as well. Compiled languages like C, Rust, Go etc.
To summarize this scenario. The podman exec -it <mypod> <shell> would allow one to develop container interactively and therefore more rapidly. While later adding the necessary commands to build the container into the Dockerfile.
Furthermore, it is possible to run and/or compile applications inside the container using an interactive shell. This allows developers to develop and run their applications even before committing code changes to a the git, svn etc. repositories.
In addition, a developer can add tests to the code and run the tests inside the container by getting an interactive shell through podman.
As demonstrated the  podman exec -it <mypod> <shell> would have many benefits for developers.
Scenario 2: Debugging
Let us assume something went wrong and your container crashes quite often. However, you are unable to pinpoint the issue for the crash.
Let us further assume you have a web server running and the web server + your application crashes. That means, everytime your application crashes the entire pod crashes and all the relevant information to pinpoint the problem are gone.
To pinpoint the issue you can change the entrypoint from your webserver start command to a simple bash loop. A bash loop like this:
run.sh
#!/usr/bin/env bash

echo "Container is running"
while true
do
    sleep 120
    echo "CTRL + C to stop"
done

An alternative approach would be to use a simple init system like s6 overlay.
Eitherway, once you have s6 overlay or the bash loop running, you can login into the container using podman exec -it <mypod> <shell>. Start your web server + application manually, wait until it crashes and inspect log files and other relevant information.

@baude can you explain your sentence below?

also, given we can add a container to a pod, why couldn't a user just do this manually?

Maybe the text below answers your question:
In my post above I assumed a pod with only one container. In a setup with multiple pods I still want to access directly a specific container. kubectl exec has a option -c to access a specific container. If the option -c is omitted, kubectl exec will choose the first container in the pod. That behaviour makes sense.
I want to have direct access to the container both for debugging and development. I do not want to have a sidecar container in the pod and to access my target container. I really want to have direct access to the container I either develop or debug. Extra constructs like sidecar container make the development and debugging more difficult.

@Jeeppler you already can achieve what you're talking about by either adding a container to the pod (podman run --pod PODNAME -it sh) or exec'ing in a container in a pod (podman exec -ti CONTAINERINPODNAME sh). A dedicated command (podman pod exec...) would be syntatic sugar for one of those options, so i guess a question is why is the sugar needed, besides kubectl conformance (which we don't really shoot for)

@Jeeppler @haircommander basically explains what I was asking.


[testing] Wait for ready containers

Wait for all containers to be ready.
Attempting to unblock #1809 (among others).

@kubernetes/charts-maintainers
Sorry for doing this during the holiday weekend, but can I get some eyeballs (and 🤞 a merge)?

@mgoodness thanks, this was long overdue!
/lgtm


Does force refresh also apply to user's back button?

I'm having an issue in my application where I've configured forceRefresh, and this works perfect when push and other stuff is used, but if the user presses the back button after they've navigated, they navigate without full refresh. Any ideas?
history 4.7.2

I am also wondering about this. Pressing the browser's back button does not seem to cause a full refresh.
Also using 4.7.2

If you open your browser's dev tools and inspect network requests, there is no request to the server when you click the back button?
history does not explicitly handle forceRefresh in its popstate event listener, but it shouldn't have to. When you push with forceRefresh, the pushed page will have a different document from the previous page (pushState reuses the same document). Clicking the back button will have to unload the current document and load a document for the previous location, which should send a request to your server.
Out of curiosity, why do you need to use history if you are treating the application as a multi-page application? For example, if you are using React Router, you could achieve the same effect by using anchors instead of <Link>s. That would let the browser handle all navigation for you.

We'd like the ability to turn it off dynamically, as the user experience between the two is a tad bit different based on the domain of application. It's much much easier to depend on force reload and do pushes on all links, rather than have to sometimes use push, sometimes use anchors.

Makes sense, thanks! I just threw a repo together and see that it isn't reloading. I'll see if I have the time to take a little deeper dive and figure out why it isn't.

It turns out that history.push calls window.history.pushState even when forceRefresh is true. When you call location.href = href (or location.assign()) with the same URL as the current URL after calling pushState(), the document must get shared despite the hard load.
If I move the pushState call linked above to only be called when not force refreshing, then popping also does a full reload.
If you would like to open a PR to make this change, that would be appreciated.

@mjackson any reason you closed this issue?

Hey, sorry @reywright. I must've closed it accidentally. Re-opening.

I'm going to go ahead and close this. Please file another issue if you want to take a shot at getting this fixed.


Run v2v3 converter internally when v2 XML is submitted

Addresses ticket 3305.
The main purpose is to call the v2v3 converter in xml2rfc when a v2 XML file is uploaded as a submission. This matches the behavior of the xml2rfc command line program when v2 XML is encountered and, as a side effect, resolves the initially reported issue of validation failure when an author's address does not have a street and/or city.
In addition to the minimal fix (and test), this refactors temporary file handling. The call to mkstemp is valid, but involves creation of an unused file handle and leads to somewhat roundabout opening and closing of file objects. Instead, the NamedTemporaryFile interface is used. This preserves the security features of mkstemp but leaves out the file handle.
Additionally, a try...finally that separated cleanup code from setup code by several pages of code has been refactored to use an ExitStack context manager. This allows a cleanup callback to be registered at the start of the loop instead of at the very end.

Merged as SVN r19242


Permutation

Do the checklist before submitting the PR:

[x] Have you read the guidelines mentioned in CONTRIBUTING.md?
[x] Have you squashed your commits?

Q: What version of Node.js you've used in the project? (e.g. Node v10.11.0)
A:v10.15.1
Q: Mention the Issue Number! (e.g. Fixed #8)
A: Fixed #84

Give additional information regarding the PR below:
Added String Permutation in recursive form along with string validation.

Codecov Report

Merging #94 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #94   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          53     55    +2
  Lines         647    672   +25
=====================================
+ Hits          647    672   +25

Impacted Files
Coverage Δ

src/index.js
100% <100%> (ø)
:arrow_up:

src/permutation/index.js
100% <100%> (ø)

src/validation/string.js
100% <100%> (ø)

Continue to review full report at Codecov.

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


[Beta] Refactor Layouts

There's more indirection here than I'd like. It's making it difficult to see what's being passed to what. Since we don't actually need radically different layouts, I'm simplifying it to hardcode the structure. This will make it easier to consolidate our MDX preprocessing, later add MDX 2, and eventually move to Server Components.
This commit breaks the /blog index page. I could port it over. However, this page doesn't really make sense in the current design anyway because the titles are repeated in the sidebar. So I think for the first release we'll just make the index page redirect to the newest blog entry, just like it used to be on the old site.

Seems like global size went up but page sizes went down. Must be some factoring thing. I'll look again later.


Remove MetamorphicFactory

closes #204

@NouDaimon All of the factories have been converted to libraries.  Should I merge them into a single library?


[SCIM2][Search Users] Unable to retrieve users with uppercase character in userName when CaseInsensitiveUsername is enabled

Describe the issue:
Call to SCIM2 Search Users endpoint (/Users/.search) does not return users that contain uppercase characters in the userName when a filter is set on the userName with the following configuration :

User Store : org.wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager
CaseInsensitiveUsername enabled (in the user store configuration)

(https://is.docs.wso2.com/en/latest/develop/scim2-rest-apis/#/Users Endpoint/getUsersByPost)
This behavior seems to be due to the method org.wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.getQueryString() which applies the LOWER function only on the searched value but not on the UM_USER_NAME field in the query.
https://github.com/wso2/carbon-kernel/blob/9b1a0081d325bc7c509108ca24c83484f9b4835b/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/jdbc/UniqueIDJDBCUserStoreManager.java#L3447
How to reproduce:

Configure a JDBC user store with CaseInsensitiveUsername enabled
Create a user "UserTest" on this domain that containing uppercase characters in its username
Search for users that contain "Test" in the username via SCIM2 API.

Ex :
POST https://<wso2_url>/t/<tenant_id>/scim2/Users/.search (with Authorization header info)
Request body :
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:SearchRequest"
    ],
    "attributes": [
        "userName"
    ],
    "filter": "userName co Test",
    "domain": "TST",
    "startIndex": 1,
    "count": 100
}

Expected behavior:
The user "UserTest" should be retrieved by this search.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 5.10.0
OS: Linux
Database: PostgreSQL
Userstore: JDBC

Optional Fields
Related issues:

Suggested labels:

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Support for tokens issued by OIDC v2.0 of the Azure AD

Azure AD supports two versions of the OIDC. v2.0 has been available since 2019 and, in general, recommended by MS. Both versions are still supported.
The problem is that this library only supports v1.0. I do not know all the details, but from a validation perspective, the only difference is where to get the well_known config.
For v1.0 it's https://login.microsoftonline.com/{{tenant}}/.well-known/openid-configuration
Where for the v2.0 it's https://login.microsoftonline.com/{{tenant}}/v2.0/.well-known/openid-configuration
It would look like the public certificates did not change, but there are differences in the issuers:

v1.0 - https://sts.windows.net/{{tenant}}/
v2.0 - https://login.microsoftonline.com/{{tenant}}/v2.0

Hence, validation of the token would fail if the token is issued by the OIDC v2.0.
I've prepared the change if you are interested, but cannot push the branch.

Hi @miroag ,
I'm experiencing the same problem you described regarding Azure AD's OIDC versions. Could you please share the solution you prepared? It would be really helpful.
Thanks in advance!

Hi @siunhanvjp
In the end, I used another library that was better suited to my needs. Anyway, I found the code I did back then and opened the PR linked above.


Automatically focus the 2FA input field

What's the problem this feature will solve?
When logging into PyPI with a 2FA-enabled account, the "authentication code" field should be auto-selected to simplify input by users.
Describe the solution you'd like
Modify the form design to put the focus on the primary field automatically.
Additional context
Tested under Linux with both Firefox (78.4.1esr) and Chromium (86.0.4240.193)
NB: If this feature interests the Warehouse project, I'll happily submit a pull-request to implement it.

Thanks for the feature request. Since we have users that use security devices WebAuthN instead of authentication apps that use a TOTP code, I don't think it would make sense to universally autofocus this field for all users.
In addition, we have users with both enabled, which makes it ambiguous whether the user will want to use WebAuthN or TOTP.

Would the autofocus be a problem for WebAuthN users ?

Ooooh it's a different field, I get it.
My suggestion:

If only one 2FA method is enabled, put the focus in it's corresponding input
If 2 (or more... Maybe someday) methods are enabled, don't change the focus from the default browser behaviour.


Cannot read annotations

I think I'm right in saying that I cannot access Yadda annotations, or rather, cannot control which scenarios might be run, using the default test feature template the index.js generates.
I would like to have more configuration options; e.g.

Skip scenarios with a @Skip annotation
The annotation @EndToEnd perhaps suggests that the scenario is only run when not using Mirage

Would we be able to make the test feature output more configurable in some way?
I may well raise a PR to do this myself if this sounds sensible.

@edslocombe Would you like to be able to skip feature entirely or just scenarios?
We can easily filter the scenarios array on scenario.annotation.skip.
I'm not sure how we would filter on features. Once the file is parsed and the feature has a skip annotation we could return a test file with no tests in it. But it is probably nicer to somehow delete it from the broccoli tree.

I don't think I'd be too fussed about skipping features but it would be nice. I guess a first-pass solution could be ember features if all scenarios happened to be skipped.
I think whatever the solution, it'd be great if it were configurable and that perhaps arguments from the command line could determine what scenarios were run.
e.g ember test --tags @smoke
Much like Cucumber's tags.

Do you know how to pass parameters into the test runner? I'll have look.

Yes, ember-cli has a an option to filter on name string and an option to run a specific module. I have not looked at the exact implementation. So if we get the annotations from the features and scenarios how do we make them available in the -test.js file that the addon outputs so that we can use them from the testem runner?

@edslocombe @albertjan is this still an active issue?

I haven't got round to doing anything about it but would still love a feature like this. Feel free to close though and I may still take a look at some point.

I don't see any harm in keeping it open, it might trigger somebody to pick it up 👍

having this issue myself....trying to access the annotations programatically, feels like I should be able to do something like.
`
import annotations from 'ember-yadda'
if (annotations['myAnnotation']) {
// Do stuff
}
`
Can't even comment out the whole files as that shows as an empty feature file which fails too.
as per the yadda docs but

@edslocombe Does #38 do it for you? 😉

Great stuff :)


Add subtypes of cx-taxo:Asset

WHAT
This introduces subtypes of EDC Data Assets for the Digital Twin, Traceability and CO2 domain.
WHY
These are the first taxonomy entries for unified querying of EDC Catalogs.

@obalandi  - is there anything standing in the way of merging this?

no, it can be merged


Doesn't seem to work properly

I can successfully connect my 3ds to the client, but despite other people having voice chat as well, it doesn't seem to pick up anyone. There's also a blank dropdown menu. I am using Arch Linux. You can see my experience in the stream I did yesterday.

The blank dropdown menu is supposed to show all of your available mic connected to ur PC

The blank dropdown menu is supposed to show all of your available mic connected to ur PC

Yeah that's what I was thinking, but it's not working it seems

yeah the windows build was working perfectly fine for me under proton ge, it's just the Linux build that was broken

will be closing as there no longer is a Linux build for the latest version


SignTool

Help us make content visible

Tell us what search terms you used and how you searched docs.
Tell us what docs you found that didn't address your concern.

Describe the new article

Explain why this article is needed.
Suggest a location in the Table of Contents.
Write an abstract. In one short paragraph, describe what this article will cover.
Create an outline for the new article. We'll help review the outline and approve it before anyone writes the article.

Not sure what you meant with this issue @transdigiware. We have an article about signtool here: https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe
If you have specific comments about that article, let us know.


Update glTF MIME Types (this applies to all versions of glTF)

These types were registered as discussed in KhronosGroup/glTF#412.
See:
https://github.com/KhronosGroup/glTF/tree/master/specification/1.0#mimetypes
https://github.com/KhronosGroup/glTF/blob/master/extensions/Khronos/KHR_binary_glTF/README.md#mime-type

Thanks @emackey!


[BUG] System.AggregateException: One or more errors occurred. (The given key 'content-platform-dictionaries.zip' was not present in the dictionary.)  [Inner Exception] System.Collections.Generic.KeyNotFoundException: The given key 'content-platform-dictionaries.zip' was not present in the dictionary.

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.5.4
What problem did you encounter?
i just tried to install bloxstrap then that showed
Bloxstrap Log
2024-12-07T10:55:13Z [App::OnStartup] Starting Bloxstrap v2.5.4
2024-12-07T10:55:13Z [App::OnStartup] Compiled Saturday, 4 November 2023 at 5:46:02 AM from commit 880c076fcd875fc10b5f6bef770033074d79a7a8 (tag/v2.5.4)
2024-12-07T10:55:13Z [App::OnStartup] Loaded from %UserProfile%\Downloads\Bloxstrap-v2.5.4.exe
2024-12-07T10:55:14Z [InstallChecker::FirstTimeRun] Running first-time install
2024-12-07T10:55:14Z [Logger::Initialize] Initializing at %UserProfile%\AppData\Local\Temp\Bloxstrap_20241207T105514Z.log
2024-12-07T10:55:14Z [Logger::Initialize] Finished initializing!
2024-12-07T10:55:14Z [JsonManager<Dictionary`2>::Load] Loading from ClientSettings\ClientAppSettings.json...
2024-12-07T10:55:14Z [JsonManager<Dictionary`2>::Load] Failed to load!
2024-12-07T10:55:14Z [JsonManager<Dictionary`2>::Load] Could not find a part of the path 'C:\Windows\system32\ClientSettings\ClientAppSettings.json'.
2024-12-07T10:55:14Z [FastFlagManager::SetValue] Setting of 'FFlagHandleAltEnterFullscreenManually' to 'False' is pending
2024-12-07T10:55:14Z [FastFlagManager::SetValue] Setting of 'FLogNetwork' to '7' is pending
2024-12-07T10:55:14Z [FastFlagManager::SetValue] Setting of 'DFIntTaskSchedulerTargetFps' to '120' is pending
2024-12-07T10:55:14Z [MainWindow::MainWindow] Initializing menu
2024-12-07T10:55:19Z [NotifyIconWrapper::NotifyIconWrapper] Initializing notification area icon
2024-12-07T10:55:19Z [App::OnStartup] Initializing bootstrapper
2024-12-07T10:55:19Z [App::OnStartup] Initializing bootstrapper dialog
2024-12-07T10:55:19Z [Bootstrapper::Run] Running bootstrapper
2024-12-07T10:55:19Z [Bootstrapper::Run] Performing connectivity check...
2024-12-07T10:55:19Z [Bootstrapper::SetStatus] Connecting to Roblox...
2024-12-07T10:55:19Z [RobloxDeployment::GetInfo] Getting deploy info for channel LIVE (extraInformation=False)
2024-12-07T10:55:19Z [HttpClientLoggingHandler::ProcessRequest] GET https://clientsettingscdn.roblox.com/v2/client-version/WindowsPlayer/channel/LIVE
2024-12-07T10:55:20Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://clientsettingscdn.roblox.com/v2/client-version/WindowsPlayer/channel/LIVE
2024-12-07T10:55:20Z [Bootstrapper::Run] Connectivity check finished
2024-12-07T10:55:20Z [RobloxDeployment::GetInfo] Getting deploy info for channel LIVE (extraInformation=False)
2024-12-07T10:55:20Z [RobloxDeployment::GetInfo] Deploy information is cached
2024-12-07T10:55:20Z [DeployManager::DefaultBaseUrl.Set] Testing connection to 'https://setup.rbxcdn.com'...
2024-12-07T10:55:20Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version
2024-12-07T10:55:21Z [DeployManager::DefaultBaseUrl.Set] Connection successful!
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-rbxPkgManifest.txt
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-rbxPkgManifest.txt
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-rbxManifest.txt
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-rbxManifest.txt
2024-12-07T10:55:21Z [Bootstrapper::SetStatus] Installing Roblox...
2024-12-07T10:55:21Z [Bootstrapper::DownloadPackage.RobloxApp.zip] Package is already downloaded, skipping...
2024-12-07T10:55:21Z [Bootstrapper::ExtractPackage] Reading RobloxApp.zip...
2024-12-07T10:55:21Z [Bootstrapper::DownloadPackage.content-avatar.zip] Downloading...
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-avatar.zip
2024-12-07T10:55:21Z [Bootstrapper::ExtractPackage] Read RobloxApp.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1...
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-avatar.zip
2024-12-07T10:55:21Z [Bootstrapper::DownloadPackage.content-avatar.zip] Finished downloading! (516549 bytes total)
2024-12-07T10:55:21Z [Bootstrapper::ExtractPackage] Reading content-avatar.zip...
2024-12-07T10:55:21Z [Bootstrapper::DownloadPackage.content-configs.zip] Downloading...
2024-12-07T10:55:21Z [Bootstrapper::ExtractPackage] Read content-avatar.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\content\avatar\...
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-configs.zip
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-configs.zip
2024-12-07T10:55:21Z [Bootstrapper::DownloadPackage.content-configs.zip] Finished downloading! (261963 bytes total)
2024-12-07T10:55:21Z [Bootstrapper::ExtractPackage] Reading content-configs.zip...
2024-12-07T10:55:21Z [Bootstrapper::ExtractPackage] Read content-configs.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\content\configs\...
2024-12-07T10:55:21Z [Bootstrapper::DownloadPackage.content-fonts.zip] Downloading...
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-fonts.zip
2024-12-07T10:55:21Z [Bootstrapper::ExtractPackage] Finished extracting content-avatar.zip
2024-12-07T10:55:21Z [Bootstrapper::ExtractPackage] Finished extracting content-configs.zip
2024-12-07T10:55:21Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-fonts.zip
2024-12-07T10:55:22Z [Bootstrapper::DownloadPackage.content-fonts.zip] Finished downloading! (6005683 bytes total)
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Reading content-fonts.zip...
2024-12-07T10:55:22Z [Bootstrapper::DownloadPackage.content-models.zip] Downloading...
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Read content-fonts.zip.  Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\content\models\...
2024-12-07T10:55:22Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-sky.zip
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Finished extracting content-models.zip
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Finished extracting content-fonts.zip
2024-12-07T10:55:22Z [Bootstrapper::DownloadPackage.content-sky.zip] Finished downloading! (2448711 bytes total)
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Reading content-sky.zip...
2024-12-07T10:55:22Z [Bootstrapper::DownloadPackage.content-sounds.zip] Downloading...
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Read content-sky.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\content\sky\...
2024-12-07T10:55:22Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-sounds.zip
2024-12-07T10:55:22Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-sounds.zip
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Finished extracting content-sky.zip
2024-12-07T10:55:22Z [Bootstrapper::DownloadPackage.content-sounds.zip] Finished downloading! (597244 bytes total)
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Reading content-sounds.zip...
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Read content-sounds.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\content\sounds\...
2024-12-07T10:55:22Z [Bootstrapper::ExtractPackage] Finished extracting content-sounds.zip
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Finished extracting RobloxApp.zip
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.shaders.zip] Package is already downloaded, skipping...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Reading shaders.zip...
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.ssl.zip] Downloading...
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-ssl.zip
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Read shaders.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\shaders\...
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-ssl.zip
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.ssl.zip] Finished downloading! (135951 bytes total)
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Reading ssl.zip...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Read ssl.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\ssl\...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Finished extracting ssl.zip
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Finished extracting shaders.zip
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.content-textures2.zip] Package is already downloaded, skipping...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Reading content-textures2.zip...
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.content-textures3.zip] Downloading...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Read content-textures2.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\content\textures\...
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-textures3.zip
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-textures3.zip
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.content-textures3.zip] Finished downloading! (3713218 bytes total)
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Reading content-textures3.zip...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Read content-textures3.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\PlatformContent\pc\textures\...
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.content-terrain.zip] Downloading...
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-terrain.zip
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-terrain.zip
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.content-terrain.zip] Finished downloading! (3267 bytes total)
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Reading content-terrain.zip...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Read content-terrain.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\PlatformContent\pc\terrain\...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Finished extracting content-terrain.zip
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Finished extracting content-textures3.zip
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.content-platform-fonts.zip] Package is already downloaded, skipping...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Reading content-platform-fonts.zip...
2024-12-07T10:55:23Z [Bootstrapper::ExtractPackage] Read content-platform-fonts.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\PlatformContent\pc\fonts\...
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.content-platform-dictionaries.zip] Downloading...
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-platform-dictionaries.zip
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-content-platform-dictionaries.zip
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.content-platform-dictionaries.zip] Finished downloading! (152263 bytes total)
2024-12-07T10:55:23Z [Bootstrapper::DownloadPackage.extracontent-places.zip] Downloading...
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-extracontent-places.zip
2024-12-07T10:55:23Z [AsyncHelpers::ExceptionHandler] An exception occurred while running the task 'extracting content-platform-dictionaries.zip'
2024-12-07T10:55:23Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-extracontent-places.zip
2024-12-07T10:55:24Z [App::FinalizeExceptionHandling] System.AggregateException: One or more errors occurred. (The given key 'content-platform-dictionaries.zip' was not present in the dictionary.)
 ---> System.Collections.Generic.KeyNotFoundException: The given key 'content-platform-dictionaries.zip' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Bloxstrap.Bootstrapper.ExtractPackage(Package package)
   --- End of inner exception stack trace ---
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Finished extracting content-platform-fonts.zip
2024-12-07T10:55:24Z [Bootstrapper::DownloadPackage.extracontent-places.zip] Finished downloading! (1510546 bytes total)
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Reading extracontent-places.zip...
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Read extracontent-places.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\ExtraContent\places\...
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-places.zip
2024-12-07T10:55:24Z [Bootstrapper::DownloadPackage.extracontent-luapackages.zip] Package is already downloaded, skipping...
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Reading extracontent-luapackages.zip...
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Read extracontent-luapackages.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\ExtraContent\LuaPackages\...
2024-12-07T10:55:24Z [Bootstrapper::DownloadPackage.extracontent-translations.zip] Downloading...
2024-12-07T10:55:24Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-extracontent-translations.zip
2024-12-07T10:55:24Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-extracontent-translations.zip
2024-12-07T10:55:24Z [Bootstrapper::DownloadPackage.extracontent-translations.zip] Finished downloading! (484131 bytes total)
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Reading extracontent-translations.zip...
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Read extracontent-translations.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\ExtraContent\translations\...
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-luapackages.zip
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-translations.zip
2024-12-07T10:55:24Z [Bootstrapper::DownloadPackage.extracontent-models.zip] Package is already downloaded, skipping...
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Reading extracontent-models.zip...
2024-12-07T10:55:24Z [Bootstrapper::DownloadPackage.extracontent-textures.zip] Downloading...
2024-12-07T10:55:24Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-extracontent-textures.zip
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Read extracontent-models.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\ExtraContent\models\...
2024-12-07T10:55:24Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-extracontent-textures.zip
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-models.zip
2024-12-07T10:55:24Z [Bootstrapper::ExtractPackage] Finished extracting content-textures2.zip
2024-12-07T10:55:25Z [Bootstrapper::DownloadPackage.extracontent-textures.zip] Finished downloading! (17130170 bytes total)
2024-12-07T10:55:25Z [Bootstrapper::ExtractPackage] Reading extracontent-textures.zip...
2024-12-07T10:55:25Z [Bootstrapper::DownloadPackage.WebView2.zip] Downloading...
2024-12-07T10:55:25Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-WebView2.zip
2024-12-07T10:55:25Z [Bootstrapper::ExtractPackage] Read extracontent-textures.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1\ExtraContent\textures\...
2024-12-07T10:55:25Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-WebView2.zip
2024-12-07T10:55:25Z [Bootstrapper::DownloadPackage.WebView2.zip] Finished downloading! (81240 bytes total)
2024-12-07T10:55:25Z [Bootstrapper::ExtractPackage] Reading WebView2.zip...
2024-12-07T10:55:25Z [Bootstrapper::ExtractPackage] Read WebView2.zip. Extracting to %UserProfile%\AppData\Local\Bloxstrap\Versions\version-a2fb906f52d742c1...
2024-12-07T10:55:25Z [Bootstrapper::DownloadPackage.WebView2RuntimeInstaller.zip] Downloading...
2024-12-07T10:55:25Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-WebView2RuntimeInstaller.zip
2024-12-07T10:55:25Z [Bootstrapper::ExtractPackage] Finished extracting WebView2.zip
2024-12-07T10:55:25Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-WebView2RuntimeInstaller.zip
2024-12-07T10:55:25Z [Bootstrapper::DownloadPackage.WebView2RuntimeInstaller.zip] Finished downloading! (1486447 bytes total)
2024-12-07T10:55:25Z [Bootstrapper::DownloadPackage.redist.zip] Downloading...
2024-12-07T10:55:25Z [HttpClientLoggingHandler::ProcessRequest] GET https://setup.rbxcdn.com/version-a2fb906f52d742c1-redist.zip
2024-12-07T10:55:25Z [HttpClientLoggingHandler::ProcessResponse] 200 OK https://setup.rbxcdn.com/version-a2fb906f52d742c1-redist.zip
2024-12-07T10:55:26Z [Bootstrapper::DownloadPackage.redist.zip] Finished downloading! (1372275 bytes total)
2024-12-07T10:55:26Z [AsyncHelpers::ExceptionHandler] An exception occurred while running the task 'extracting redist.zip'
2024-12-07T10:55:26Z [App::FinalizeExceptionHandling] System.AggregateException: One or more errors occurred. (The given key 'redist.zip' was not present in the dictionary.)
 ---> System.Collections.Generic.KeyNotFoundException: The given key 'redist.zip' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Bloxstrap.Bootstrapper.ExtractPackage(Package package)
   --- End of inner exception stack trace ---
2024-12-07T10:55:26Z [Bootstrapper::ExtractPackage] Finished extracting extracontent-textures.zip
2024-12-07T10:55:27Z [Bootstrapper::SetStatus] Configuring Roblox...

update
https://bloxstraplabs.com/


1.0.0

Changes

Fixed: metalsmith-collections are now correctly adjusted to avoid
duplicates entries after rebuilds)
Removed: pattern option has been remove. Please use the new paths
option
Added: paths option allows you to specify a map to trigger rebuilds
(closes #4 and
#13)
Added: log option to be able to control watcher logs
Added: when a JavaScript file is changed, the corresponding cache in
node/iojs cache is refreshed.
This is particularly handy when working with plain JavaScript template
(eg: react template made with
metalsmith-react)

Technical changes

source written using babel
switch from jshint to eslint
move changelog in it's own file
add license
added myself as an author
use tape for test instead of mocha

Closes #4
Closes #13
Closes #17
Closes #18

Using the paths documented like this doesn't trigger a rebuild of everything:
'${source}/**/*': true
'partials/**/*': '**/*'

As you can see here:
[metalsmith-server] ✔ partials/header.html changed
[metalsmith-server] - Updating 0 file...

When using:
'${source}/**/*': true
'partials/**/*': true

...the partial rebuilds but the source doesn't, of course, so it doesn't update the source with the new partial.
Is this intended?  I'm trying to get the source to rebuild as well as the partial.

Recent metalsmith release introduced a breaking change in run() method. So this branch is kind of broken.
That's why I didn't merge this.    This is supposed to work @JoshConley.
I will push more tests to be sure.

Thanks for the update!  Has something changed to make it work?

No I didn't change anything for now, I was having local changes that make me think something was wrong.
Can you provide more informations on you setup so I can double check what is wrong ? (eg: folders structures, metalsmith dir, source, dest)

Yes!  Essentially, folders are structured like this:

/src
/partials

When the partials change, the watch script recognizes the file changed, but doesn't rebuild the source file.
Using this config:
'${source}/**/*': true
'partials/**/*': '**/*'

Again, I get the same as I commented above (partials/header.html changed, updating 0 files).  When the partial loads, the source should be rebuilt.  Same thing happens if I use 'partials/**/*': '${source}/**/*'.  The source isn't rebuilding, it's only rebuilding changed files.

I guess the / is considered to be your metalsmith root amarite ?
The weird part is "updating 0 files", at this stage the glob specified for 'partials/**/*' (so this -> '**/*') is used in the metalsmith.source folder (so /src). You should get the number of all your files in this folder.
Can you share more stuff like your all metalsmith build script ?

Yup!  I don't have access to it at the moment but I can share the build script with you tomorrow.  Thanks for your help.

Awesome! Work thank you so much for this! :fireworks:


Add github action and change readme link

Do you want to use netfiy or vercel?

Either one should work, but I think vercel or netlify would be an improvement upon deploying via gh actions and github sites. Especially since they include build checks for prs and site previews

Okie! Do you want me  to also change it for the bugs website as well?

I think we left the bugs website as being deployed via github sites since we are for open source (not really sure if that is exactly why, but I remember Albert making that point). I feel like this is a different kind of deal

Yeah ok. sounds good. I'll close this in favor of vercel

I just realize for both we need to pay monthly fee since the repo lives in BUGS org ..... We have 14 days trial with vercel. For now, we will go with none until we figure out funding lol

oof, do you think we qualify for this?

Oh I didn't see that. We might. I'll have Laurel and DT handle this.

This actually may cause the same problem if we decide to move bobcat search over.

That's true though I'm unsure when bobcat search will be moved over. I think once it's moved over, we can deal with it. As of rn, we just need to find solution for this repo


ArrayBufferView#length missing

The TypedArray documentation (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) shows there is a TypedArray#length member that indicates the number of elements in the array.
ArrayBufferView is an alias for TypedArray (https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView). Therefore, it should also have a length property. However, the tslib ArrayBufferView interface does not have it:

ArrayBufferView also includes DataView which does not have a member length.

@englercj That doesn't make sense. An ArrayBufferView is one of Uint8Array, Int32Array, etc., right? They all have a length property. For example, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array

Seems like this was talked about before: https://github.com/microsoft/TypeScript/issues/15402#issuecomment-365297787

An ArrayBufferView is one of Uint8Array, Int32Array, etc., right?

Yes, including DataView which does not have that property. Look closely at the ArrayBufferView link you posted to MDN. The last item on the list is DataView.

If, in fact, they are the same thing - then what type is in tslib that represents TypedArray?

ArrayBufferView represents a TypedArray. A DataView is a typed array.

@englercj Okay, I can agree that ArrayBufferView can't have a length member because it also includes DataView. However, I don't think DataView is a typed array - the table provided here doesn't have DataView: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
Maybe we need a specific interface for TypedArray that doesn't include DataView.

That sounds like a userland thing, not a tslib provided type. As the MDN states, there is no interface or constructor called TypedArray, so i wouldn't expect this library to provide one.


Expose HtmxResponse internals for testing verification

I'm adding MockMvc tests for some of my Htmx based endpoints and it currently isn't possible to write an 'expects' block against HtmxResponse templates since all the getters are package private.
We could:
1- Make the getters public so callers could pull out internals to assert against them
2- Add a testing support library and matcher that is in the same package as HtmxResponse so it has access to the internals,
I favor option #2 but since the repo isn't setup for multiple modules, it seems like it would be a large refactor to add it in. Would you like me to attempt that?

Can you elaborate how you see this working? I would personally use Cypress or Playwright for testing the HTML, I believe it is a lot more closer to testing how things actually work without having to know anything about the internals.

My testers have been using Cypress for testing the HTML. However, the logic they are trying to verify is around forms. For example form validation and enabling/disabling parts.
One validation approach we are considering would be with OOB templates to show validation outside the form (via a toast popup or something)
Cypress testing makes it impossible to mock out the data used in the validation (it hooks into the response, too late in the call, so it just tests HTMX itself).
By hooking into the MockMVC mechanism, we've been able to add tests ensuring the field are enabled/disabled properly based on the inputs results (since that logic is in Thymeleaf). Note we've done all that via the xpath and html response. No change is required for those.
However, the points we can't do are like: view { name("myTemplate") } (since the HtmxReponse doesn't populate the view name), nor can we detect the mutiple templates in the OOB response.

Cypress testing makes it impossible to mock out the data

If you use Cypress for end-to-end testing, then mocking is not needed I think?

So previously with our Angular apps, there was lots of logic in the frontend app so we would use Cypress to mock out a server's returned JSON to the front end. That allowed us to populate and simulate complex forms/data/validation.
Thankfully that is no longer needed as much with HTMX. So it appears we'll use Cypress for full end-2-end testing.
Mocking is still needed in cases where validation in checking if a selected user has certain attributes (age, gender, married, etc) before proceeding further in the form. Instead of hard coding users that change (married users become single, age changes over time, etc)

This is fixed by #73

@wimdeblauwe if I am correct you can close this.

@checketts  ok for you?

Yup


[AutoRelease] t2-servicefabric-2024-02-02-27725(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4899
Live test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1032
BuildTargetingString
azure-mgmt-servicefabric
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/4899


Launch Pythia Platform

We should move ahead with launching our own BinderHub in the cloud.  @brian-rose and @ktyle have experience with their own JupyterHub/BinderHub instances, and their experience will be invaluable.  There are some outstanding questions that need answers before we can proceed, however:

What cloud platform should we use?
If we are providing a public resource, we probably need authentication to prevent things like bitcoin mining.  Authentication can be done with GitHub.  But what other considerations need to be addressed if this is what we want to pursue?

Should users have their own permanent storage space?  How much?  Or should it be ephemeral?
GitHub is an option, but what authentication do we need?
How do we allow people to create an account / sign up to use the Pythia hub?  (Auth is one thing, but allowing specific individuals access may be necessary if we are providing parallel resources.)

What else?

I'm way out of my league on these questions, but I like the idea of using GitHub for authentication just because it reinforces the message that GitHub is our preferred collaboration platform. It's a way to get more of our users onto the platform.
Pangeo used ORCID as the authentication, on the assumption that most users would be active researchers who already have an ORCID. It's another option to consider. But at least some of our users may be students who haven't yet published and so haven't yet signed up for an ORCID.

Is there a compelling use case for users having their own persistent space in the context of Pythia as a training resource? I'm out of my league as well, but to me this seems like it could be a pretty big lift with on-going maintenance required. It would be good to know that it would be useful for our target audience.

Is there a compelling use case for users having their own persistent space in the context of Pythia as a training resource? I'm out of my league as well, but to me this seems like it could be a pretty big lift with on-going maintenance required. It would be good to know that it would be useful for our target audience.

I can imagine this being useful in the context of multi-day workshops or training sessions, where users may be working systematically through examples in Foundations along with some workshop-specific content.
Here I'm drawing on my own experience serving Jupyter notebooks in the classroom. I distribute an entire semester of notes and assignments through a Jupyter book. I lead students through lecture notes in class, but they customize things as they go with their own explanations and their own solutions to in-line code exercises. Being able to persist that personal copy of the notes from one class to the next is an essential part of the workflow.

@brian-rose that use case makes complete sense to me. Thanks. I still wonder about the effort to implement and maintain persistent cloud storage in this framework, but this area is definitely not my jam :-) Someone else will have to do the cost-benefit analysis.

Yes, it certainly doesn't make sense for us to promise open-ended persistent storage for all comers.
I wonder if we should be thinking more along the lines of developing a "proof of concept" for a Pythia platform, with the idea that actual resources (compute, storage) making use of the platform could be furnished to groups (e.g. people wanting to host a workshop focussed on specific datasets) on a fee-for-service basis. That's basically what 2i2c exists to do, if I understand correctly.
Basically the Platform shouldn't be one specific BinderHub instance, but instead a portable product that can be deployed where it's needed.

This sounds more in line with what we promised and what I think we might reasonably deliver. However, we were pretty vague about exactly what we would deliver, and probably have more latitude here than with the portal. That's my 2 cents worth, but people far more knowledgable about this stuff should probably weigh in :-)

Basically the Platform shouldn't be one specific BinderHub instance, but instead a portable product that can be deployed where it's needed.

@brian-rose:  That's basically what 2i2c and Pangeo has been trying to provide, though it's not like a "push-button-deploy" product.  It's more like an instruction set for how to deploy this kind of platform on various cloud platforms.
In light of discussions happening in the Pangeo organization and here, I think that maybe we can leverage Pangeo's hubs for our use.  Why not just partner with them?

I am 100% +1 for partnering and avoiding duplication of effort.

Are we waiting on Pangeo for anything on this front? What can we do to make this partnership move forward?

Closing as we've moved on from this discussion.


12 and 61: updated content on the Dialectica compilation environment

New start script maintained in this repo significantly simplifies the setup and use of the environment
Added recommended extensions to pop-up when this folder is opened in VSCode

@jdutant I noticed that line breaks were added to the old content I wrote, at around 75 characters. Is this done with a linter? and what is the rule exactly (amount of characters)? Let me know if you want me to be more systematic with this before you accept this PR, and I'll push a new commit.


rollupPluginBabelHelpers is always included

Using<EMAIL_ADDRESS>a full list of babel helpers is included, even though most of them are not needed.
I found this in the output:
var rollupPluginBabelHelpers = Object.freeze({
	get typeof () { return _typeof; },
	jsx: _jsx,
	asyncIterator: _asyncIterator,
	AwaitValue: _AwaitValue,
	AsyncGenerator: _AsyncGenerator,
	wrapAsyncGenerator: _wrapAsyncGenerator,
	awaitAsyncGenerator: _awaitAsyncGenerator,
	asyncGeneratorDelegate: _asyncGeneratorDelegate,
	asyncToGenerator: _asyncToGenerator,
	classCallCheck: _classCallCheck,
	createClass: _createClass,
	defineEnumerableProperties: _defineEnumerableProperties,
	defaults: _defaults,
	defineProperty: _defineProperty,
	get extends () { return _extends; },
	get: _get,
	inherits: _inherits,
	inheritsLoose: _inheritsLoose,
	wrapNativeSuper: _wrapNativeSuper,
	instanceof: _instanceof,
	interopRequireDefault: _interopRequireDefault,
	interopRequireWildcard: _interopRequireWildcard,
	newArrowCheck: _newArrowCheck,
	objectDestructuringEmpty: _objectDestructuringEmpty,
	objectWithoutProperties: _objectWithoutProperties,
	assertThisInitialized: _assertThisInitialized,
	possibleConstructorReturn: _possibleConstructorReturn,
	set: _set,
	slicedToArray: _slicedToArray,
	slicedToArrayLoose: _slicedToArrayLoose,
	taggedTemplateLiteral: _taggedTemplateLiteral,
	taggedTemplateLiteralLoose: _taggedTemplateLiteralLoose,
	temporalRef: _temporalRef,
	readOnlyError: _readOnlyError,
	classNameTDZError: _classNameTDZError,
	temporalUndefined: _temporalUndefined,
	toArray: _toArray,
	toConsumableArray: _toConsumableArray,
	skipFirstGeneratorNext: _skipFirstGeneratorNext,
	toPropertyKey: _toPropertyKey,
	initializerWarningHelper: _initializerWarningHelper,
	initializerDefineProperty: _initializerDefineProperty,
	applyDecoratedDescriptor: _applyDecoratedDescriptor
});

The only helper that is actually used by my code is objectWithoutProperties, so this is hugely excessive.
Relevant part of the rollup.config.js:
  plugins: [
    nodeResolve({
      // Use the `package.json` "browser" field
      browser: true,
      // Resolve .mjs and .js files
      extensions: ['.mjs', '.js'],
      // Prefer node.js built-ins instead of npm packages
      preferBuiltins: true
    }),
    nodeBuiltins(),
    babel({
      exclude: 'node_modules/**'
    }),
    commonjs()
  ]

I was under the assumption that  does rollup-plugin-babel could automatically deduplicate babel-helpers, based on the warning in this line: https://github.com/rollup/rollup-plugin-babel/commit/7796ce963322bab5877ca90f06c30aec65bf71b6#diff-1fdf421c05c1140f6d71444ea2b27638R59
I tried passing the externalHelpers: true option, no luck. Then I tried the runtimeHelpers: true option (with the transform-runtime babel plugin). Nothing prevents the babel helper functions from being included!
How can I include only the babel helpers which are actually used?

This is how I ended up preventing the runtime helpers from being included in the bundle, by using the external key:
https://github.com/pascalduez/react-module-boilerplate/pull/6/files#diff-ff6e5f22a9c7e66987b19c0199636480R10
Not sure what the externalHelpers: true or runtimeHelpers: true options are useful for then...

You can pass externalHelpersWhitelist to control this on your own.
However I suspect that you somehow use those helpers in some CJS file and that caused them to be converted to CJS and thus prevented tree-shaking. I'm not 100% sure about this - would need to see a repro case, can you provide one?

@Andarist Can I confirm, to make sure I understand correctly? So, if there's any CJS file that uses a Babel feature like object rest/spread, then treeshaking won't work and the entire list of helpers will end up in the output bundle. Correct?

Yeah, that's the case for now. Question is - why there is a CJS file bundled? Is it coming from node_modules? Or is your codebase a mix of ESM & CJS?

My codebase is currently a mix of ESM & CJS. Migrating it over to ESM progressively.

Ok, going to close this issue then. Feel free to comment further though.


Refactoring

I did a refactoring of your program. Here is what I did:

Migrate font_to_py.py to a Python package (font_to_py).
Split font_to_py.py into several smaller units.
Use click for arguments and options processing.
Add pyproject.toml file to use with poetry.

This will check the dependencies.
This does simplify the release (poetry build).
This provides the font-to-py command.

Add .pre-commit-config.yaml to apply current Python best practices (Ruff + Black).

Feel free to reject this merge request if you don't like it (I will not be offended ;-)). You can also ask me to make some changes if you want.

I'd need convincing to accept this radical change to a mature application. I'm unconvinced of the merits of turning it into a Python package with multiple files. What are the benefits of your changes from the perspective of a user? How would it be installed? Installation of the existing single file is trivial with only one dependency.
I'm happy to run black over the source - I should have done this but it evidently slipped my notice.

Thank you for your feedback. By using Poetry, you will easily be able to publish your software to https://pypi.org/. The name "micropython-font-to-py" is still free, but I warmly recommend you to register your package there as soon as possible (or someone else could do it).
Once that you have an account on pypi, you can upload your software using "poetry publish".
As soon as the code in on pypi, users can install the package using "pipx install micropython-font-to-py". The benefits of "pipx" is that it creates a virtual environment and deal with the PATH. Note that you need poetry (or the old setup.py) to make your script available to pipx.
References :

https://python-poetry.org/docs/pyproject/#scripts
https://pypa.github.io/pipx/

P.S. the next step could be to have Github automatically publishing your code to pypi on every new tag... but we can discuss this later ;-)

The reason I wrote this as a single file was to make installation trivial. By refactoring it into multiple files it then requires poetry and PyPi, which are indeed great tools for large projects with multiple developers. It seems almost like creating a problem which then requires these tools to solve.
In my opinion this is overkill. Users cope fine with a single file and one dependency.

OK. I understand. I am used to these tools and I prefer modular code, so I will keep my version for me and continue the development in my own repo. Thank you for your feedback.

If this were a new project I'd certainly consider designing it in a modular manner. Installation from PyPi is undoubtedly easier, and there are some real improvements like the use of click. However, given the intended audience of firmware developers, installation hasn't been a problem. From my point of view development is essentially complete and I'm unwilling to engage in major changes.
Thanks for pointing out the lack of Pep8 compliance. I will fix this.


adapters produce unk tokens only

System Info
docker from latest
Information

[X] Docker
[ ] The CLI directly

Tasks

[ ] An officially supported command
[ ] My own modifications

Reproduction
example prompt:

User: Who are you ?

Assistant: You mean me ?

User: Who are you ?

Assistant: You mean me ?

User: Who are you ?

Assistant: You mean me ?

User: Who are you ?

Assistant: You mean me ?

User: Who are you ?

Assistant: You mean me ?

this is enough to produce unk tokens on any prompt only.
When cutting down to 2 lines only it works as expected.
base model is:
mistralai/Mistral-7B-v0.1
adapters tested:
https://huggingface.co/qblocks/mistral_7b_norobots
https://huggingface.co/flozi00/mistral-zephyr-lora
https://huggingface.co/flozi00/mistral-germanassistantv4
start command
docker run --pull always --gpus all -d --shm-size 1g -p 8080:80 ghcr.io/predibase/lorax:latest --model-id mistralai/Mistral-7B-Instruct-v0.1 --cuda-memory-fraction 0.5 --max-total-tokens 8192 --max-batch-prefill-tokens 7000 --max-input-length 7000

Expected behavior
Working with and without adapters loaded

@tgaddair could you please take a look when you have time for ?
Already checked several ideas, but no progress

Also checked 0.1.2 release, container, same there

Is it possible this has something to do with the 4bit quantization not being compatible somehow? Or maybe lorax doesn't really support all of the target modules? I also had trouble with a non-quantized fine-tune which seemed to produce no output. Although, I might have done something wrong, since I was trying to modify the qlora code to take the quantization out. But mine also had extra target modules besides the four listed in the README, which I suspect might be an issue.
BTW, @flozi00, thanks for your work on the 4bit. Am I understanding correctly that this actually is working for you, just not with certain prompts?

@flozi00 here's the PR to allow disabling SGMV temporarily: #69.

@runvnc the error comes without qunatization, the 4bit PR is independent because i told to take this feature
@tgaddair

thanks a lot
it was working when i did my first tests with lorax, the unsupported modules just got dropped when i understand correctly, so the quality had small loss but still was working. It could be working with solving 1. but just not as good as expected :)

@tgaddair By disabling the SGMV, how much of a performance drop can we expect?

Still having the unk error, with disabled sgmv kernel

@abhijithnair1, the performance drop should be very minimal below 8 concurrent adapters. It only becomes noticeable with a high number of adapters at once. That said, I hope to have a solution in place by end of day to make sure SGMV is working for rank 32 adapters.
@flozi00 I wonder if it's related to the prompt at all. The prompt I was using was this one, can you try and verify it generates something sensible?
curl <IP_ADDRESS>:8080/generate \
    -X POST \
    -d '{"inputs": "<|system|> You are a helpful assistant <|user|> What is deep learning? </s> <|assistant|>", "parameters": {"max_new_tokens": 64, "adapter_id": "qblocks/mistral_7b_norobots"}}' \
    -H 'Content-Type: application/json'

Now its just empty output, but no unk tokens
Maybe something related to my dev env

@flozi00 @abhijithnair1 I believe I have a fix for the issue with the rank 32 adapters in #70 if you want to test it out. Updating to a newer version of the SGMV shrink kernel appears to have solved the issue on my end.

I also did a test the other day and had my adapter load successfully but
did not see any output. This was on a prebuilt image mentioned in the
README, not a newly built image.
On Mon, Nov 27, 2023, 12:55 PM Florian Zimmermeister <
@.***> wrote:

Now its just empty output, but no unk tokens
Maybe something related to my dev env
—
Reply to this email directly, view it on GitHub
https://github.com/predibase/lorax/issues/68#issuecomment-1828432457,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACU5HCDH27DHLYPXIQM6N3YGTOYRAVCNFSM6AAAAAA7322XSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRYGQZTENBVG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hey @runvnc can you share your adapter and example prompt here to help with reproducing the issue?
I've tested #70 with a variety of different adapters and configs and feel confident about merging it once the PR updates with my latest changes (I think GH is experiencing some degraded performance at the moment). So hopefully we'll have a fix for the rank 32 adapters shortly.

I will have to test again today with the new docker version. This is what I am trying to ask about:
   # save tokenizer for easy inference
   tokenizer = AutoTokenizer.from_pretrained(args.model_id)
   tokenizer.save_pretrained(sagemaker_save_dir)```

   This creates files like `special_tokens_map.json`. Are special tokens supported?

Latest image with GMV fix is up if foljs want to test it out: https://github.com/orgs/predibase/packages/container/lorax/151913146?tag=f9409af

@runvnc that's an interesting one. Are these special tokens that were added during fine-tuning of the adapter? If so, then it's quite likely we aren't properly accounting for those. We would likely need to update the decoding step to handle this. Is there a publicly available adapter in HF you could share that I can use to repro? Happy to add a separate issue to track this.

@tgaddair https://huggingface.co/qblocks/mistral_7b_norobots/tree/main
This one, was mentioned at the top of the issue. The main qLoRA repo example uses this AutoTokenizer thing.

Thanks @runvnc, I'll file an issue to track fixing this.

Seems like it just might be related though, since this issue mentions tokens.

@runvnc yes I think you're right for at least that model. For the prompt I was using, the issue was due to the SGMV kernel, but there could certainly be other issues that stem from the tokenizer.

@flozi00 if you have code like this https://github.com/artidoro/qlora/blob/7f4e95a68dc076bea9b3a413d2b512eca6d004e5/qlora.py#L346C9-L346C9 using the AutoTokenizer, you might try removing that, and making sure there is nothing about special_tokens in model output dir. Since those special tokens seem to not be supported yet. I think that might have been one of my problems. Right now my adapter seems to work (at least generate text) after I took that out and removed quantization stuff from the qlora training code.

I would close this issue, since the latest commit all adapters are working fine


NuGet Symbol Server : CDN rules over MSDL environments

CDN rules for the MSDL environments. Sample
Create CDN profiles for, when we create the resource groups and get the MSDL folks to configure the environments for egress from VSTS.

[x] INT
[ ] PROD

INT is completed. Clean the MVP label and let the task open for the Prod tracking.


make taxon nullable in consensus-genome

makes taxon nullable in for consensus genome entities

Did you run make alembic-autogenerate? I think we need a migration since this is a schema change

Did you run make alembic-autogenerate? I think we need a migration since this is a schema change
Good catch, I didn't, thanks!


Relax dependency on netlink-packet-{core,route}

Relax dependency on netlink-packet-{core,route}
This allows building erbium-net on current Debian

On Sun, May 21, 2023 at 07:42:58AM -0700, Perry Lorier wrote:

@isomer approved this pull request.

Please do actual merge


Mistral API doesn't work with openai compatible provider

Which API Provider are you using?
OpenAI Compatible
Which Model are you using?
mistral-large-latest
What happened?
When I enter the base uri for mistral this one https://api.mistral.ai/v1 specify that model and enter the api key it doesn't work I get error 401 status code (no body)
Steps to reproduce

Enter Api uri for Mistral
2.enter the model and key
3.start a task and error will show

Relevant API REQUEST output
No response
Additional context
No response

Closing as duplicate of https://github.com/cline/cline/issues/939


Points balance is incorrect for my 2nd pool.

Describe the bug
I joined 2 pools. The Points balance number is wrong for my 2nd pool. However, I can confirm the Launcher ID is correct.
To Reproduce
Steps to reproduce the behavior, e.g.:

Add more than one pools

System setup:

Unraid
Docker 20.10.5

Additional context & screenshots

Please provide detailed screenshots showing both the Machinaris WebUI pages and the corresponding chia plotnft CLI commands you feel are not in alignment.  Thanks!

I just checked with chia CLI, the information is align with Machinaris Web UI. I think this is a Chia bug then.

Great.  Update here if you find the underlying cause.  Closing this Machinaris ticket for now.


Do not initialize GTM when a QA localStorage key is set

What does this pull request aim to achieve? 💯
adds a "hidden" route to set a "QA mode" localStorage key that if "true" GTM doesn't get initialized and no data is sent to Google Analytics.
we had to add a hidden route in order to be able to set the key on mobile too.
You can go to /toggleqa to toggle the "QA Mode"
Please be concise and link any related issue(s):
closes #1667

[x] I have checked that no one else is working on similar changes.
[x] I have read the latest README and understand the development workflow.
[x] The name of this branch is: feature/<branch_name>, or hotfix/<branch_name> if this is a hotfix, where <branch_name> briefly describes the issue(s) resolved and is prefixed with the issue number(s) (e.g. 1127-1130-update-git-branching-model). The branch is created in a cloned version of this repo, not a forked repo.
[x] This branch is rebased/merged with the latest staging (or the latest production if it is a hotfix).
[x] There are no merge conflicts.
[x] There are no console warnings and errors.
[x] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".
[x] The title describes the issue(s) being addressed using format: <issue_numbers> - <brief_issue_description> (e.g. #1127/#1130 - Update Git Branching Model)

The review build doesn't have a REACT_APP_GTM_ID so you can only test this localy

@galeza @rabbi08 Will this work for you guys? You will only need to visit the www.fightpandemics.com/toggleQA url once (per browser) when you want to test on PROD. If you are in incognito, you will have to visit that url to make sure the toggle is enabled though!
Could you guys help to test on different browsers and devices please? Thank you!!

@Zaydme

Toggle: I open "https://feature1667.fightpandemics.xyz/toggleqa" in incognito window and below is the GIF from the same, it generate the request "gtm.js?id=undefined&gtm_auth=&gtm_preview=&gtm_cookies_win=x"

but after toggle QA, the request send 404 error

No Toggle: While accessing only "https://feature1667.fightpandemics.xyz/" no toggle again in incognito window only, the request is send again with 404 error, please see below GiF:

Are we expecting that after the toggle, this request should NOT show up in network TAB? please confirm.

@rabbi08

Are we expecting that after the toggle, this request should NOT show up in network TAB? please confirm.

Yes.
Does this only happen on incognito?

ognito?

Though please note that after 'Toggle= 'gtm' request is not shown in network TAB after refresh as well though,
This happens same in Chrome as well, when I follow following steps:

paste the URL -> Press F12 -> click  to load the pasted URL -> Press Ok to toggle -> Request is shown with 404 error.

But if I paste the URL -> F12 -> Click Ok to toggle -> No Request is shown hence no 404 error. Please see below GIF

It looks that this is exception not an issue with the steps to reproduce. Please confirm


Maximum execution time of 300 seconds exceeded when using oracle with gii

I am using Oracle for the first time with Yii2 and I've managed to connect the DB and access Gii. It is a large DB so I have just tried a small table with ~80 rows in for the model generator and I get
Maximum execution time of 300 seconds exceeded
The hang seems to occur at this point in Command.php
$this->prepare(true);

    $token = $rawSql;
    try {
        Yii::beginProfile($token, 'yii\db\Command::query');

        $this->pdoStatement->execute();

        if ($method === '') {
            $result = new DataReader($this);
        } else {
            if ($fetchMode === null) {
                $fetchMode = $this->fetchMode;
            }
            $result = call_user_func_array([$this->pdoStatement, $method], (array) $fetchMode);
            $this->pdoStatement->closeCursor();
        }

Not really sure why this would happen for such a small table. I am connecting from a local XAMPP install to a live Oracle 11g DB. I have managed to use native PHP functions (oci_connect()) to connect and retrieve data. But having this issue will Yii2 2.0.7-dev

Try disabling the relations option. If turned on (default), gii has to fetch all tables information.

There's no good way to speed it up. Either increase limits or do as @nineinchnick suggested.

That did the trick, thank you. One final question I have here is. How do I change schema within my DB config?

Hi,
I am also facing the same problem. How to disable relations options in Yii2? Please tell me.

http://www.yiiframework.com/doc-2.0/guide-start-gii.html#generating-ar
"Generate relations" in the image

I imported the database from production into local XAMPP installation.
When trying to login the application it is giving the above error.


Issue to connect to Server that are not localhost

Version of Waterdog
git:Waterdog-Bootstrap:1.15-SNAPSHOT:9c99812:302 by md_5
Expected Behavior
I get connected to the server not located on the same machine
Actual Behavior
I get kicked with the Message: Could not connect to a default or fallback server, please try again later: io.netty.channel.ConnectTimeoutException
Crashdump, Backtrace or Other Files
Configuration: https://hastebin.com/ihumuwokoh.yml
Describe the bug
I get kicked when i join, but only if the server is not on localhost
To Reproduce
Get a second machine with another ip and start a PocketMine Server there and register it in the config
Server software used:
Pocketmine

Im network setup looks exactly same. How big is ping delay between machine?

35ms

Are you sure there are no firewalls or port configurations messing with the connection? Have you tried to join the server directly?

yes i did

And that is working?

no still not

i can join directly but not over the proxy

Any log output from the PocketMine Server or any plugins on it that could cause interferences?

no none on both, and no connection attempt log in pmmp

Can confirm that

Hmm that's odd. This needs to be due to one of the latest commits, as in my older version, it works just fine

maybe mtu related cause i read that being an issue for some users on Pocketmine
https://github.com/pmmp/PocketMine-MP/issues/2353

Shouldn't be an MTU Problem, works fine on the networks I'm working for, but I'm not using the latest version tho

especially then it could be an mtu problem

I think there were some Netty changes In one of the latest commits, might be a result of those commits

Oops nvm that was some time ago. I'll look into that once I found time

any updates?

Not really, haven't found time to look into that. Can you maybe provide me your Waterdog Jar per Discord?

I use servers with custom addresses (not localhost) only. It works well. Im using latest waterdog. But my pmmp is older. I dont think it is due to netty upstream update. It looks more like pmmp related stuff.

i dont know what fixed it but my selfbuilt jar worked


Badge is not working for scripts either

I noticed that the link to badges when looking at a script wasn't working either, so this is my attempt to remove the star link.

http://www.bemmu.com/how-to-create-a-pull-request-on-github
"Any resemblance with actual pull requests is purely coincidental." - Bemmu


Remove unused dotenv_codegen and proc-macro2

These dependencies were not being used:

dotenv_codegen(https://crates.io/crates/dotenv_codegen) – this is used for the dotenv! macro which we don't use
proc-macro2(https://crates.io/crates/proc-macro2) – we also don't use the macros under this crate

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
11617

Relevant Lines:
13116

💛  - Coveralls


Upgrade to support library v25.1.1

It seems nothing preference related has changed.

Released v<IP_ADDRESS>.


Subsets of the Superset

Once the superset specification has been drafted, we will also need subset specs as outlined in #17
Which ones should be selected?
Here's my votes:
+1 JSON-LD
+1 Turtle
-1 RDFa
-1 anything that mandates XHTML
+0 everything else
The reasoning behind this is to align with current adoption, popularity with web developers, backwards compatibility, and areas that have a chance of achieving broad adoption and growth.
Happy to hear other opinions on this.

Consider, in HTML you can use RDFa, or a data island in JSON, OR Turtle, it's one too many to be clear with a reasonable default.

@webr3 I like your point! If data islands were to be supported by WebID-Turtle and WebID-JSONLD there would be no need for this group to also specify WebID-RFDa. Agreed.

I am unclear on what is being asked/decided in this issue.
I cannot tell what the "superset specification" is (or is to be).
Nor can I tell what the full list of possible "subset specs" is. Listed here, I see 3 specifics (JSON-LD, Turtle, RDFa) and 2 wildcards ("anything that mandates XHTML", "everything else").
None of this seems to be outlined in #17.
Could someone try to re-write/summarize the question (issue) being discussed here, in (relatively) plain language?

Hi @TallTed !
Here's a few links that might help to contextualize this:

New chair: https://lists.w3.org/Archives/Public/public-webid/2023Nov/0121.html
Nathan's superspec/subspec proposal: https://lists.w3.org/Archives/Public/public-webid/2023Jul/0056.html , originating in https://github.com/w3c/WebID/issues/17
Super-early superspec draft: https://jacoscaz.com/WebID/superspec/webid.html

Fundamentally, the idea is to produce a minimal WebID "superspec" (I think another word to describe it would be a framework spec) focusing on the underlying concepts and mechanisms of WebIDs while leaving serialization formats (Turtle, JSON-LD, ...) and specific features (TLS, OIDC, ...) up to subspecs.
The end result should, of course, be functionally compatible with the current version of the spec. The intention is not to create something functionally different but, rather, to re-organize the spec so as to overcome the current impasse and finally get to WebID 1.0.
Amongst other triggers, all this was prompted by the Solid WG intention of taking over the WebID spec, given the long wait for WebID 1.0:  https://github.com/solid/solid-wg-charter/issues/39 . I don't mean this in a bad way, I actually think handing everything over to the Solid WG group is a good idea. But, there is tangible consensus around the superspec/subspec approach and it does feel worth a try.
As for how I became chair... I honestly do not know.

Good idea to separate formats (serializations) and features (authentication, signing, encryption, delegated login).  We dont want a big NxM matrix which would be confusing.  Instead two sections, one for serializations, one for features.  The subset specs can standardize the way they want, based on how the system is used.

Just a suggestion, because the language appears to be confusing to a number of people, and I can see why...
Can we stick to the terminology defined in the W3C Note on Variability in Specifications?

Also: before diving into which data formats or features to support, let's park that and focus on the core definition(s)?

Can we stick to the terminology defined in the W3C Note on Variability in Specifications?

@woutermont very good point and suggestion, I fully agree. In trying to consider how that note can apply to WebID I have come up with the following:

the WebID spec should be designed for extensibility through an open-ended list of profiles
each profile should focus on a specific feature (e.g.: WebID-TLS for authentication through client-side certificates)
the spec, and not one of its profiles, should regulate how implementors should qualify their implementations in terms of supported serialization formats

What do you think? How would you apply that note to WebID?

Also: before diving into which data formats or features to support, let's park that and focus on the core definition(s)?

I agree in principle. For the time being I've intentionally opted to prioritize "breadth-first" rather than "depth-first" until the end of today, focusing on opening new fronts rather than closing existing ones. I feel this is more appropriate in light of https://lists.w3.org/Archives/Public/public-webid/2023Nov/0160.html, which triggered a process that should end in a few hours from now.

the WebID spec should be designed for extensibility through an open-ended list of profiles
each profile should focus on a specific feature (e.g.: WebID-TLS for authentication through client-side certificates)
the spec, and not one of its profiles, should regulate how implementors should qualify their implementations in terms of supported serialization formats

I actually think this is precisely the way to go 👍

Can we stick to the terminology defined in the W3C Note on Variability in Specifications?

the WebID spec should be designed for extensibility through an open-ended list of profiles
each profile should focus on a specific feature (e.g.: WebID-TLS for authentication through client-side certificates)
the spec, and not one of its profiles, should regulate how implementors should qualify their implementations in terms of supported serialization formats

I actually think this is precisely the way to go 👍

Excellent. Does anyone in the group object to this way forward? I think this question is particularly relevant for @kidehen, @TallTed  and @jonassmedegaard.

As mentioned, if clarifying definitions and requirements is what's needed as part of list of product classes that can be interoperable, that can be done so in the current WebID 1.0 ED with minimal work.
If something is unclear or underspecified, it is useful to look at what's originally intended. As I see it, the WebID 1.0 ED in its totality can be categorised to cover: identification, foundation/abstract, protocol, content/data. The amount of requirements that's needed for products to be interoperable is neither too many or complex, so it is fine to keep them together. Anything that needs to extend any notion or requirement, can still do so without having to necessarily take on everything. It is simpler to introduce/clarify information - within the current scope of the specification - instead of taking a far more complicated path with several specs.

See #17 the entire point is that WebID as it stands does not specify anything other than dereference to a turtle document with a single meaningless triple.

Are you speaking about a WebID or the WebID Specification? Either way, I don't accept your characterization.
BTW -- implementations of the WebID spec already exist, and they are based on the notion of a WebID that names an Agent unambiguously.
The main issue with the existing spec, which has been discussed in depth over the years, boils down to:

Turtle specificity, for WebID-Profile docs
Conflation with a specific authentication protocol

It's important to clarify that there is a consensus to divide WebID into two specifications: a superset and a subset. The Chair has confirmed this long-established agreement.
The superset will be highly minimal, akin to an "abstract class", defining the fundamental concept of a WebID as a URI that unambiguously identifies an Agent. The specifics of what constitutes an Agent and the criteria for this will be clearly outlined.
The current Editor's Draft, specific to Turtle, will remain as it has been for the past decade. However, it's tailored to Turtle. Other specifications can be developed to cater to different serialization profiles, accommodating diverse needs and preferences.
The Solid Working Group is welcome to adopt the Turtle WebID spec and enhance it as needed to ensure compliance.
Meanwhile, the WebID Community Group and related projects can freely progress, fostering innovation in the WebID domain with URIs that unambiguously denote an Agent, thereby facilitating out-of-the-box interoperability.
Given the substantial nature of this work, @jacoscaz has generously offered assistance to bring this to completion. It seems prudent to concentrate on this task before embarking on additional work iterms. Once finalized, the superset specification is expected to be sufficiently generic and stable, requiring little to no changes for years to come.

The current Editor's Draft, specific to Turtle, will remain as it has been for the past decade. However, it's tailored to Turtle. Other specifications can be developed to cater to different serialization profiles, accommodating diverse needs and preferences.

The current spec can be decoupled from Turtle, via a PR.

Given the substantial nature of this work, @jacoscaz has generously offered assistance to bring this to completion. It seems prudent to concentrate on this task before embarking on additional work iterms. Once finalized, the superset specification is expected to be sufficiently generic and stable, requiring little to no changes for years to come.

That isn't how I understand the work being done here.
The highest priority was fixing the current spec by decoupling it from Turtle, and a specific Authentication Protocol (i.e., WebID-TLS).
There is no such thing as a useful superset of the current WebID spec that won't lead to even more confusion.
All we need is a spec with the following tweaks:

Decoupling from Turtle
Decoupling from WebID-TLS, wherever that occurs (overtly or covertly)
Accepting properties outside FOAF for Agent and Profile Document association

Regarding point 3, here are some examples in the wild that already exist i.e., reiterating the utility of Schema.org terms.

https://www2.deloitte.com/us/en/profiles/beena-ammanath.html
https://www2.deloitte.com/us/en/profiles/nitin-mittal.html

Note:
Those profile docs aren't perfect, but they indicate what's happening on the back of Schema.org terms with regards to WebIDs and associated Profile Documents.
This train has long left the station, so it would be wise to get on board by leveraging the "Wisdom of Solomon" principle that I've mentioned repeatedly.

If you disagree, please prove your point using the specification text to factually find the flaw on #17 - perhaps I missed a MUST when reviewing.

That isn't how the point is proven, since I don't agree with your characterization neither here nor in issue 17.
You assert:

I can't see any specification, would be my overriding point here, all that the spec actually specifies in any implementable way, is that an HTTP URI is a WebID Profile if it dereferences to literally any text/turtle response.

My position:
You are simply highlighting what needs to be fixed i.e., making the WebID Specification about the user of an HTTP URI for naming Entities Unambiguously.  The WebID-Profile document to which a WebID resolves is a different matter.
What's the conformance test?
Naming an entity unambiguously using an HTTP URI.
Examples that pass that basic test:

https://www2.deloitte.com/us/en/profiles/nitin-mittal.html#person
https://www2.deloitte.com/us/en/profiles/beena-ammanath.html/#person

The issue of profile document content-type only arises when implementing an Authentication Protocol, which is a totally different spec.

The Solid Working Group is welcome to adopt the Turtle WebID spec and enhance it as needed to ensure compliance.

I have no sense of any group seeking to adopt a Turtle-specific WebID spec. Where is this presumption coming from?

https://lists.w3.org/Archives/Public/public-webid/2023Jul/0065.html

Every HTTP URI passes that test. So what distinguishes one as a WebID, or better as naming an tbd:Agent.

The fact that it is used to denote an agent (person or organization) in a recognizable way, as per my examples. This includes human eyeballs and/or software applications i.e., not just software application which introduce content processing -- naturally.
The moment content-processing enters the mix, we enter the Profile Document realm en route to Authentication Protocol implementation -- since said protocol is all about Identity Authenticity.
Above all else, the grounding principles I espouse repeatedly regarding this matter boil down to loose-coupling of the following:

Identity -- an identifier offers that e.g., a WebID (which is about using an HTTP URI in this regard)
Identification -- a Profile Doc offers that
Authentication -- an authentication protocol offers that
Authorization -- attribute-based access controls (via ontology and processors) offer that
Storage -- various protocols handle that

I presume I'm missing something here and your not suggesting that if uri contains the string person then it's a webid.

I am not saying "person" has any bearing on the example HTTP URIs I presented. I am simply saying:
Here are examples of HTTP URIs used to unambiguously name agents.
An HTTP URI can be constructed from an HTTP URL by simply tacking on a "#" indexical. That's what I am referring to, specifically.
The WebID spec is supposed to be about how you construct a name from a specific kind of identifier.

I agree with @webr3 here: Scope of WebID spec is to specify what a web agent identifier is, and should specify that without expanding into stuff that is potentially ambiguous.
There are potentially multiple ways to resolve a name of an agent from an identifier of same agent, so such specification does not belong in the WebID spec. Possibly there could be multiple "wns" (WebID Name Resolving) specs, but personally I see no need for that: All the authentication specs proposed so far involve semantic graph extraction, which allows reasoning for various preferences in naming - e.g. "give me the SVG representation of the agent, or a PNG, or a textual representation - and pick the danish variant, or the norwegian, or the british english, or the irish, or if only an american english variant exists then don't resolve to that but instead show the raw IRI".

I agree with @webr3 here: Scope of WebID spec is to specify what a web agent identifier is, and should specify that without expanding into stuff that is potentially ambiguous.

That can be done in prose. Machine-computability of what's expressed in prose is something for a different spec i.e., a profile document or authentication protocol spec.
curl -I https://www2.deloitte.com/us/en/profiles/beena-ammanath.html#this
HTTP/1.1 200 OK
x-dispatcher: aemcloudservice
x-vhost: aemcloudservice
Last-Modified: Wed, 03 Jan 2024 17:31:35 GMT

Tells us that https://www2.deloitte.com/us/en/profiles/beena-ammanath.html is an unambiguous content address. Thus, it also implies that https://www2.deloitte.com/us/en/profiles/beena-ammanath.html#this is an unambiguous name derived from said address.
A WebID is simply an application of the above, but applied to naming agents (i.e., people, bots, or organizations) rather than anything.
Another possible route out of the current quagmire:
Change the "WebID Identity and Discovery Spec" title to "WebID Profile Document Spec" comprising Turtle and JSON-LD sub-specifications. As part of this approach, a WebID would be described as an HTTP URI for unambiguous entity naming that resolves to documents comprising content types and entity relationship types described in the relevant sub-specifications.
What's outlined above is closer to what I believe @webr3 seeks.

From my perspective the WebID spec is supposed to allow an implementer to be able to write a simple line of code like: if(X a Agent) then.

Yes, this is indeed where we differ.
From my vantage point, a specification titled "WebID Specification" wouldn't be about what you describe. A specification titled "WebID Profile Document Specification" is a much closer match.
Right now, we are stuck with "WebID Identity and Discovery Specification" which, as I've mentioned earlier, is a too-clever attempt at conflating critical items that should be loosely-coupled. The checkered history of this spec is ample proof of my point.

Without the is a Agent bit, it's not a WebID

Agree on this part.  I think the path forward is to first find a natural language definition, and then take it from there.

From my vantage point, a specification titled "WebID Specification" wouldn't be about what you describe.

Open to renaming the specs, which will have to be done anyway.  Perhaps we could separate that out into two distinct, but related issues, to avoid talking across each other, or overloading the chair with information in a short burst.

Rather I'm looking for an HTTP URI as a Name for an Agent spec, a WebID.

As I've tried to explain, using the DBpedia example, this quest always ends up in the same place. There's a boatload of history regarding this matter that dates back to the dreaded HttpRange14 debates, and others that crept into Linked Data Principles. The core matter is the same: attempting to spec an HTTP URI as an unambiguous name for anything (agent or whatever) ends up in the same place.
Antidote?
Specify the nature of the document to which an HTTP URI resolves, doing so in line with its usage purpose. That way you end up with a usage-specific definition of both an HTTP URI, the Content-Type of the document to which it resolves, and the Entity Relationship Type Semantics represented in the content.

Antidote?  Specify the nature of the document to which an HTTP URI resolves, doing so in line with its usage purpose. That way you end up with a usage-specific definition of both an HTTP URI, the Content-Type of the document to which it resolves, and the Entity Relationship Type Semantics represented in the content.

On this, it seems a radical departure from the decade long understanding that a WebID is a URI that denotes an Agent.  Perhaps you can come up with an alternative definition and propose it to the group and see if it catches on.
In any case, this thread was opened as a straw poll, and I believe it has achieved its purpose and created a few more items which can be followed elsewhere.  I think we have a rough feel for the shape of extension profiles in turtle and json-ld, with more allowed, which can be ironed out in future.

Closing this issue as it having achieved it's purpose of straw polling and garnering opinion.  Can be reopened if desired.

[separately specifying identifier, profile and authentication which together specifies a valid authentic agent] seems a radical departure from the decade long understanding that a WebID is a URI that denotes an Agent.

I fail to see how it is a radical depature to separately specifying identifier and profile which together specifies a valid agent, given that those have till now only been explored as a single specification.
If you meant something else by "it" (which I replaced in my quote above), then it would be helpful if you elaborate, and I apologise for misinterpreting you.