CTEST result points to cmake file, not source file

Brief Issue Summary
When a test fails it points to the add_test in the cmake instead of the source line.
CMake Tools Diagnostics
{
  "os": "linux",
  "vscodeVersion": "1.80.1",
  "cmtVersion": "1.14.34",
  "configurations": [
    {
      "folder": "/home/user/Projects/project_name",
      "cmakeVersion": "3.22.1",
      "configured": true,
      "generator": "Ninja",
      "usesPresets": false,
      "compilers": {
        "C": "/usr/bin/clang",
        "CXX": "/usr/bin/clang++"
      }
    }
  ],
  "cpptoolsIntegration": {
    "isReady": true,
    "hasCodeModel": true,
    "activeBuildType": "Debug",
    "buildTypesSeen": [
      "Debug"
    ],
    "requests": [
      "file:///home/user/Projects/project_name/src/utils/deque.c",
      "file:///home/user/Projects/project_name/src/utils/deque.h",
      "file:///home/user/Projects/project_name/tests/utils/deque_test.c",
      "file:///home/user/Projects/project_name/tests/utils/stream_test.c"
    ],
    "responses": [
      {
        "uri": "file:///home/user/Projects/project_name/src/utils/deque.c",
        "configuration": {
          "includePath": [
            "/home/user/Projects/project_name/src"
          ],
          "defines": [],
          "compilerPath": "/usr/bin/clang",
          "compilerArgs": [],
          "compilerFragments": [
            "-g",
            "-std=c17"
          ]
        }
      },
      {
        "uri": "file:///home/user/Projects/project_name/tests/utils/deque_test.c",
        "configuration": {
          "includePath": [
            "/home/user/Projects/project_name/src"
          ],
          "defines": [],
          "compilerPath": "/usr/bin/clang",
          "compilerArgs": [],
          "compilerFragments": [
            "-g",
            "-std=c17"
          ]
        }
      },
      {
        "uri": "file:///home/user/Projects/project_name/tests/utils/stream_test.c",
        "configuration": {
          "includePath": [
            "/home/user/Projects/project_name/src"
          ],
          "defines": [],
          "compilerPath": "/usr/bin/clang",
          "compilerArgs": [],
          "compilerFragments": [
            "-g",
            "-std=c17"
          ]
        }
      }
    ],
    "partialMatches": [],
    "targetCount": 31,
    "executablesCount": 3,
    "librariesCount": 0,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": true
    }
  ]
}

Debug Log
[main] Building folder: project_name
[main] Saving open files before configure/build
[build] Starting build
[driver] Start build all
[proc] Executing command: /usr/bin/cmake --build /home/user/Projects/project_name/build --config Debug --target all --
[proc]   with environment: {"CHROME_DESKTOP":"code-url-handler.desktop","CLUTTER_IM_MODULE":"ibus","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","DEFAULTS_PATH":"/usr/share/gconf/plasma.default.path","DESKTOP_SESSION":"plasma","DISPLAY":":0","GDK_BACKEND":"x11","GPG_AGENT_INFO":"/run/user/1000/gnupg/S.gpg-agent:0:1","GTK2_RC_FILES":"/etc/gtk-2.0/gtkrc:/home/user/.gtkrc-2.0:/home/user/.config/gtkrc-2.0","GTK_IM_MODULE":"ibus","GTK_RC_FILES":"/etc/gtk/gtkrc:/home/user/.gtkrc:/home/user/.config/gtkrc","HOME":"/home/user","IM_CONFIG_PHASE":"1","KDE_APPLICATIONS_AS_SCOPE":"1","KDE_FULL_SESSION":"true","KDE_SESSION_UID":"1000","KDE_SESSION_VERSION":"5","LANG":"en_US.UTF-8","LESSCLOSE":"/usr/bin/lesspipe %s %s","LESSOPEN":"| /usr/bin/lesspipe %s","LOGNAME":"user","MANDATORY_PATH":"/usr/share/gconf/plasma.mandatory.path","ORIGINAL_XDG_CURRENT_DESKTOP":"KDE","PATH":"/home/user/.local/bin:/home/user/bin:/home/user/.local/bin:/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin","PWD":"/home/user","QT_ACCESSIBILITY":"1","QT_AUTO_SCREEN_SCALE_FACTOR":"0","QT_IM_MODULE":"ibus","SESSION_MANAGER":"local/hotbox:@/tmp/.ICE-unix/3214,unix/hotbox:/tmp/.ICE-unix/3214","SHELL":"/bin/bash","SHLVL":"0","SSH_AGENT_PID":"3019","SSH_AUTH_SOCK":"/tmp/ssh-XXXXXXbf6xOv/agent.2948","SYSTEMD_EXEC_PID":"2937","USER":"user","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_CODE_CACHE_PATH":"/home/user/.config/Code/CachedData/74f6148eb9ea00507ec113ec51c489d6ffb4b771","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/home/user","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/run/user/1000/vscode-5af86b53-1.80-main.sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-us\",\"osLocale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_PID":"180104","XAUTHORITY":"/home/user/.Xauthority","XCURSOR_PATH":"/usr/share/icons","XCURSOR_SIZE":"24","XCURSOR_THEME":"Breeze_Snow","XDG_CONFIG_DIRS":"/home/user/.config/kdedefaults:/etc/xdg/xdg-plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings","XDG_CURRENT_DESKTOP":"KDE","XDG_DATA_DIRS":"/usr/share/plasma:/home/user/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop","XDG_RUNTIME_DIR":"/run/user/1000","XDG_SEAT":"seat0","XDG_SEAT_PATH":"/org/freedesktop/DisplayManager/Seat0","XDG_SESSION_CLASS":"user","XDG_SESSION_DESKTOP":"KDE","XDG_SESSION_ID":"1","XDG_SESSION_PATH":"/org/freedesktop/DisplayManager/Session0","XDG_SESSION_TYPE":"x11","XDG_VTNR":"1","XMODIFIERS":"@im=ibus","_":"/usr/share/code/code","ELECTRON_RUN_AS_NODE":"1","APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL":"1","VSCODE_L10N_BUNDLE_LOCATION":"","NINJA_STATUS":"[%s/%t %p :: %e] "}
[build] ninja: no work to do.
[driver] Build completed: 00:00:00.015
[cmakefileapi-parser] Read reply folder: /home/user/Projects/project_name/build/.cmake/api/v1/reply
[cmakefileapi-parser] Found index files: ["cache-v2-91369e984008e797eb06.json","cmakeFiles-v1-12c8e20cacdfdd2a0133.json","codemodel-v2-b291b45251000fb1507a.json","directory-.-Debug-f5ebdc15457944623624.json","index-2023-07-26T03-02-27-0588.json","target-Continuous-Debug-57713e4c31f9ddc57551.json","target-ContinuousBuild-Debug-0819b99f6df246679ecb.json","target-ContinuousConfigure-Debug-83d0d6d2247052865f84.json","target-ContinuousCoverage-Debug-90df1cef9d058484279b.json","target-ContinuousMemCheck-Debug-d68469ea365e09f217e0.json","target-ContinuousStart-Debug-43c0643bac8496996388.json","target-ContinuousSubmit-Debug-795f117978c8ea712082.json","target-ContinuousTest-Debug-da5123a650bbd94541ca.json","target-ContinuousUpdate-Debug-84b4c368d3b05d2d3f6c.json","target-Experimental-Debug-cbfd34242a781f029ab0.json","target-ExperimentalBuild-Debug-9344eee10ab0e58f18ed.json","target-ExperimentalConfigure-Debug-4bc3268b67471f0bdaa0.json","target-ExperimentalCoverage-Debug-d6792a44cd2d6940031c.json","target-ExperimentalMemCheck-Debug-89e9ed5a626941f4d166.json","target-ExperimentalStart-Debug-c96f9f8f08639a3918ab.json","target-ExperimentalSubmit-Debug-62c7e3a9549ced9e7af1.json","target-ExperimentalTest-Debug-46716144f9ae182fcb5d.json","target-ExperimentalUpdate-Debug-f3c20cb178c2e7753872.json","target-Inkscript-Debug-e19edf36a61b69578727.json","target-Nightly-Debug-75d1c730aa503cc383ff.json","target-NightlyBuild-Debug-89b8401b3511f457e1a9.json","target-NightlyConfigure-Debug-39a3bc273b34fbfc5597.json","target-NightlyCoverage-Debug-3e40c19783c1eba186e7.json","target-NightlyMemCheck-Debug-2bdc5a6b1bd4a7ce334e.json","target-NightlyMemoryCheck-Debug-80b4c843f343052a7d4b.json","target-NightlyStart-Debug-97b927329c11caf2b2bc.json","target-NightlySubmit-Debug-0c5629b19743b66ae00a.json","target-NightlyTest-Debug-af9d186ecffe0ad7d0c3.json","target-NightlyUpdate-Debug-45fe7e12b45b25d683ed.json","target-deque_test-Debug-83c62904eca2e32c93c8.json","target-stream_test-Debug-18b36dc9223974e5d00a.json","toolchains-v1-ed5bb0b9b73bff05356f.json"]
[cache] Reading CMake cache file /home/user/Projects/project_name/build/CMakeCache.txt
[cache] Parsing CMake cache string
[build] Build finished with exit code 0
[proc] Executing command: /usr/bin/ctest -j18 -C Debug -T test --output-on-failure -R ^deque_test$
[proc]   with environment: {"CHROME_DESKTOP":"code-url-handler.desktop","CLUTTER_IM_MODULE":"ibus","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","DEFAULTS_PATH":"/usr/share/gconf/plasma.default.path","DESKTOP_SESSION":"plasma","DISPLAY":":0","GDK_BACKEND":"x11","GPG_AGENT_INFO":"/run/user/1000/gnupg/S.gpg-agent:0:1","GTK2_RC_FILES":"/etc/gtk-2.0/gtkrc:/home/user/.gtkrc-2.0:/home/user/.config/gtkrc-2.0","GTK_IM_MODULE":"ibus","GTK_RC_FILES":"/etc/gtk/gtkrc:/home/user/.gtkrc:/home/user/.config/gtkrc","HOME":"/home/user","IM_CONFIG_PHASE":"1","KDE_APPLICATIONS_AS_SCOPE":"1","KDE_FULL_SESSION":"true","KDE_SESSION_UID":"1000","KDE_SESSION_VERSION":"5","LANG":"en_US.UTF-8","LESSCLOSE":"/usr/bin/lesspipe %s %s","LESSOPEN":"| /usr/bin/lesspipe %s","LOGNAME":"user","MANDATORY_PATH":"/usr/share/gconf/plasma.mandatory.path","ORIGINAL_XDG_CURRENT_DESKTOP":"KDE","PATH":"/home/user/.local/bin:/home/user/bin:/home/user/.local/bin:/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin","PWD":"/home/user","QT_ACCESSIBILITY":"1","QT_AUTO_SCREEN_SCALE_FACTOR":"0","QT_IM_MODULE":"ibus","SESSION_MANAGER":"local/hotbox:@/tmp/.ICE-unix/3214,unix/hotbox:/tmp/.ICE-unix/3214","SHELL":"/bin/bash","SHLVL":"0","SSH_AGENT_PID":"3019","SSH_AUTH_SOCK":"/tmp/ssh-XXXXXXbf6xOv/agent.2948","SYSTEMD_EXEC_PID":"2937","USER":"user","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_CODE_CACHE_PATH":"/home/user/.config/Code/CachedData/74f6148eb9ea00507ec113ec51c489d6ffb4b771","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/home/user","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/run/user/1000/vscode-5af86b53-1.80-main.sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-us\",\"osLocale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_PID":"180104","XAUTHORITY":"/home/user/.Xauthority","XCURSOR_PATH":"/usr/share/icons","XCURSOR_SIZE":"24","XCURSOR_THEME":"Breeze_Snow","XDG_CONFIG_DIRS":"/home/user/.config/kdedefaults:/etc/xdg/xdg-plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings","XDG_CURRENT_DESKTOP":"KDE","XDG_DATA_DIRS":"/usr/share/plasma:/home/user/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop","XDG_RUNTIME_DIR":"/run/user/1000","XDG_SEAT":"seat0","XDG_SEAT_PATH":"/org/freedesktop/DisplayManager/Seat0","XDG_SESSION_CLASS":"user","XDG_SESSION_DESKTOP":"KDE","XDG_SESSION_ID":"1","XDG_SESSION_PATH":"/org/freedesktop/DisplayManager/Session0","XDG_SESSION_TYPE":"x11","XDG_VTNR":"1","XMODIFIERS":"@im=ibus","_":"/usr/share/code/code","ELECTRON_RUN_AS_NODE":"1","APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL":"1","VSCODE_L10N_BUNDLE_LOCATION":""}
[ctest]    Site: hotbox
[ctest]    Build name: Linux-clang++
[ctest] Test project /home/user/Projects/project_name/build
[ctest]     Start 1: deque_test
[ctest] 1/1 Test #1: deque_test .......................***Failed    0.03 sec
[ctest] <?xml version="1.0" encoding="UTF-8"?>
[ctest] <!-- Tests compiled with Criterion v2.4.0 -->
[ctest] <testsuites name="Criterion Tests" tests="10" failures="1" errors="0" disabled="0">
[ctest]   <testsuite name="deque" tests="10" failures="1" errors="0" disabled="0" skipped="0" time="0.001">
[ctest]     <testcase name="size" assertions="6" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]     <testcase name="smoke" assertions="18" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]     <testcase name="pop_back" assertions="1" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]     <testcase name="push_front" assertions="5" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]     <testcase name="peek_back" assertions="5" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]     <testcase name="index" assertions="9" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]     <testcase name="pop_front" assertions="5" status="FAILED" time="0.000">
[ctest]       <failure type="assert" message="1 assertion(s) failed."><![CDATA[/home/user/Projects/project_name/tests/utils/deque_test.c:276: u_deque_pop_front returned false on null value and non-empty deque]]>
</failure>
[ctest]     </testcase>
[ctest]     <testcase name="empty" assertions="7" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]     <testcase name="peek_front" assertions="5" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]     <testcase name="push_back" assertions="5" status="PASSED" time="0.000">
[ctest]     </testcase>
[ctest]   </testsuite>
[ctest] </testsuites>
[ctest]
[ctest]
[ctest] 0% tests passed, 1 tests failed out of 1
[ctest]
[ctest] Total Test time (real) =   0.03 sec
[ctest]
[ctest] The following tests FAILED:
[ctest] 	  1 - deque_test (Failed)
[ctest] Errors while running CTest
[proc] The command: /usr/bin/ctest -j18 -C Debug -T test --output-on-failure -R ^deque_test$ exited with code: 8
[ctest] CTest finished with return code 8
[proc] Executing command: /usr/bin/ctest -j18 -C Debug -T test --output-on-failure -R ^stream_test$
[proc]   with environment: {"CHROME_DESKTOP":"code-url-handler.desktop","CLUTTER_IM_MODULE":"ibus","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","DEFAULTS_PATH":"/usr/share/gconf/plasma.default.path","DESKTOP_SESSION":"plasma","DISPLAY":":0","GDK_BACKEND":"x11","GPG_AGENT_INFO":"/run/user/1000/gnupg/S.gpg-agent:0:1","GTK2_RC_FILES":"/etc/gtk-2.0/gtkrc:/home/user/.gtkrc-2.0:/home/user/.config/gtkrc-2.0","GTK_IM_MODULE":"ibus","GTK_RC_FILES":"/etc/gtk/gtkrc:/home/user/.gtkrc:/home/user/.config/gtkrc","HOME":"/home/user","IM_CONFIG_PHASE":"1","KDE_APPLICATIONS_AS_SCOPE":"1","KDE_FULL_SESSION":"true","KDE_SESSION_UID":"1000","KDE_SESSION_VERSION":"5","LANG":"en_US.UTF-8","LESSCLOSE":"/usr/bin/lesspipe %s %s","LESSOPEN":"| /usr/bin/lesspipe %s","LOGNAME":"user","MANDATORY_PATH":"/usr/share/gconf/plasma.mandatory.path","ORIGINAL_XDG_CURRENT_DESKTOP":"KDE","PATH":"/home/user/.local/bin:/home/user/bin:/home/user/.local/bin:/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin","PWD":"/home/user","QT_ACCESSIBILITY":"1","QT_AUTO_SCREEN_SCALE_FACTOR":"0","QT_IM_MODULE":"ibus","SESSION_MANAGER":"local/hotbox:@/tmp/.ICE-unix/3214,unix/hotbox:/tmp/.ICE-unix/3214","SHELL":"/bin/bash","SHLVL":"0","SSH_AGENT_PID":"3019","SSH_AUTH_SOCK":"/tmp/ssh-XXXXXXbf6xOv/agent.2948","SYSTEMD_EXEC_PID":"2937","USER":"user","VSCODE_AMD_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_CODE_CACHE_PATH":"/home/user/.config/Code/CachedData/74f6148eb9ea00507ec113ec51c489d6ffb4b771","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/home/user","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/run/user/1000/vscode-5af86b53-1.80-main.sock","VSCODE_NLS_CONFIG":"{\"locale\":\"en-us\",\"osLocale\":\"en-us\",\"availableLanguages\":{},\"_languagePackSupport\":true}","VSCODE_PID":"180104","XAUTHORITY":"/home/user/.Xauthority","XCURSOR_PATH":"/usr/share/icons","XCURSOR_SIZE":"24","XCURSOR_THEME":"Breeze_Snow","XDG_CONFIG_DIRS":"/home/user/.config/kdedefaults:/etc/xdg/xdg-plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings","XDG_CURRENT_DESKTOP":"KDE","XDG_DATA_DIRS":"/usr/share/plasma:/home/user/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop","XDG_RUNTIME_DIR":"/run/user/1000","XDG_SEAT":"seat0","XDG_SEAT_PATH":"/org/freedesktop/DisplayManager/Seat0","XDG_SESSION_CLASS":"user","XDG_SESSION_DESKTOP":"KDE","XDG_SESSION_ID":"1","XDG_SESSION_PATH":"/org/freedesktop/DisplayManager/Session0","XDG_SESSION_TYPE":"x11","XDG_VTNR":"1","XMODIFIERS":"@im=ibus","_":"/usr/share/code/code","ELECTRON_RUN_AS_NODE":"1","APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL":"1","VSCODE_L10N_BUNDLE_LOCATION":""}
[ctest]    Site: hotbox
[ctest]    Build name: Linux-clang++
[ctest] Test project /home/user/Projects/project_name/build
[ctest]     Start 2: stream_test
[ctest] 1/1 Test #2: stream_test ......................   Passed    0.03 sec
[ctest]
[ctest] 100% tests passed, 0 tests failed out of 1
[ctest]
[ctest] Total Test time (real) =   0.03 sec
[ctest] CTest finished with return code 0

Additional Information
This happens when using the criterion test framework (catch2-like) regardless of output type, here I have used the --xml tag to generate junit4-like output, but this occurs regardless of output type.
Images

Thanks for the report! @xisui-MSFT do you know if there's a workaround for this issue?

Unfortunately, this is not possible, since CTest doesn't even have this info itself. If you need this feature, I'd suggest you use some test frameworks like catch2 or google test, and then use the corresponding extensions that provide test explorer function.

@xisui-MSFT, I thought I saw the information in the xml @Chase-san posted. Is there a way to map it back to the failure?
[ctest]     <testcase name="pop_front" assertions="5" status="FAILED" time="0.000">
[ctest]       <failure type="assert" message="1 assertion(s) failed."><![CDATA[/home/user/Projects/project_name/tests/utils/deque_test.c:276: u_deque_pop_front returned false on null value and non-empty deque]]>
</failure>
[ctest]     </testcase>

@xisui-MSFT, I thought I saw the information in the xml @Chase-san posted. Is there a way to map it back to the failure?
[ctest]     <testcase name="pop_front" assertions="5" status="FAILED" time="0.000">
[ctest]       <failure type="assert" message="1 assertion(s) failed."><![CDATA[/home/user/Projects/project_name/tests/utils/deque_test.c:276: u_deque_pop_front returned false on null value and non-empty deque]]>
</failure>
[ctest]     </testcase>

This is the output from the framework (Criterion). We only support features in CTest, but not features in test frameworks.

@Chase-san Right, basically all CTest does are to invoke the test binary and check the return code.


WW-5446 Fixes deprecated code and missing dependencies

Refs WW-5446

@burtonrhodes another small step, you can the build here

Thanks - still experiencing the same issue though. :-/

But you mean just suggesting JSP pages in <result> is missing? I know and trying to figure out what's wrong, addressed all the dependencies and deprecated code hopping this will help :\

After playing around with it, the autocomplete does work now and they are clickable.  I realized I did not have the "web" module added in my Project Structure.  After adding the appropriate module configuration, all of the files in my /webapp/** directory are available in the auto complete list.  After inserting; however, they are still showing up red.  But definitely a workable solution as-is.  Apologies for not noticing the missing Web module configuration earlier.

Hm... it doesn't work for me, I already had the web module defined yet no JSPs in autocomplete, and no red lines :\

Now it works 🤦 - could you share path of your JSPs? I only whitelisted JSPs from /WEB-INF/**

I have my jsps in the following folder structure
[module]
/src
    /webapp
        /js
        /struts    <-- jsps are here
        /WEB-INF
        ...etc

and in my web.xml I deny access to that folder
<security-constraint>
    <web-resource-collection>
        <web-resource-name>Restricted Assets</web-resource-name>
        <url-pattern>/struts/*</url-pattern>
        <url-pattern>/META-INF/*</url-pattern>
    </web-resource-collection>
</security-constraint>

That said, is there a security reason why you would whitelist or limit where to look for jsps?  I feel like the entire module (or at least webapp directory) would be fair game for a search/autocomplete inside an IDE.

No real reason, just WEB-INF isn't accessible by default, I will update the pattern

Can you bump the IntelliJ version number from 241 -> 242 in build.gradle.kts?  It won't install as I have the latest version of IntelliJ.  Also, is there a way to future proof that untilBuild.set("242.*") line?  Omitting it doesn't seem to help, but maybe put something like untilBuild.set("250.*")?  It seems unnecessary to have to rebuild/publish the entire plugin for small IDE upgrades which they tend to do many times per year.
Lastly, you might consider doing a search/replace for the string "Struts 2" in the code base.  Probably more appropriate to display "Struts" to the end user instead.
My IntelliJ version
IntelliJ IDEA 2024.2.1 (Ultimate Edition)
Build #IU-242.21829.142, built on August 28, 2024

This isn't that easy, I also must keep version.set("2024.2.1") in sync and they are removing/changing the Platform code with each version, so I must manually introduce changes.

I'm going to merge this as I'm working on better build & release process


test

Pipelines as Code CI/windows11-virtio-installer-run- has failed.
Namespace: default
PipelineRun: windows11-virtio-installer-run-8rv57

Task Statuses:

StatusDurationName

✅ Succeeded
24 seconds
import-win-iso

❌ Failed
24 seconds
import-autounattend-configmaps

✅ Succeeded
4 seconds
delete-imported-iso

✅ Succeeded
5 seconds
delete-imported-configmaps

Failure snippet:
task import-autounattend-configmaps has the status "Failed":
d
error: no objects passed to apply

Pipelines as Code CI has failed.There was an issue validating the commit: "error getting remote pipeline from pipelinerun annotation: remote pipeline from uri: ./tasks/kubevirt-disk-uploader.yaml has not been recognized as a tekton pipeline: &{{Task tekton.dev/v1} {kubevirt-disk-uploader-task      0 0001-01-01 00:00:00 +0000 UTC   map[app.kubernetes.io/version:0.5.0] map[tekton.dev/categories:Automation tekton.dev/displayName:KubeVirt Disk Uploader tekton.dev/pipelines.minVersion:0.43.0 tekton.dev/platforms:linux/amd64 tekton.dev/tags:kubevirt, containerdisks] [] [] []} {[{VM_NAME string The name of the virtual machine map[]  []} {VOLUME_NAME string The volume name of the virtual machine map[]  []} {IMAGE_DESTINATION string Destination of the image in container registry map[]  []} {ENABLE_VIRT_SYSPREP string Enable or disable preparation of disk image map[]  []} {PUSH_TIMEOUT string ContainerDisk push timeout in minutes map[]  []}]  Automates the extraction of disk and uploads it to a container registry, to be used in multiple Kubernetes clusters. [{kubevirt-disk-uploader-step quay.io/ksimon/kubevirt-disk-uploader:latest [/usr/local/bin/kubevirt-disk-uploader] [--vmname $(params.VM_NAME) --volumename $(params.VOLUME_NAME) --imagedestination $(params.IMAGE_DESTINATION) --enablevirtsysprep $(params.ENABLE_VIRT_SYSPREP) --pushtimeout $(params.PUSH_TIMEOUT)]  [] [{REGISTRY_USERNAME  &EnvVarSource{FieldRef:nil,ResourceFieldRef:nil,ConfigMapKeyRef:nil,SecretKeyRef:&SecretKeySelector{LocalObjectReference:LocalObjectReference{Name:kubevirt-disk-uploader-credentials-tekton,},Key:registryUsername,Optional:nil,},}} {REGISTRY_PASSWORD  &EnvVarSource{FieldRef:nil,ResourceFieldRef:nil,ConfigMapKeyRef:nil,SecretKeyRef:&SecretKeySelector{LocalObjectReference:LocalObjectReference{Name:kubevirt-disk-uploader-credentials-tekton,},Key:registryPassword,Optional:nil,},}}] {map[memory:{{5368709120 0} {} 5Gi BinarySI}] map[memory:{{3221225472 0} {} 3Gi BinarySI}] []} [] []  nil  nil []     [] []}] []  [] [] []}}"

Pipelines as Code CI/windows11-virtio-installer-run- has successfully validated your commit.
Namespace: default
PipelineRun: windows11-virtio-installer-run-jb9sb

Task Statuses:

StatusDurationName

✅ Succeeded
6 seconds
import-autounattend-configmaps

✅ Succeeded
4 seconds
import-win-iso

✅ Succeeded
3 seconds
create-vm-root-disk

✅ Succeeded
6 minutes
modify-windows-iso-file

✅ Succeeded
3 seconds
create-vm

✅ Succeeded
20 minutes
wait-for-vmi-status

✅ Succeeded
4 seconds
create-datasource-root-disk

✅ Succeeded
18 minutes
upload-image-to-registries

✅ Succeeded
4 seconds
delete-imported-iso

✅ Succeeded
5 seconds
cleanup-vm

✅ Succeeded
11 seconds
delete-imported-configmaps


Cannot find '../build/Release/addon'

I have a few moving parts here so bear with me... I get this error when trying to run the basic example:
root@281e58f4e6b1:/srv/pi-led-test# node led.js
module.js:338
    throw err;
    ^

Error: Cannot find module '../build/Release/addon'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/srv/pi-led-test/node_modules/raspi-io/node_modules/raspi/lib/index.js:30:29)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)

I'm running this using raspi-io v5.0.0 with node v4.1.2 on a Pi Zero, inside a docker container. The OS is 4.1.12-hypriotos+, which is basically a custom Raspbian Jessie build.
The funny thing is, I managed to install all the dependencies successfully. The only thing that had a soft failure to compile natively is execSync, but the whole process was fine. The error is below.
...
npm info install<EMAIL_ADDRESS>
><EMAIL_ADDRESS>install /srv/pi-led-test/node_modules/raspi-io/node_modules/raspi-i2c/node_modules/execSync
> node install.js

[execsync v1.0.2] Attempting to compile native extensions.
[execSync v1.0.2]
    Native code compile failed!!
npm info postinstall<EMAIL_ADDRESS>...

If anyone has any ideas, I'd greatly appreciate some direction.

So I've figured out that installing and attempting to run my script as root is the problem. Not entirely sure why it's causing a problem but if I su pi and install my deps and run my script in the pi user's home directory it's all good.

That's...strange. I would guess it has something to do with docker shenanigans, but honestly that's just a guess. I don't really know. tbqh, I only test on Raspbian Jesse directly, so I wouldn't be too surprised if there are issues with other configurations (even if they're just derivations).

So it doesn't appear to be a docker issue. When I install as root it's a no go, but if I install as the pi user all good. Honestly, I have no idea why but basically don't install as the root user and you are all good.

kk good to know. Sorry I don't have any ideas/leads for you to work off of.

I am having the same issue here. It would be great to add a trouble shooting hint as part of the README. Besides this I think it would be great, if a solution could be found for the issue.

@mwittig were you able to get it working using the workaround @ekryski mentioned above?

@nebrius Kind of ... if I install with an unprivileged user it works as ecpected. However, in my case raspi-io is used as part of a home-automation server which provides an update servive for plugins (nodejs packages). As the server runs as root (some packages like wiringPI require root privileges on wheezy at least) the package installation is performed as root. I have also tried to add "config": { "unsafe-perm":true } to the package.json but this did not help. So, I guess, the only solution at the moment is to change the update procedure of the home automation server to perform a change user at the beginning of the installation procedure.
Regarding this issue ticket my suggestion is to add the note in the README as it seems to be pitfall for a few users.

@mwittig can you submit that as a PR?

Sorry, I missed this. Done now.


I fixed a rare bug and enhanced one method

Fixed a crash when there is no line 15 in spdx9_config.txt file in Drivers folder (thanks,  SergeantDiggs)
WriteSettings() method in SettingManagerForm is more efficient now -allowhwcursor it uses StreamWriter instead of StringBuilder( + File.WriteAllLines())

I hope you are ok and just busy...
If you need some help - you may write here (not many people came here so it's half-private) or send me an e-mail<EMAIL_ADDRESS>Take care :-)

Oof yeah I am indeed kinda busy for sure. I should be able to review this tomorrow as Github throws the usual fit about merge conflicts that I have to solve manually.

Sounds kinda mysterious ;-)
I'm glad that you are fine

Ah, ok!
You remember that I like to do things in an easy (but a little bit wrong way ;-) )
But I will do the right thing this time!

I can't fetch from upstream because of that:

<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

GitKraken says that I have problems with SSH keys when I would try to do the same action using it: Configured SSH key is invalid.
So, the problem is in just one file - DoW Mod Manager/LatestStable/DoW Mod Manager.exe
Of course those are two different files - yours is from 2.2.0 while mine is from 2.2.1
If I would have some more unusual code - wouldn't we have more conflicting files?
I would just delete DoW Mod Manager.exe just for my pool request ;-)

Looks like GitHub likes DoW Mod Manager.exe from version 2.2.0 ;-)
I know - that's not the correct way to do that... But it's already working! You should just build "DoW Mod Manager v2.2.1.exe" and copy it by executing "CopyExecutableHere.cmd".

Now this is proper weird now. The binary was not the problem here. The issue is with the Minibrowser.Designer.cs and Minibrowser.cs file. When I look at Github Files changed tab this file doesn't show up as changed, but when I fetch the pull locally on my machine and then Diff it to my master branch it shows this file as changed. I have changed the minibrowser icon in my recent push to fit the rest of the app, but when I build your version the icon is again missing. This indeed confirms that said file is overwritten by this pull, yet it doesn't show up as in the changed files tab? Below I attached images of my local diff of the said overridden files.

Thankfully these changes would be simple to merge back in but I am really concerned why this file change is not highlighted by Github in the first place.

On the matter of the SSH key, you'll have to generate yourself a SSH key first. This tutorial describes how to do this: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
Alternatively you can try substituting:
git remote add --track master upstream git@github.com:Fragjacker/DoW-Mod-Manager.git
with
git remote add --track master upstream https://github.com/Fragjacker/DoW-Mod-Manager.git
And see if that works, since that one doesn't require you to have an SSH Key created.

That's strange that Git doesn't see the diffs in those two files.
About SSH - I installed My SSH key in GitKRaken some times ago - maybe it's interfering with fetching.
I could try to fix that or I could just take your two files and the problem will be solved instantly (and that doesn't make anything worse - I will just remember that I must be more careful with SSH keys)

Alright I have merged this pull request but I also did some small changes to it. I would advise you to pull the latest changes from my master branch to be safe 😁 .

Ah, ok!
I will ;-)


The preview2_tcp_bind test is flaky

I can't figure out what's going on here so I'm going to open a tracking issue. This if for this failure which looks like this:

---- async_::preview2_tcp_bind stdout ----
preopen: TempDir { path: "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\wasi_components_preview2_tcp_bind.component_hZxoQE" }
[guest] stderr:
thread 'main' panicked at crates\test-programs\src\bin\preview2_tcp_bind.rs:34:19:
error: access-denied (error 1)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

===
thread 'async_::preview2_tcp_bind' panicked at crates\wasi\tests\all\async_.rs:319:51:
called `Result::unwrap()` on an `Err` value: error while executing at wasm backtrace:
    0: 0xe2f1 - <unknown>!__rust_start_panic
    1: 0xe141 - <unknown>!rust_panic
    2: 0xe11e - <unknown>!std::panicking::rust_panic_with_hook::hc93abff18edee779
    3: 0xd4ca - <unknown>!std::panicking::begin_panic_handler::{{closure}}::h922bcdd9c6fdedfb
    4: 0xd3f7 - <unknown>!std::sys_common::backtrace::__rust_end_short_backtrace::h2597d6ecb1d3419e
    5: 0xda39 - <unknown>!rust_begin_unwind
    6: 0x129c1 - <unknown>!core::panicking::panic_fmt::h35d9e7e9c02f9eb5
    7: 0x2f82 - <unknown>!preview2_tcp_bind::test_tcp_bind_specific_port::he40761acd6a2af48
    8: 0x4e9e - <unknown>!preview2_tcp_bind::main::h47d079031e93f9b9
    9: 0x17d1 - <unknown>!core::ops::function::FnOnce::call_once::h1a7ef71025f93dd4
   10: 0x17a8 - <unknown>!std::sys_common::backtrace::__rust_begin_short_backtrace::h93f974fb575844d0
   11: 0x1889 - <unknown>!std::rt::lang_start::{{closure}}::h64df62ed2be5009e
   12: 0xb925 - <unknown>!std::rt::lang_start_internal::h394de9c4666f4612
   13: 0x1834 - <unknown>!std::rt::lang_start::h103283f62218f32f
   14: 0x5466 - <unknown>!__main_void
   15: 0x1783 - <unknown>!_start
   16: 0x2e103c -<EMAIL_ADDRESS>note: using the `WASMTIME_BACKTRACE_DETAILS=1` environment variable may show more debugging information

Caused by:
    wasm trap: wasm `unreachable` instruction executed
stack backtrace:
   0: rust_begin_unwind
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library\std\src/panicking.rs:595:5
   1: core::panicking::panic_fmt
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library\core\src/panicking.rs:67:14
   2: core::result::unwrap_failed
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library\core\src/result.rs:1652:5
   3: core::result::Result<T,E>::unwrap
   4: all::async_::preview2_tcp_bind::{{closure}}::test_impl::{{closure}}
   5: all::async_::preview2_tcp_bind::{{closure}}
   6: <core::pin::Pin<P> as core::future::future::Future>::poll
   7: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
   8: tokio::runtime::park::CachedParkThread::block_on
   9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
  10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
  11: tokio::runtime::context::runtime::enter_runtime
  12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
  13: tokio::runtime::runtime::Runtime::block_on
  14: all::async_::preview2_tcp_bind
  15: all::async_::preview2_tcp_bind::{{closure}}
  16: core::ops::function::FnOnce::call_once
  17: core::ops::function::FnOnce::call_once
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library\core\src\ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---- sync::preview2_tcp_bind stdout ----
preopen: TempDir { path: "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\wasi_components_preview2_tcp_bind.component_TmfeeA" }
[guest] stderr:
thread 'main' panicked at crates\test-programs\src\bin\preview2_tcp_bind.rs:34:19:
error: access-denied (error 1)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

===
thread 'sync::preview2_tcp_bind' panicked at crates\wasi\tests\all\sync.rs:262:45:
called `Result::unwrap()` on an `Err` value: error while executing at wasm backtrace:
    0: 0xe2f1 - <unknown>!__rust_start_panic
    1: 0xe141 - <unknown>!rust_panic
error: test failed, to rerun pass `-p wasmtime-wasi --test all`
    2: 0xe11e - <unknown>!std::panicking::rust_panic_with_hook::hc93abff18edee779
    3: 0xd4ca - <unknown>!std::panicking::begin_panic_handler::{{closure}}::h922bcdd9c6fdedfb
    4: 0xd3f7 - <unknown>!std::sys_common::backtrace::__rust_end_short_backtrace::h2597d6ecb1d3419e
    5: 0xda39 - <unknown>!rust_begin_unwind
    6: 0x129c1 - <unknown>!core::panicking::panic_fmt::h35d9e7e9c02f9eb5
    7: 0x2f82 - <unknown>!preview2_tcp_bind::test_tcp_bind_specific_port::he40761acd6a2af48
    8: 0x4e9e - <unknown>!preview2_tcp_bind::main::h47d079031e93f9b9
    9: 0x17d1 - <unknown>!core::ops::function::FnOnce::call_once::h1a7ef71025f93dd4
   10: 0x17a8 - <unknown>!std::sys_common::backtrace::__rust_begin_short_backtrace::h93f974fb575844d0
   11: 0x1889 - <unknown>!std::rt::lang_start::{{closure}}::h64df62ed2be5009e
   12: 0xb925 - <unknown>!std::rt::lang_start_internal::h394de9c4666f4612
   13: 0x1834 - <unknown>!std::rt::lang_start::h103283f62218f32f
   14: 0x5466 - <unknown>!__main_void
   15: 0x1783 - <unknown>!_start
   16: 0x2e103c -<EMAIL_ADDRESS>note: using the `WASMTIME_BACKTRACE_DETAILS=1` environment variable may show more debugging information

Caused by:
    wasm trap: wasm `unreachable` instruction executed
stack backtrace:
   0: rust_begin_unwind
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library\std\src/panicking.rs:595:5
   1: core::panicking::panic_fmt
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library\core\src/panicking.rs:67:14
   2: core::result::unwrap_failed
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library\core\src/result.rs:1652:5
   3: core::result::Result<T,E>::unwrap
   4: all::sync::preview2_tcp_bind::test_impl
   5: all::sync::preview2_tcp_bind
   6: all::sync::preview2_tcp_bind::{{closure}}
   7: core::ops::function::FnOnce::call_once
   8: core::ops::function::FnOnce::call_once
             at /rustc/cc66ad468955717ab92600c770da8c1601a4ff33/library\core\src\ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

failures:
    async_::preview2_tcp_bind
    sync::preview2_tcp_bind

test result: FAILED. 170 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 300.39s

This is on the MinGW platform (so Windows) and the precise commit at the time was https://github.com/bytecodealliance/wasmtime/commit/cd895435378182bdf7473ee99b8148b6f32204db.
I also saw this before with a similar failure (but slightly different code)
I'm running this in a loop locally on Windows and it's not failing, so I'm not entirely sure.
cc @badeend

@alexcrichton I think this is exactly the same issue as https://github.com/bytecodealliance/wasmtime/pull/7339, except that Windows sometimes returns EACCESS instead of EADDRINUSE (depending on some arcane rules I still don't fully understand)
Hopefully, changing Err(ErrorCode::AddressInUse) => {} to Err(ErrorCode::AddressInUse | ErrorCode::AccessDenied) => {} in the test will "fix" this.

Oh wow now that is a set of tables! Makes sense though, and thanks for pointing that out! I'll look to add this tomorrow unless you beat me to it


Handling of length delimiters

It would be useful to have functions to handle length delimiters, I am trying to read a buffer via unix pipe (without EOF) and I would like to be able to read the fixed length prefix that contains the length of the rest of the buffer
Protobuf docs:
Length-Delimited Records
For example on Rust there are the following function to handle with it:
decode_length_delimiter
encode_length_delimiter
length_delimiter_len
Info:

MacOS sonoma

Xcode 15

Swift 5

SwiftProtobuf 1.22.0

Thank you!

The 1.x release already have something via InputStream - https://github.com/apple/swift-protobuf/blob/1.22.1/Sources/SwiftProtobuf/BinaryDelimited.swift
Sadly, InputStream likes to lie about available bytes/eof, so it isn't as smooth as one would hope, but it's something.
There's also a PR in flight for main to async sequence support, but that won't appear in a release until we make a 2.0.


Columns are broken

When not defining, eg,  xs, columns doesn't auto compute to 100% width.
Check grid-generator.

Fixed in 25e5d02


chore(tests): improve auth page tests

This PR aims to improve how the Auth page is tested in the dashboard. Currently, we are checking whether the empty state is visible when opening the page, which is unnecessary and causes errors between tests running simultaneously.
Additionally, I improved the observability of the authentication workflow by adding a separate project to the config.

Codecov Report

Merging #1796 (c166dad) into main (5e82e1b) will increase coverage by 0.04%.
The diff coverage is 97.85%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #1796      +/-   ##
==========================================
+ Coverage   87.18%   87.23%   +0.04%
==========================================
  Files          83       83
  Lines        8972     9006      +34
  Branches      537      538       +1
==========================================
+ Hits         7822     7856      +34
  Misses       1150     1150

Impacted Files
Coverage Δ

packages/nhost-js/src/index.ts
100.00% <ø> (ø)

packages/hasura-auth-js/src/hasura-auth-client.ts
61.34% <50.00%> (ø)

...ura-auth-js/src/machines/authentication/machine.ts
98.35% <75.00%> (ø)

...ages/hasura-auth-js/src/promises/addSecurityKey.ts
40.90% <80.00%> (ø)

packages/hasura-auth-js/src/errors.ts
89.60% <100.00%> (ø)

...ura-auth-js/src/machines/authentication/context.ts
100.00% <100.00%> (ø)

...ckages/hasura-auth-js/src/machines/change-email.ts
100.00% <100.00%> (ø)

...ges/hasura-auth-js/src/machines/change-password.ts
100.00% <100.00%> (ø)

packages/hasura-auth-js/src/machines/enable-mfa.ts
98.54% <100.00%> (ø)

...ages/hasura-auth-js/src/machines/reset-password.ts
100.00% <100.00%> (ø)

... and 21 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Post url's to your Chalk website here!

Hey everyone,
I would love to see your websites using Chalk and feature them on the website!
Please post them below :-)
And thanks for using/supporting Chalk.

chalkpe.github.io

Great work, thanks! :heart_eyes:

Had to put it offline, but it'll be here again: migueldemoura.com :smiley:

Happy with the final results - yes it's somewhat tailored to my liking :)
https://the.dabblers.work - Voila!
Customizations include:

Replacing CSS fonts with SVG
Sass and HTML tweaks for the navigation bar (using the SVG icons)
Inclusion of svgxuse via Yarn package to support SVG icon selection via symbol identifier
Inclusion of inner post navigation to previous and next articles
Alignment fixes for pagination links (might have been introduced as a regression when moving to SVG, haven't confirmed yet)
Changes to header.html include and config.yml to support jekyll-seo-tag
Quick tweak to navigation.html include to support jekyll-email-protect

Site is hosted on Google's Firebase service and built / deployed via GitLab CI

@madcatsu, nice, especially the svg icons :+1: By the way, change the horizontal breaking point, right now the social icons aren't properly positioned when resizing to some dimensions like 570px.

@migueldemoura nice pickup. Had to increase the breakpoint for extra-small to 640px, my fault for all the extra icons!!  :D

try-debug-loop and finally http://bitcat.serveblog.net
Thanks for GREAT template Chalk and circleci, Github Pages

https://micah.pegman.online

Here is mine thegrandmother.github.io
Its still a work in progress and hasn't been updated in a while, but at least the theme is epic :)

Website: https://rahulja.in
Code: https://github.com/xRahul/xRahul.github.io
I have added many addons to the theme here like AMP support, PWA, tag cloud, structured data etc.
This theme is epic and great to build upon!

Here is mine

And here's mine!
Thanks so much for this!

@gsaslis So cool!


Update log levels

Oh yeah - this CVE on Jackson is hitting everyone. I'll try to get a build out soon.


Bump versions of dependencies

This PR contains changes in these PRs opened by renovate

https://github.com/giantswarm/default-apps-openstack/pull/68
https://github.com/giantswarm/default-apps-openstack/pull/69
https://github.com/giantswarm/default-apps-openstack/pull/70
https://github.com/giantswarm/default-apps-openstack/pull/71

Testing

[ ] Fresh install works.
[ ] Upgrade from previous version works.

Checklist

[x] Update changelog in CHANGELOG.md.
[x] Make sure values.yaml is valid.

Manually tested 👍


How do I add callOptions to faceDetection ()?

I'm trying to set a detection limit for ImageAnnotatorClient.faceDetection().
However, when I try to put the Object of CallOptions described in the document, an error is returned.
const visionAPI = new vision.ImageAnnotatorClient({
	projectId: GCPProjectID,
	keyFilename: '.envs/serviceAccount.json'
});
const [faceDetectionResult] = await visionAPI.faceDetection(DetectionImageFilePath, {maxResults: 10});

The depends version I'm using are listed below.
"dependencies": {
    "@google-cloud/vision": "^2.3.1",
	"typescript": "^4.2.4",

$ node -v
v14.16.1

const options = {maxResults: 10};
const [faceDetectionResult] = await visionAPI.faceDetection(DetectionImageFilePath, options);

With the snippet provided above, I am closing this issue.
If you still experiencing any issue, feel free to reopen
Thanks


datalake async forgotten test files

Added async files for test files that were forgotten in the original datalake async test prs

/azp run java - storage - tests


Tutorial link in README redirecs to 404

Link: "Tutorial - do this first!" in README.md goes to this URL:
https://github.com/ReactTraining/react-router-tutorial
Which is throwing a 404.

Fixed!


chore: handle PayForBlobNamespaceID in merge

Closes https://github.com/celestiaorg/celestia-app/issues/1285
Description

Handle PayForBlobNamespaceID in merge
Extract merge to a new file
Extract merge to a new file
Add a unit test that uses sample block data

Codecov Report

Merging #1298 (e7c9e94) into main (75ff4c4) will decrease coverage by 0.02%.
The diff coverage is 79.04%.

@@            Coverage Diff             @@
##             main    #1298      +/-   ##
==========================================
- Coverage   49.72%   49.71%   -0.02%
==========================================
  Files          76       78       +2
  Lines        4374     4383       +9
==========================================
+ Hits         2175     2179       +4
- Misses       2016     2020       +4
- Partials      183      184       +1

Impacted Files
Coverage Δ

pkg/shares/reconstruct.go
72.91% <72.91%> (ø)

pkg/shares/parse.go
82.35% <82.35%> (ø)

pkg/shares/share_sequence.go
82.35% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

if we wanted to get a little fancy, we could also modify an existing "fuzzing" integration test that is already generating random block data, to also test reconstruction.

I'm concerned the existing "fuzzing" test that tests reconstruction doesn't actually generate pay for blob txs here

I'm concerned the existing "fuzzing" test that tests reconstruction doesn't actually generate pay for blob txs hereI'm concerned the existing "fuzzing" test that tests reconstruction doesn't actually generate pay for blob txs here

whoops, I should have pointed to the test I was thinking of, yeah I think we should test this using blocks that are using more realistic data, like with this test.
https://github.com/celestiaorg/celestia-app/blob/main/app/test/fuzz_abci_test.go

created a follow up for this PR https://github.com/celestiaorg/celestia-app/issues/1322, in which case I think we're clear to merge

Thanks for creating the follow-up issue. Will merge this as-is because it contains a fix.


Disposing Language Switcher fails if current Switcher<> is empty

Related to #161.
In some rare cases the Sitecore.Common.Switcher<DbLanguages>.CurrentValue returns null. This leads to exception when disposing a Db instace:
System.InvalidOperationException: Stack is null or empty.
   at Sitecore.Common.Switcher`2.Exit()
   at Sitecore.Common.Switcher`2.Dispose()
   at Sitecore.FakeDb.Db.Dispose(Boolean disposing)

Fixed in v1.5.0.

Using Sitecore.FakeDb Version <IP_ADDRESS>. In some cases, getting the below error.
System.InvalidOperationException: Stack is null or empty.
at Sitecore.Common.Switcher2.Exit()    at Sitecore.Common.Switcher2.Dispose()
Below is code. Not sure what went wrong. Please help.

try {
using (new Sitecore.Security.Accounts.UserSwitcher(@"extranet\demo", true))
{
HttpContext.Current = MockHelpers.FakeHttpContext(); //Mocking the session
var objRes = new PolicyLogic().GetDetailsbypolicynumber("123456789");
Assert.IsTrue(objRes != null && objRes.Documents.Count > 0);
}
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
Thanks

Hi @Manoharan13, just refactored your test to get minimal verifiable sample (there are no MockHelpers and PolicyLogic classes on my side):
using (new Sitecore.Security.Accounts.UserSwitcher(@"extranet\demo", true))
{
    var request = new HttpRequest(string.Empty, "http://mysite", string.Empty);
    var response = new HttpResponse(new StringWriter());
    HttpContext.Current = new HttpContext(request, response);
}

The problem is in resetting current HTTP context and unfortunately FakeDb has nothing to do here.
Please take a look on the Switcher<,> class. It keeps 'switched contexts' in the Sitecore.Context.Items property which refers to HttpContext.Current (see ItemsContext class). Resetting the current http context kills the stored switchers and that's why you receive this error.
The recommendation is to avoid http context resetting and inject dependencies into your code as needed instead of relying on the current context.


fix: Cypress tests for Server Side Rendering

Summary | Résumé

Updates Cypress tests for current App Router build.
Remove flag for FormTimer
Remove flag for ReCaptcha
Update yarn to 4.1.0
Add pre-stage git hook to format prettier
Add client side accessible env var (NEXT_PUBLIC_APP_ENV) to disable form timer in tests
Adds missing locale to some internal links
Disable link prefetching on Language switcher (no need to prerender the exact page in different language)
Adds some debug statements to help figure out what is redirecting a user.  Will remove during big refactor coming up.
Wrap scripts injected in Head with Suspense.  This is due to a Cypress issue injecting it's own and causing react SSR mismatch hydration errors.
Add a new package to help debug Cypress tests.  It allows to show browser console messages in the terminal when running Cypress headless.  yarn cypress:run

@thiessenp-cds that error is because you don't have the recaptcha key in your .env file.  I thought I put logic in there to not load recaptcha if the key wasn't available.  I'll double check tomorrow.


Downloading olympic_100m_men dataset floods stdout

I noticed an issue when downloading the olympic_100m_men() dataset (originally using GPy). On a fresh pip install of pods, the terminal is flooded with ==== symbols, presumably from a status indicator of the download. Downloading proceeds incredibly slowly, so I reverted to manually downloading the data and placing it in the ods_data_cache folder. This issue does hinder ease of use though, as it stopped me from being able to download the data through the code interface.
Mark

Hi Mark,
Are you in Python3?
I upgraded it to python3 recently but it may have broke python2 ... I
haven't got full test coverage on the software download ...
On 29 Jan 2016 12:53, "Mark van der Wilk"<EMAIL_ADDRESS>wrote:

I noticed an issue when downloading the olympic_100m_men() dataset
(originally using GPy) On a fresh pip install of pods, the terminal is
flooded with ==== symbols, presumably from a status indicator of the
download Downloading proceeds incredibly slowly, so I reverted to manually
downloading the data and placing it in the ods_data_cache folder This issue
does hinder ease of use though, as it stopped me from being able to
download the data through the code interface
Mark
—
Reply to this email directly or view it on GitHub
https://github.com/sods/ods/issues/8.

I am still on Python 2, so that could make sense. Upgrading's priority is below "finishing thesis"...

Yes sorry Mark, try an older version if you don't have time to investigate
the fix!
On 29 Jan 2016 15:57, "Mark van der Wilk"<EMAIL_ADDRESS>wrote:

I am still on Python 2, so that could make sense. Upgrading's priority is
below "finishing thesis"...
—
Reply to this email directly or view it on GitHub
https://github.com/sods/ods/issues/8#issuecomment-176835859.

A quick-fix solution would be to run the download functions from a python3 shell, and then continuing as normal from python2, with the cached downloads, but if I find the fix, I'll post about it.

Thanks Mark!
On 29 Jan 2016 16:07, "Mark van der Wilk"<EMAIL_ADDRESS>wrote:

A quick-fix solution would be to run the download functions from a python3
shell, and then continuing as normal from python2, with the cached
downloads, but if I find the fix, I'll post about it.
—
Reply to this email directly or view it on GitHub
https://github.com/sods/ods/issues/8#issuecomment-176838809.


Enhancement of Time button - Enter the time manually

@goodchai0 Kindly assign me this under Hacktoberfest 2022.

Go ahead

star the repo


Ensure completed() and failure() does not error for skipped tests

Context

When a test class completes, all the in-progress tests have their TestState set to SKIPPED. In some cases, there can be a race condition between an in-progress test getting marked as SKIPPED and the test actually completing/failing. This can happen, for example, due to the test class having a timeout class rule.
The solution is for StateTrackingTestResultProcessor to keep track of which tests have been skipped, and short-circuit if these tests try to completed() or failure() later.
A better solution would be to ensure that the test class completed() is called after the test  completed(). But it looks like that's how JUnit4 works, and the test completed() is called after the test class completed()
Issue: #8112
Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@gaiazov Do you have time to continue to work on this issue or shall I take over?

@marcphilipp This looks like a useful thing to have, but if it's not quick to finish, I would close the PR.  We can always open it again if there's interest again.

@gaiazov Closing for now. Feel free to reopen should you find the time.


PDF Export of table broken

Source Code of the page: (Unfortunately I do not know how to post the source-code directly?)
It is always rendered as a html table....;)

Bezeichnung
Hersteller
Alternative(n)

Ceramic White
Citadel
Smelly Primer [OC], White Primer (002) [VGC], Foundation White (919) [VMC], Morrow white [P3]

And the corresponding output of the PDF-File:

Many thanks again Dan for your great piece of software and your support!
Cheers,
montharon

I can confirm this bug

Thank you for finding this issue. It is now fixed as of release v0.12.2.


Incompatible with JellyBean Xposed?

When I try to update the latest 1.7 version, Xposed says it's incompatible (or not valid APK). Maybe it's because I'm running v58 on JellyBean? Can you help, please?

Ah, in 1.7 I accidentally changed the min SDK version of the module to 19 (KitKat). Sorry about that. I've reverted it to 4 in 0b2cd1d753d4488c4330e98a7debce6ffa130817 (1.7.1).


Remove NoOperationAsync from Funcky.Async.Functional

Currently it is Task.
_ = doNotEnumerate.InspectAwait(NoOperationAsync);

This does not work because InspectAwait has the following signature:
public static IAsyncEnumerable<TSource> InspectAwait<TSource>(this IAsyncEnumerable<TSource> elements, Func<TSource, ValueTask> action)

We remove NoOperationAsync: use Task.CompletedTask or ValueTask.CompletedTask.

Merged into funcky3


python310Packages.pytest-regressions: 2.3.0 -> 2.3.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.pytest-regressions is: "Pytest fixtures to write regression tests"
meta.homepage for python310Packages.pytest-regressions is: "https://github.com/ESSS/pytest-regressions"
meta.changelog for python310Packages.pytest-regressions is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.3.1 with grep in /nix/store/a3wxs276msj1ww3m0nqladrlnjkq3ngb-python3.10-pytest-regressions-2.3.1

found 2.3.1 in filename of file in /nix/store/a3wxs276msj1ww3m0nqladrlnjkq3ngb-python3.10-pytest-regressions-2.3.1

Rebuild report (if merged into master) (click to expand)

26 total rebuild path(s)

13 package rebuild(s)

13 x86_64-linux rebuild(s)
13 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
commitizen
python310Packages.jupytext
python310Packages.markdown-it-py
python310Packages.mdformat
python310Packages.mdit-py-plugins
python310Packages.mypy-boto3-builder
python310Packages.pytest-regressions
python39Packages.jupytext
python39Packages.markdown-it-py
python39Packages.mdformat
python39Packages.mdit-py-plugins
python39Packages.mypy-boto3-builder
python39Packages.pytest-regressions

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/a3wxs276msj1ww3m0nqladrlnjkq3ngb-python3.10-pytest-regressions-2.3.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.pytest-regressions https://github.com/r-ryantm/nixpkgs/archive/e5c534504ad33bca46d883d9ca8e54179269c7cb.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/a3wxs276msj1ww3m0nqladrlnjkq3ngb-python3.10-pytest-regressions-2.3.1
ls -la /nix/store/a3wxs276msj1ww3m0nqladrlnjkq3ngb-python3.10-pytest-regressions-2.3.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

5 packages failed to build:

commitizen
python310Packages.jupytext
python310Packages.mypy-boto3-builder
python39Packages.jupytext
python39Packages.mypy-boto3-builder

8 packages built:

python310Packages.markdown-it-py
python310Packages.mdformat
python310Packages.mdit-py-plugins
python310Packages.pytest-regressions
python39Packages.markdown-it-py
python39Packages.mdformat
python39Packages.mdit-py-plugins
python39Packages.pytest-regressions

Maintainer pings
cc @AluisioASG for testing.

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

1 package marked as broken and skipped:

python39Packages.mypy-boto3-builder

12 packages built:

commitizen
python310Packages.jupytext
python310Packages.markdown-it-py
python310Packages.mdformat
python310Packages.mdit-py-plugins
python310Packages.mypy-boto3-builder
python310Packages.pytest-regressions
python39Packages.jupytext
python39Packages.markdown-it-py
python39Packages.mdformat
python39Packages.mdit-py-plugins
python39Packages.pytest-regressions


Example to show what each option is for in split multi valued cells

Is your feature request related to a problem or area of OpenRefine? Please describe.
In the split multi valued cells dialog, an option to have a user editable input to show result so as to explain what each option does. See this comment.
Describe the solution you'd like
We can work on this after #2471 is merged.
It can look something like this:

Describe alternatives you've considered

Additional context

So this is an "interactive" HELP dialog?  But when clicking OK does not perform operations, correct?

Right now, I was thinking that we could preview the result when the user presses enter inside the input textbox.
If the user presses OK button then the split task will be performed on the project like before.

That would be non-obvious.  Imagine I type some chars and then type more... I do not see the Result change.  I think if we are going to add the box "Result:" at the bottom we should do 1 important thing to make this more obvious to our users:

Reduce the "Input:" box length and add a button in line with it horizontally after called "Preview Result" that has an trigger on ENTER key press.
Somehow we need to give more attention to the "Result:" since it appears like just part of all the options.  I think a color choice of background, or some bar line to separate and give more attention to it.  Make the dialog appear more 2 part.... INPUT STUFF (with options)... OUTPUT STUFF.

Lots of attention example:

Little less attention example:

I think I would be confused by the "Input" and "Result" fields. I would not understand that they are intended to try out the configuration.
I would rather include a "preview" tab like we do for other operations. The values in this tab would be populated from the project data.

@wetneb Or that. :-)  But I didn't want to push since its a lot more work for @lisa761 It would fit more with how we do things...show the user previews with some rows of their own data.

I am okay with working on the preview tab instead. I currently have my second mid sems going, so it will be a little slow, but I can manage it :)

I am okay with working on the preview tab instead. I currently have my second mid sems going, so it will be a little slow, but I can manage it :)

I wonder, @lisa761, how you would feel about this: we mimic the behavior of the « Expression preview » dialog (time based after edit), but, we also add a « flash » with the preview section, kind of a visual beep. That way, the user would have feedback about a changed preview, will retaining the ease. I must say, I would add the flash to the « Expression preview » dialog also, but I kind of like it easiness and strait forward approche.
Regards,
Antoine

Not sure why a "flash" is needed (I am not sure what it would look like?). I would try to keep the interface quiet and not aggressive (especially for people with epilepsy or autism).

Not sure why a "flash" is needed (I am not sure what it would look like?). I would try to keep the interface quiet and not aggressive (especially for people with epilepsy or autism).

The flash could be a nice light blue wave, the idea is to show movement in the preview area.
It a nice way of saying to the use: the preview as changed, if you care to look. But it is so not-intrusive, that the user can just ignore it.
And yes, I didn't meant an aggressive flash. It was a poor choice of words.
Regards, A.

I think the fact that the preview area changes as the user changes settings is enough for users to pay attention to the preview. I would aim for uniformity between the dialogs: other preview areas do not have any extra animated decorations, beyond their own auto-update.

I would aim for uniformity between the dialogs: other preview areas do not have any extra animated decorations, beyond their own auto-update.

I'm all for uniformity between the dialogs, that's why my main proposition is to make it's behavior like « Expression Preview ». I just suggested the light effect in the preview, which could also be use with « automatic updates », like import dialogs, because it would give a visual feedback to the user, which help if the preview is far from where you type of click to generate the action. But it's not a desire of mine. It's just to brainstorm.
Regards, Antoine.


The ng-map is not loaded on the popup after the second click

I have been developing a popup using ngMap and UIBoostrap but after the second click the map is not loaded. Could you help to solve my mistake?
http://plnkr.co/edit/9qL26v92mtpo7HaV3AqH

This happens when second click happens, map width/height is 0px and 0px, and it's not redrawn with the full size of div, which is unlike the first load.
You need to redraw the map for this case.
http://plnkr.co/edit/Q0wfO9zNecaQQcuvpxCN?p=preview
Hope there is easier solution for this kind of case.


Visual Studio Code for AI has changed to Azure Machine Learninig.

There is no Visual Studio Code for AI in the extension market. How to use the new extension to submit the PAI job?

@GeoffreyChen777 - new update:
We had put the Tools for AI build in: https://github.com/Microsoft/vscode-tools-for-ai/releases/tag/0.3.2. You can download it and install from local with that build.
Note: to avoid auto upgrade, please make sure you VS Code had disabled the "Auto Upgrade".

I'm closing the issue as the problem had been resolved, we will update the documentation and release note once the OpenPAI extension is officially published. Stay tuned =).


stats.ks_2samp() misleading for small data sets.

scipy.stats.ks_2samp(x1, x2) implements the two-sided two-sample Kolmogorov-Smirnov test to compare two data sets.  It uses an asymptotic formula which is best suited to large size data sets.  When given small data sets, the results are quite far from correct
Reproducing code example:
>>> import scipy.stats
>>> scipy.stats.ks_2samp([0],[1])
Ks_2sampResult(statistic=1.0, pvalue=0.28904142837082675)

The statistic=1 is correct. However the actual pvalue is 1.0.
The ECDF of a sample with a single observation is a step function at that observation, and the difference between any 2 such ECDFs will have 2 steps, and the maximum absolute difference D_{1,1}=1.0. I.e. No matter the observations, the value D_{1,1} is always 1.0, hence Pr(D_{1,1} >= 1) = 1, which is not close to 0.289.
Below are some more examples:
>>> scipy.stats.ks_2samp([0],[1,2])
Ks_2sampResult(1.0, 0.2013129706454185)
# Correct is 0.6666666666666667

>>> scipy.stats.ks_2samp([1,2], [3,4,5,6])
Ks_2sampResult(1.0, 0.04686590906054742)
# Correct is 0.1333333333333333

I.e. There plenty of examples where the returned pvalue is small, even less than 5% say which is a common threshold for experimental results, but the true value is much greater.
Scipy/Numpy/Python version information:
1.3.0.dev0+e119b57 1.16.0 sys.version_info(major=3, minor=6, micro=6, releaselevel='final', serial=0)

Should be fixed by #9753, which I've now merged.


KCP crashes with cluster controller enabled and --listen <IP_ADDRESS>:6443

Describe the bug
KCP exits 255 with the cluster controller enabled and --listen <IP_ADDRESS>:6443
To Reproduce
Steps to reproduce the behavior:

go run ./cmd/kcp start
See crash

Expected behavior
No crash
Additional context
It's because the post-start hook is returning an error from here:
https://github.com/kcp-dev/kcp/blob/ecdcf386eb849d5865b40c0a9964322fc9cc1c57/pkg/reconciler/cluster/startup.go#L112
"could not bootstrap CRDs: [Error fetching CRD clusters.cluster.example.dev: Get \"https://<IP_ADDRESS>:6443/apis/apiextensions.k8s.io/v1/customresourcedefinitions/clusters.cluster.example.dev\": dial tcp <IP_ADDRESS>:6443: connect: connection refused, Error fetching CRD apiresourceimports.apiresource.kcp.dev: Get \"https://<IP_ADDRESS>:6443/apis/apiextensions.k8s.io/v1/customresourcedefinitions/apiresourceimports.apiresource.kcp.dev\": dial tcp <IP_ADDRESS>:6443: connect: connection refused, Error fetching ...+237 more"

We need to refactor how the cluster controller is configured and started:

We need to be able to create the controllers outside of the post-start hook
Inside the post-start hook, the only thing we should do is try to start them
We also need to remove the code in startup.go that starts the shared informer factories - these must be started outside (because they are created & owned by either a main.go or the kcp server.go code)

Note that now that #555 is in, our generated kubeconfigs no longer contain loopback/localhost for the server URL. Also the refactorings suggested above have been implemented. Going to close, but will reopen if we revert/change the kubeconfig logic to write out localhost again.


Change the var SSH_KEY to SSH_KEY_FILE

Since SSH_KEY doesn't exist anymore, but this same var is now set by the ci-framework playbooks1
Added the SSH_KEY_FILE var in cifmw_install_yamls_whitelisted_vars.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

/approve


preparing ogis-cxxloop-examples for ADC++2022 , step1

step1:  lots of modifications
SYNTAX  modified to:   loop[_up|_down][_h|_hh]_postops {}
renamed repository to ogis-cxxloop-examples

closed pull-reqquest by myself


Ability to add custom headers to requests in integration framework

Issue Number
#94

Overview

[ ] I have made possible add custom headers to requests in integration framework in order to test destructive scenarios

Comments
Relates to #56.

Merged into #128.


Too much memory used in simple read-write scenarii

See https://github.com/Minestom/Minestom/issues/422
Minestom uses ChunkColumn only for reading and writing to storage.
Following my discussion with @TheMode on Discord, an API to stream chunk contents instead of caching them could be introduced to reduce memory allocations.
Below is a memory flame graph following chunk loading with the AnvilLoader of Minestom

List of elements to implement:
Both Minestom and the internals of Hephaistos should use the streaming API.
(Will be updated when new things are found)
Streaming needs to provide both a way to read and a way to write (Minestom will need it).
Which features you want to use need to be explicit (to avoid reading stuff we don't care about, and simplify code). Depending on the implementation, this can be an abstract class with empty default implementations, or a bit mask.
Per-chunk data
Features used by Minestom:

[ ] Generation status
[ ] Chunk coordinates
[ ] Min Y
[ ] Max Y

Features represented with the current Hephaistos ChunkColumn/ChunkSection API

[ ] Data version
[ ] Last Update
[ ] InhabitedTime
[ ] Heightmaps
[ ] Entity NBT data (for old chunks)
[ ] Tile ticks

[ ] "To be ticked" list (< 1.18)

[ ] Liquid ticks

[ ] Liquids to be ticked (< 1.18)

[ ] Structure data
[ ] Lights
[ ] Post processing data
[ ] Air carving mask
[ ] Liquid carving mask
[ ] LightOn
[ ] Old biomes (< 1.18)

New features:

[ ] entities/ folder format

Per-section data
Features used by Minestom:

[ ] Biomes
[ ] Blocks

[ ] Palette
[ ] Block indices inside Palette

[ ] Tile entities
[ ] Sky light
[ ] Block light

Outside of the """new""" entities/ region files, all readers are ready.

Was done in commit 6b386efa4f610f8abb7917326cd88f1b22ab76d4


RedisStore throw an unserialization notice when a key used by an atomic lock is checked.

Laravel Version: v9.24.0 and v9.30.0
PHP Version: 8.0.17 and 8.1.9
Redis Driver & Version: Redis 5.3.7 using PHPRedis with php, json, igbinary serializers

Description:
I observed that Laravel raises a "PHP Notice" when a key used by an atomic lock is verified with the "has" method.
Steps To Reproduce:

Remove the 'lock_connection' from the redis configuration into cache.php config file.
Run artisan cache:clear
In Laravel Tinker type:

\Cache::lock('testlock', 20)->get();
\Cache::has('testlock');

Received result
PHP Notice:  unserialize(): Error at offset 0 of 16 bytes in /home/vagrant/testproject/code/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php on line 345
true

Expected result
Do not raise notice.
Notes
The result is received correctly however with a notice.
I am not sure if to use the "has" method in order to verify if a lock was acquire without to previously acquire the lock is good practice.

Does this also happens on the latest Laravel release?

Hi Dries, I can reproduce with 9.30, however I was doing some research and I think I found the reason.
It seems that I found the reason. It seems that my cache.php config file has missing 'lock_connection' parameter (My cache.php config file is a legacy one from an old version). When this parameter is missing then I can reproduce this issue (I edited the original bug report).
I observed that when the parameter is present the behavior is also different, so when 'lock_connection' => 'default' the "has" method will not find the key used in the lock.
Example:
Psy Shell v0.11.8 (PHP 8.0.17 — cli) by Justin Hileman
>>> \Cache::lock('testlock1', 20)->get();
=> true

>>> \Cache::has('testlock1');
=> false

If I remove the "lock_connection" from the configuration the "has" method will be able to find the key used. Example:
Psy Shell v0.11.8 (PHP 8.0.17 — cli) by Justin Hileman
>>> \Cache::lock('testlock1', 20)->get();
=> true

>>> \Cache::has('testlock1');
PHP Notice:  unserialize(): Error at offset 0 of 16 bytes in /home/vagrant/test/laravel/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php on line 345
=> true

It's logic that "has" method cannot find the key used in the atomic lock because the "lock_connection" indicate a different "connection" for the locks.

Ow I see. Yeah just don't remove that parameter from your config please.


python38Packages.ytmusicapi: 0.19.5 -> 0.20.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.ytmusicapi is: "Python API for YouTube Music"
meta.homepage for python38Packages.ytmusicapi is: "https://github.com/sigma67/ytmusicapi"
meta.changelog for python38Packages.ytmusicapi is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.20.0 with grep in /nix/store/am69iqlbdsx3dg0cxzbpr7hayd6sy5kg-python3.8-ytmusicapi-0.20.0

found 0.20.0 in filename of file in /nix/store/am69iqlbdsx3dg0cxzbpr7hayd6sy5kg-python3.8-ytmusicapi-0.20.0

Rebuild report (if merged into master) (click to expand)

19 total rebuild path(s)

12 package rebuild(s)

12 x86_64-linux rebuild(s)
7 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
docbookrx
libsForQt5.audiotube
libsForQt512.audiotube
libsForQt514.audiotube
libsForQt515.audiotube
mopidy-youtube
mopidy-ytmusic
plasma5Packages.audiotube
python38Packages.ytmusicapi
python39Packages.ytmusicapi
spotdl
ytmdl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/am69iqlbdsx3dg0cxzbpr7hayd6sy5kg-python3.8-ytmusicapi-0.20.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.ytmusicapi https://github.com/r-ryantm/nixpkgs/archive/817516c2f09fde770f64928b047f44a58d6df67d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/am69iqlbdsx3dg0cxzbpr7hayd6sy5kg-python3.8-ytmusicapi-0.20.0
ls -la /nix/store/am69iqlbdsx3dg0cxzbpr7hayd6sy5kg-python3.8-ytmusicapi-0.20.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages marked as broken and skipped:

libsForQt512.audiotube
libsForQt514.audiotube

1 package failed to build:

mopidy-ytmusic

6 packages built:

libsForQt5.audiotube
mopidy-youtube
python38Packages.ytmusicapi
python39Packages.ytmusicapi
spotdl
ytmdl

Maintainer pings
cc @dotlambda for testing.

duplicate of #153184


LFS-376: Filters for subjects

Jira link
This is a draft PR until LFS-209 has been merged.
Test branch: LFS-376-test, which includes LFS-209.
To test: Create a new Subject and a few forms. You should be able to filter forms based off of which subject they belong to.

@sashaandjic Should be fixed now, although there's no way to remove the subject from a form besides using composum (see below):

From /bin/browser.html, navigate to a newly created form, and click on the "Subject" value at the bottom right:

Click "Delete" to test removing a subject from a form.

Why am I getting this warning?

When filter perfectly works with  "=".

When I use "<>", "<=", "<" filtering does not bring blank subjects. Not sure how big of a deal is this one.
I get the warning "!" for the following operators:

= (sometimes)

<>; <=;  <; >;  >= (always)

is empty & is not empty render correct results

App crashes with the following errors when I select following filters:
All vocabularies filters : ReferenceError: defaultValue is not defined at eval (DVocabularyFilter.jsx:64)
All dates filters: ReferenceError: defaultValue is not defined at eval (DateFilter.jsx:64)
Numeric filters: ReferenceError: dataType is not defined at eval (NumericFilter.jsx:51)

ListFilter dropdown selections do not match the form selection labeles

When I use "<>", "<=", "<" filtering does not bring blank subjects. Not sure how big of a deal is this one.
I get the warning "!" for the following operators:
* = (sometimes)
* <>; <=;  <; >;  >= (always)
* is empty & is not empty render correct results

Upon closer inspection, I don't think we need the > < etc. comparators for Subjects at all, so I've removed them.

Any NumericFilter is crashing app with error:
Uncaught ReferenceError: NumberFormatCustom is not defined (NumericFilter.jsx:65)

Gender <> "" filter gets saved as Gender not empty

The problem that Sergiu reported is still present

VM running on http://<IP_ADDRESS>:8080/

@OrdiNeu Can you please rebase this?

@OrdiNeu Can you please rebase this?

Rebased, but give me a second to fix an issue that appeared after the rebase.

@sdumitriu Should be good now.


Where to collect the results?

There should be a unified place where users can submit results. Something very simple as this board would do, currently its hard to hunt down the results.

Did this ever get produced?  I just purchased the ZMorph VX and will run this if no one has before.  But no need to run if someone else already has.


[SystemChrome] setPreferredOrientations implementation added

[Before] not implemented
[After] Using API below allows to narrow some rotations of application UI
e.g.
/// to limit some orientations
List orientations = [DeviceOrientation.portraitUp, DeviceOrientation.landscapeLeft];
SystemChrome.setPreferredOrientations(orientations).then(
(value) => print("preferred orientations were set"));
/// to clear previous limitations
List orientations = [];
SystemChrome.setPreferredOrientations(orientations).then(
(value) => print("preferred orientations were CLEARED"));
This PR is related to part of https://github.sec.samsung.net/f-project/home/issues/35:
Even though there's no corresponding Tizen system API for locking the app orientation, can't we somehow manage the desired orientation information in the embedder to use with TizenEmbedderEngine::SetWindowOrientation? I think we should investigate this particular method in more details because many apps may want to use a fixed orientation.

@pwasowski2 Thank you for you feedback. I've applied all your suggestions.

@swift-kim I've renamed member name to tizen_renderer_ as you suggested.


Gitignore

Q
A

Bug fix?
yes

What's in this Pull Request?

Added a .gitignore file to prevent unnecessary files like .DS_Store from being tracked.
Removed existing .DS_Store files to keep the repository clean and focused.

This change is purely cosmetic to tidy up the repo and remove clutter.

Many thanks @petkir for your update! Much appreciated!.
Thank you for sharing your sample with others - you rock! 👏🥇👩💻


Make Connection Send

This PR addresses comments in #32 which taken together imply that Connection could be Send (but not Sync). Doing so would greatly ease integration in a project I'm working on, so I thought I'd see what the maintainers think.

Merged now, thanks @ctiller!


_name variable conflict with commander.js

Please see this issue _name variable conflict with mocha on the commander.js Issues list, for a conflict caused by the overwrite of the _name value

I'm not sure what's going on here (still), but it's definitely related to the mocha/_mocha thing.  we should look into it if we end up consolidating the files.  I'm still behind consolidating them, because if you need node/iojs flags, you have the option of using your node/iojs executable.

@boneskull I agree wrt consolidating them

this looks to be a non-mocha problem per the linked issue


Made hidden ProjectSettings groups more explicit

Follow-up to #61751
Changes long if into a more clean list of prefixes.
I experimented with autoloads. At first I tried marking them as internal when added, but the problem is that this isn't saved. The properties are simply loaded with ProjectSettings resource and then re-flagged. So there is no avoiding _get_property_list() or _validate_property() without some bigger changes that just aren't worth it.

Rebased. I moved the prefix definition to their respective part of code. I also changed the prefix container from List to LocalVector, which I think is faster.

It appears to add a lot of extra data to the docs, something broken in the implementation?

Fixed, I had to move input/ prefix back to ProjectSettings.
This is a funny problem. InputMap is created before ProjectSettings, so add_hidden_prefix() can't be used in its constructor. The 2 earliest methods InputMap are load_default(), which is called once in Main when the editor starts, and load_from_project_settings(), which is also called in Main, but is also a bound method, so adding prefix there would cause problems. Apparently doctool runs in non-editor context, hence calling the prefix method in load_default() did not work correctly. I think the best fix would be creating InputMap after ProjectSettings, but it's risky, so I just made an exception.

Thanks!


How to synchronize and align different data

Thanks for your work.
The sampling rate of Ergowear and Xsens (GT) are different, i.e., Ergowear is 100Hz, and Xsens is 60Hz. How to synchronize them and align the time frame?
Thanks!

Hi, you can use this util function: https://github.com/ManuelPalermo/HumanInertialPose/blob/main/hipose/utils.py#L118.
The Xsens is assumed to have uniform 100hz sampling rate (its very close, given that its a commercial system), on the other hand, the Ergowear data contains time stamps for each step (as the sampling rate might vary slightly). Acquisition was started with a hardware trigger, so both start sampling at roughly the same time.
Let me know if you have any other questions.

您好，邮件已收到！ 祝好！

Hi, thanks for sharing this great dataset!
Despite the question about sampling rate above, may I ask a question about the axis direction of Xsens?
For example, the direction in SMPL format is right-hand coordinate system.
(My purpose is to use AMASS dataset with your dataset together.)


commit contain file information

List commitsAll = gitLabApi.getCommitsApi().getCommits(123)
how could i found commit fileName or filePath by this "commit" information

@Sun-k
Commits can have many files associated with them, and sometimes it's a rename, a delete, etc.  So in order to get this information you need to get the diffs associated with the commit as follows:
List<Commit> commitsAll = gitLabApi.getCommitsApi().getCommits(123);
for (Commit commit : commitsAll) {
    List<Diff> diffs = gitLabApi.getCommitsApi().getDiffs(123, commit.getId());
    // Each diff has information related to the associated file
}

oh thank you !
I found it finally that is : gitLabApi.getCommitsApi().getDiff(123, commit.getId());


Extracting tar archives of Bruker .d folders sometimes fails silently.

Description of the bug
We've observed that extracting tar archives of Bruker .d folders will sometimes fail silently - the NFCORE_QUANTMS:QUANTMS:FILE_PREPARATION:DECOMPRESS will succeed, but the results extracted .d will be missing one or more files. This seems to occur randomly and often deleting the cached version and rerunning the workflow will solve it.
I propose adding a verification that the extracted folder matches the archive in the function here: https://github.com/bigbio/quantms/blob/85f04b84c1ef77ba29e83781d077d87b62397d9f/modules/local/decompress_dotd/main.nf#L42-L58
Specifically, I would change line 50:
                     *.tar)       tar xvf \$1     ;;

to:
                     *.tar)       tar xvf \$1 && tar df \$1 \$(basename \$1 .tar)     ;;

We could also add this to the tar.gz extraction as well.
Let me know what you think and I'm happy to put in a PR.
Command used and terminal output
No response
Relevant files
No response
System information
No response

@wfondrie do you think someone from your team can take this issue?

Absolutely - I'm happy to put in a PR here.


[DSPv2] Investigate MLMD Connectivity issues

per @rimolive 's investigation in #369 this might actually be a duplicate of #369
@gmfrasca to look into :)


Comparison with modular-bitfield

https://crates.io/crates/modular_bitfield is an older take on this idea and I planned to extend it or otherwise "build my own", though now I have found your lib and the "frontend" pretty much aligns with what I had in mind (coming closer to a real arbitrary bitwidth integer rfc).
The question now is how these two differ.
Your code seems much more readable and up-to-date, though maybe it should also have some kind of benchmark against handwritten code akin to modular-bitfield? Anything else, other than cosmetics?

Hello and sorry the late response. I took a quick look at others before starting this project; I couldn't find what I was looking for a variety of reasons (though I am not sure which of those apply to modular-bitfield in particular):

The use of byte arrays in some crates instead of simple types (e.g. u32) caused less efficient code generation,
The use of a too-foreign looking macro language confused my IDE of choice (Clion).

bitbybit simply operates on a standard type like u32 or u64, doing shifts and masks. The "smarts" of the macro are all in #[], that my IDE ignores anyway. So no red underlines there.
I also wanted to make arbitrary-int's (similar to ux, but using generics) are core part of the library. If a field is u4, you shouldn't be able to pass in 24, for example. As a result, bitbybit has very little error checking, as most things are handled by the type system (or arbitrary-int in e.g. u4::new()).
I can do some benchmarks, shouldn't be too hard. The reason I didn't do that is simply as the code is essentially what I'd write manually anyway, so it seemed rather unnecessary. But confirming sounds like a good idea.
Let me know if this answers your questions :)

Thank you, yes it does :)
Interesting that it started with IDE macro support issues. Will see how I can extend this for my needs.

Let's close this task? I don't think there's anything actionable in here any longer :)


chore: fix make test-unit permission error

Background
make test-unit is getting a permission error in one of the .wasm bytecode files.
This is what I'm getting when running make test-unit on main:
test.log
Suggested Design
We should fix these errors.
Acceptance Criteria
make test-unit passes with no errors

CC: @nicolaslara could it be related to any of the wasm files we merged today?

I don't think that's related, but I'll take a look.
It seems to be on the tests for the wasmbindings. My first guess is that something changed at the os level where the tests are run. I'll report back in a bit

@nicolaslara thanks for looking into it. Sounds like a machine-specific issue. I'll try debugging this locally

Did this problem get fixed for you @p0mvn ?


Show the plot when make_image_3d is run

Adds a call for plt.show() to the end of make_image_3d.py.  Also saved
the figure generated.

Do you have the urge to merge?

LGTM = Looks Good To Merge, is the button green on your end? :)


Update UnzipFile.java

Hey @fornarat - is this part of the work you're doing on an article? Or...do you have a bit more info on it?
Cheers,
Eugen.

The PR has a conflict as the file was moved. I've opened an internal jira issue to look into the case when files are in folders inside the zip.

Added a fix for this and the issue https://github.com/eugenp/tutorials/issues/7511 in the PR: https://github.com/eugenp/tutorials/pull/10268


task 4 issue

For the hippocampus task, I am getting this error:
    x = x.view(B, D * 8, H, W, C) RuntimeError: shape '[9, 32, 4, 4, 1152]' is invalid for input of size 414720. I set the number of channels to 1 and preprocessed the data. Any suggestions on how to resolve this?

what is the input size of your scan? It should be 128x128x128. At the moment, VT-UNet can only process an input size of 128x128x128.


Balanced value different from weights value

Hi,
I was confused when I use Table selector. I was not sure what is difference between "weights" and "balanced" and why the counts values are different when I use two different codes?
When I use c.bins().fetch('1')[:10], the results are
chrom   start      end    weight
0     1       0   100000       NaN
1     1  100000   200000       NaN
2     1  200000   300000       NaN
3     1  300000   400000       NaN
4     1  400000   500000       NaN
5     1  500000   600000       NaN
6     1  600000   700000       NaN
7     1  700000   800000  0.147579
8     1  800000   900000  0.081024
9     1  900000  1000000  0.143122
however, when I use c.matrix(as_pixels=True,join=True).fetch('1')[:10] ,the results are
chrom1  start1    end1 chrom2     start2       end2  count  balanced
0      1       0  100000      1          0     100000      6       NaN
1      1  100000  200000      1     100000     200000      1       NaN
2      1  200000  300000      1     200000     300000      4       NaN
3      1  500000  600000      1     500000     600000     98       NaN
4      1  500000  600000      1    4700000    4800000      1       NaN
5      1  500000  600000      1    8100000    8200000      1       NaN
6      1  500000  600000      1   66900000   67000000      1       NaN
7      1  500000  600000      1   74800000   74900000      1       NaN
8      1  500000  600000      1  109300000  109400000      1       NaN
9      1  500000  600000      1  249000000  249100000      1       NaN
I was wondering what are differences between those "balanced" values and "weights" values?
Besides, I was also confused about the count number/
when I use c.pixels().fetch('1')[:10], the results are
bin1_id  bin2_id  count
0        0        0      6
1        0     6067      1
2        0     8831      1
3        0    14364      1
4        0    23413      1
5        0    26605      1
6        1        1      1
7        1     8126      1
8        1    17436      1
9        2        2      4
while the count numbers in c.matrix(as_pixels=True,join=True).fetch('1')[:10] are
chrom1  start1    end1 chrom2     start2       end2  count  balanced
0      1       0  100000      1          0     100000      6       NaN
1      1  100000  200000      1     100000     200000      1       NaN
2      1  200000  300000      1     200000     300000      4       NaN
3      1  500000  600000      1     500000     600000     98       NaN
4      1  500000  600000      1    4700000    4800000      1       NaN
5      1  500000  600000      1    8100000    8200000      1       NaN
6      1  500000  600000      1   66900000   67000000      1       NaN
7      1  500000  600000      1   74800000   74900000      1       NaN
8      1  500000  600000      1  109300000  109400000      1       NaN
9      1  500000  600000      1  249000000  249100000      1       NaN
I was wondering why these two codes get different number of counts.
Thanks a lot!
Best,
Kun

what is difference between "weights" and "balanced"

A unique weight is assigned to each bin. A pixel inherits a weight1 and weight2 from its corresponding bin1 and bin2, respectively, and a count value. The balanced column contains the calculated value count * weight1 * weight2 for each pixel.

When I use c.bins().fetch('1')[:10], the results are

c.bins() will query the bin table, not pixels. Think of it as an "axis" of the matrix. See the description here.

when I use c.pixels().fetch('1')[:10], the results are

c.pixels() will query the pixel table. However, this selector doesn't understand 2D range queries. The fetch method interprets queries as slices along the bin1 axis (i.e. slices of full rows), so the output will also contain trans values.
I believe this fetch behavior for the pixel selector is not well documented, so we should probably fix that.

c.matrix(as_pixels=True,join=True).fetch('1')[:10]

c.matrix() is a 2D selector on pixels. The fetch method can take 2 arguments and fetch('1') is equivalent to fetch('1', '1'). The output does not contain any trans values in this case.
Does that make sense?

Thanks a lot for your prompt reply!
If I understand correctly, the balanced value is the final normalized value, right? If I want to do down-stream analysis like call TADs or compartment, for example, calling TADs on chr1, I could use c.matrix().fetch('1') as the dense contact matrix?
Other thing confused me is I am not clear whether this balanced process is doing within chromosome or also consider other chromosomes. For example, if I use c.matrix(as_pixels=True,join=True).fetch('1')[:], the results are:
chrom1     start1       end1 chrom2     start2       end2  count  balanced
0           1          0     100000      1          0     100000      6       NaN
1           1     100000     200000      1     100000     200000      1       NaN
2           1     200000     300000      1     200000     300000      4       NaN
3           1     500000     600000      1     500000     600000     98       NaN
4           1     500000     600000      1    4700000    4800000      1       NaN
...       ...        ...        ...    ...        ...        ...    ...       ...
147011      1  249000000  249100000      1  249000000  249100000    106  3.544801
147012      1  249000000  249100000      1  249100000  249200000      2  0.021134
147013      1  249100000  249200000      1  249100000  249200000    242  0.808036
147014      1  249100000  249200000      1  249200000  249250621      5       NaN
147015      1  249200000  249250621      1  249200000  249250621     63       NaN
I noticed that line4 has count value 98 but balanced value is NAN while line 147012 have count value 2 but balanced value 0.02. Also line 147011 with small count value(106) than line 147013 (242) but has higher balanced value. Shouldn't the balanced value be positive correlated with balanced value?
Thanks a lot!


Add getting started action to readme

##Readme update ###
please  add a getting started section to the readme so folks know how to start with this project###

Added #Getting started # section in readme file


FATAL: character_personal_logistic_requests_enabled non-existent

Error trace:

Error while running event Inventory-Trim::on_nth_tick(613)
LuaPlayer doesn't contain key character_personal_logistic_requests_enabled.
stack traceback:
[C]: in function '__index'
Inventory-Trim/control.lua:304: in function 'process_player'
Inventory-Trim/control.lua:383: in function 'check_monitored_players'
Inventory-Trim/control.lua:410: in function <Inventory-Trim/control.lua:409>

Ouch - whole thing is new: we have multiple LuaLogisticPoints with multiple Sections.

Rewrote the find_player_logistic_requests function to accommodate new logistic rules.
Allegedly, logistic requests can only ever relate to a single "quality", so we don't need to cope with "quality > Rare" etc. Defer "quality" to another task. Added FIXMEs wherever it looked appropriate.

And, game.item_prototypes[item_name] has become prototypes.item[item_name].

And, item.subgroup.name == "intermediate-product" or item.subgroup.name == "raw-material"
has become: item.group.name == "intermediate-products" or item.subgroup.name == "raw-resource"
(was that ever right? )


Feat/Style player registration page

The view page under player registrations link under the player tab in the league dashboard needs to be styled. This could also be done in conjunction with issue #42
Any styles should be added to "client/src/components/style.js" for now.

I would like to take on this issue

Did you get your google auth working?

@makkoli I have not. I followed the set up process from the link in the README

@benwh1te What part of the set up is giving you the trouble?

@benwh1te Could you send me a screenshot of the error you're receiving?


implement home page banner

I think this is a great idea. My take is that we should display the banner for first-time users ONLY. Those who are regular users don't need to see the banner because they wouldn't be regular users if they don't know what Tide is about so I propose that once the user logs in, we could remove the banner and/or display something else.


Crontab settings not persisted in 0.2.6

Upgraded to 0.2.6 and whenever I save settings to crontab, and reboot, it resets the value back to "0".
Export of config reveals that value is not being saved i.e. system.conf has
CRONTAB=0
Same on two cameras.  Was fine on 0.2.4.
Anything to dig, once I SSH onto the camera?

Probably I already fixed this issue.
See this commit: https://github.com/roleoroleo/yi-hack-Allwinner/commit/48ae06692866f7d055a3db119ac81102f97cf5bf