When is app shell updated?

This is probably a silly question, but I've used sw-precache for my site which worked great initially, but the only way I'm seeing the cached files updating is if I unregister the service worker.
When using this in production, when are the cached files supposed to update themselves? Am I doing something wrong perhaps?

The cache should be refreshed whenever you regenerate your SW file and there were underlying changes to the files it tracks. That will cause the SW file to include new hashes in the output, which will in turn trigger the SW update flow. As part of the install handler, the updated file(s) are fetched and cached, and any older versions of the same file are purged. Once the SW update flow completes, you'll need to reload the current page, and you should see the new resources.
If you're not seeing this behavior, could you point me to your deployed site so that I can investigate further?

Ahh I see. I generated the SW once with the command line and used that, assuming it would act somewhat like stale-while-revalidate and be fetching my resources in the background to check if they're new.
Perhaps it's worth clarifying in the readme somewhere.
I'll go ahead and add this to my build process instead which I imagine will solve the issue.
Thanks!

#78 contains an update to the language in the README. Let me know what you think.

@jeffposnick , I have added sw-precache to my build process and do see the hashs changing for the chnaged file on the generated sw file. But after my build I update my hosted static files for my webapp
. Yet, i dont see any changes on page reload, I have to check update on reload or unregister and register the SW to see the changes.

I dont know if this is the cause but the get request for my service-worker.js from my hosted app(firebase hosting)has a header of cache-control = 3600. If this is can you suggest a solution

@jeffposnick  I changed firebase config so my sw-registration.js and my-project-sw.js both have cache control max-age =0. Now the update registers on reload in the Service worker, But I am curious as to if this will have any negative effects that i'm not seeing.

Using a short or zero max-age for your service worker JavaScript file is normally a good idea. See http://stackoverflow.com/questions/38843970/service-worker-javascript-update-frequency-every-24-hours/38854905#38854905 for more context about that.


[doc-improvement] [link-update-tools-and-SDK]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/using-teams-client-sdk.md
92
17
link
:white_check_mark:

msteams-platform/toolkit/visual-studio-overview.md
92
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 0f0d9fa:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/using-teams-client-sdk.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/visual-studio-overview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/using-teams-client-sdk.md
92
17
link
:white_check_mark:

msteams-platform/toolkit/TeamsFx-multi-env.md
90
29
link
:white_check_mark:

msteams-platform/toolkit/publish.md
92
8
link
:white_check_mark:

msteams-platform/toolkit/visual-studio-overview.md
92
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit d4c7464:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/publish.md
:bulb:Suggestion
View
Details

msteams-platform/tabs/how-to/using-teams-client-sdk.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/TeamsFx-multi-env.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/visual-studio-overview.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/publish.md

Line 5, Column 12: [Suggestion: ms-author-invalid - See documentation] Invalid value for 'ms.author', 'yanjiang' is not a valid Microsoft alias.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/using-teams-client-sdk.md
92
17
link
:white_check_mark:

msteams-platform/toolkit/TeamsFx-multi-env.md
90
29
link
:white_check_mark:

msteams-platform/toolkit/publish.md
92
8
link
:white_check_mark:

msteams-platform/toolkit/visual-studio-overview.md
92
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit ab6cd22:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/publish.md
:bulb:Suggestion
View
Details

msteams-platform/tabs/how-to/using-teams-client-sdk.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/TeamsFx-multi-env.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/visual-studio-overview.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/publish.md

Line 5, Column 12: [Suggestion: ms-author-invalid - See documentation] Invalid value for 'ms.author', 'yanjiang' is not a valid Microsoft alias.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/using-teams-client-sdk.md
92
17
link
:white_check_mark:

msteams-platform/toolkit/TeamsFx-multi-env.md
90
29
link
:white_check_mark:

msteams-platform/toolkit/publish.md
92
8
link
:white_check_mark:

msteams-platform/toolkit/visual-studio-overview.md
92
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit a24d52b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/toolkit/publish.md
:bulb:Suggestion
View
Details

msteams-platform/tabs/how-to/using-teams-client-sdk.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/TeamsFx-multi-env.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/visual-studio-overview.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/publish.md

Line 5, Column 12: [Suggestion: ms-author-invalid - See documentation] Invalid value for 'ms.author', 'zyxiaoyuer' is not a valid Microsoft alias.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/using-teams-client-sdk.md
92
17
link
:white_check_mark:

msteams-platform/toolkit/TeamsFx-multi-env.md
90
29
link
:white_check_mark:

msteams-platform/toolkit/publish.md
92
8
link
:white_check_mark:

msteams-platform/toolkit/visual-studio-overview.md
92
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 249c34a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/using-teams-client-sdk.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/TeamsFx-multi-env.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/publish.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/visual-studio-overview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Remove drizzle

Since we're planning on subscribing to contract events, we don't need to make use of drizzle. Truffle-Contract provides all the functionality we need.

Could you explain more about how that works? Does our app still have to poll for the contract events in some way?


Add option to specify tsconfig.json file to use for each project reference

Search Terms
project references tsconfig
Suggestion
Allow to specify tsconfig file within the top-level property, references.
{
  "references": [
    {
      "config:": "./tsconfig.build.json",
      "path": "../foo"
    },
    {
      "config:": "./tsconfig.build.json",
      "path": "../bar"
    }
  ]
}

Use Cases
Because VS Code (and maybe other IDE's) use root tsconfig.json file to configure the built-in TypeScript engine and Project References also use the same root tsconfig.json file for each project reference, this creates an incompatibility for include and exclude properties.
For instance, I don't want my IDE (VS Code) to exclude any .js or .ts file from type checking files inside my src folder, however, I also don't want *.test.ts files from being transpiled when I build my project. Since both Project References and VS Code use the root tsconfig.json file by default without allowing to specify configuration file to use, I can't have my cake and eat it too.
Examples
With the following configuration I can build my project only the source files will be transpiled, the test files will be ignored. However, VS Code will also ignore test files from type checking and what not.
{
  "extends": "./tsconfig.base.json",
  "include": [
    "./src/**/*"
  ],
  "exclude": [
    "./src/**/*.test.ts"
  ]
}

With the following configuration VS Code will type check all files (source and tests) just fine. However, building the project will build both the source and test files, which is not what I want.
{
  "extends": "./tsconfig.base.json",
  "include": [
    "./src/**/*"
  ]
}

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

I'm not sure I understand the suggestion. Reference paths can already point at tsconfig filenames:
{
  "references": [
    {
      "path": "../foo/tsconfig.build.json"
    },
    {
      "path": "../bar/tsconfig.build.json"
    }
  ]
}

What behavior would you want to be different when specifying path and config separately?

@RyanCavanaugh I was not aware you could specify a tsconfig.json file directly with the path key, I guess I missed the:

The path property of each reference can point to a directory containing a tsconfig.json file, or to the config file itself (which may have any name).

Which I just looked up in the documentation after you mentioning the possibility.
I'll test my real use case tomorrow and I'll report back. I'll leave more info, if needed, otherwise I'll close this myself.
Thank you.

It worked great @RyanCavanaugh, thank you 🙇


Commit be4e016 broke syntax highlighting in bash scripts

Steps to reproduce
Updates to runtime/syntax/sh.vim (in commit be4e016) broke syntax highlighting of bash scripts on my system.  The following section of code excerpt is rendered completely in magenta beginning with the "if" statement:
#! /usr/bin/bash
# vim: set filetype=bash:

# set paths
export PATH='/usr/local/scripts:/usr/local/bin:/usr/local/sbin'
export PATH="${PATH}:/usr/lib/jvm/default-java/bin:/usr/local/schily/bin"
if [ -L /bin ]; then
  export PATH="${PATH}:/usr/sbin:/usr/bin:/usr/games"
else
  export PATH="${PATH}:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
fi
export INFOPATH='/usr/local/share/info:/usr/share/info'
export MANPATH='/usr/local/share/man:/usr/lib/jvm/java-sun/man'
export MANPATH="${MANPATH}:/usr/local/schily/share/man:/usr/share/man"

If I delete the blank line between lines 2 and 4, though, it renders correctly.
Expected behaviour
Correct syntax highlighting for bash files.
Version of Vim
Runtime updates between 9.0.1274 and 9.0.1275
Environment
Debian Testing
xterm-378
XTERM=xterm
bash-5.2.15
Logs and stack traces
No response

Plus a couple of screenshots:
BEFORE:

AFTER:

Ah, this is a duplicate of #11937.

Closing as duplicate.


Source panel is clipped and there is no obivous way to get back to table view

Overview

@roll I have fixed the source height. About the other issue... the buttons are meant to be toggles and you are right that it is not indicated anywhere so far that these buttons are toggle buttons, so it's not clear that clicking on them again makes the panel disappear. Maybe we should change the text to say "toggle Metadata" "toggle source" etc, we should discuss this @romicolman

Hi @roll and @guergana! Thanks for fixing the source height. During the user testing sessions, users clicked on the buttons again to hide metadata and the errors report panel. Since the Source button works in the same way, we will keep it as they are for now. If after the stable release users report this as a problem, we will work on improving this.


@python3.5 - Fix saving/loading state

pickle needed to open the file with 'wb'/'rb' permissions.
use asyncio for saveStateRegularly (it was using a Twisted function)

Thanks for the help!


ERROR Status return code not 200 {status: 423,   statusText: 'Locked'}

Describe the bug
Followed  the install but the logs say this:
2022-02-21 08:53:29.206  INFO  Eufy Security server listening on host <IP_ADDRESS>, port 3000
2022-02-21 08:53:33.842  INFO  Connected to station T8410P20211319B3 on host <IP_ADDRESS> and port 25885
2022-02-21 08:53:33.857  INFO  Connected to station T8010P232106343B on host <IP_ADDRESS> and port 10663
2022-02-21 08:53:34.168  INFO  Push notification connection successfully established
2022-02-21 08:53:34.632  ERROR Status return code not 200
{
status: 423,
statusText: 'Locked'
}
2022-02-21 08:53:34.644  INFO  No devices found.
Eufy Security Add-on
Current version: 0.8.4
Home Assistant 2022.2.8
Home Assistant OS 7.4
I can't find the next debug steps sorry.

Same here...

this happens to me some time to time and it is eufy servers is locking up these logins for some time. In my case, I just need to shutdown the add-on and wait for couple of hours and try again to get away from this error.

I've got the same problem... and there is something that is not clear to me
{
  code: '250999',
  msg: 'The request is too fast. Please stop and have a rest'
}
...
{
  status: 423,
  statusText: 'Locked'
}

Documentation says about captcha and reconfiguration, but nothing like that happened to me.

I believe this should have been resolved by now, please reopen if needed.


Add Support for Laravel 11 and drop Support for Laravel 8, 9, 10

This PR upgrades the package to support Laravel 11.
Laravel 11 will require symfony/console:^7.0, which had a breaking change in the SignalableCommandInterface@handleSignal method signature.
For easier maintenance, I've removed support for Laravel 8, 9 and 10 and PHP versions below 8.2.

I honestly have no clue what value handleSignal should return. I've opted to return the $signal in this PR, but please double check if this is the correct behaviour.
(While upgrading other packages to support Laravel 11 I noticed that this package doesn't support it either, so I thought I just send in a PR)

Thank you!


Add support for generic option-lists like .ackrc

Description
This pull-request adds support for generic option-lists that use shell syntax for their contents:
# Comment
--key=value
--verbose
-f

Currently, this is limited to .ackrc files, but I suspect analogous formats might be added in future. Hence why I've named this language Option List instead of merely ackrc or something.
About .ackrc files
.ackrc is a configuration file read by ack(1) that has ~5,683 indexed results on GitHub, with a healthy ratio of users and repositories.
The dotless variant ackrc appears to have adequate distribution, with ~430 search results and an ostensibly healthy user/repo ratio. Code search currently makes it cumbersome to count the exact number of users, so @lildude will want to review the actual usage of ackrc files on GitHub.
Colour rationale
The colour I chose is a muted shade of the Shell language's colour (specifically, its saturation and brightness levels were halved). Since these option-lists are a "shade" of shell syntax, I figured the derivation was appropriate.

Shell: #89e051
Option List: #476732

Checklist:

[x] I am adding a new language

[x] The extension filename of the language is used in hundreds of repositories:
Probably. I'll leave the census to @lildude. :wink: For now, a search for files named .ackrc tosses up ~5,683 results.
[x] I have included a real-world usage sample.

ackrc: Sourced from larrylv/dotfiles, an MIT-licensed repository.
.ackrc: Written by yours truly. It adds Linguist-related filetypes ack(1) is missing.

[ ] I have included a syntax highlighting grammar
[ ] I have updated the heuristics

@lildude Don't worry, I haven't forgotten about Mermaid. 😜 Just had to scratch an itch or two with some simpler formats first. 😁


Execution failed for task ':app:checkDebugDuplicateClasses'.

npm install react-native-clarity
import { initialize } from 'react-native-clarity';
// Initialize Clarity.
initialize("xxxxxx");
then i rebuild the project:-

Task :app:mergeDebugNativeLibs FAILED
w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions

FAILURE: Build completed with 3 failures.
1: Task failed with an exception.

What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform moshi-1.13.0.jar (com.squareup.moshi:moshi:1.13.0) to match attributes {artifactType=enumerated-runtime-classes, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
Execution failed for JetifyTransform: /Users/vikas/.gradle/caches/modules-2/files-2.1/com.squareup.moshi/moshi/1.13.0/da685586facab9eb5c4fb630ce248be14e7da21b/moshi-1.13.0.jar.
Failed to transform '/Users/vikas/.gradle/caches/modules-2/files-2.1/com.squareup.moshi/moshi/1.13.0/da685586facab9eb5c4fb630ce248be14e7da21b/moshi-1.13.0.jar' using Jetifier. Reason: IllegalArgumentException, message: Unsupported class file major version 60. (Run with --stacktrace for more details.)
Suggestions:
- Check out existing issues at https://issuetracker.google.com/issues?q=componentid:460323&s=modified_time:dec, it's possible that this issue has already been filed there.
- If this issue has not been filed, please report it at https://issuetracker.google.com/issues/new?component=460323 (run with --stacktrace and provide a stack trace if possible).

added this live to android/gradle.properties
android.jetifier.blacklist = com.squareup.moshi
and the project build success.

Hello-
The new SDK version addressing the moshi dependency has been released today. Can you please upgrade and give it a try?
Let us know your feedback please!

Closing as the issue should be fixed.


contains invalid field 'host=amd64'.

Brief Issue Summary
When selecting clang 15.0.1 (MSVC CLI) for MSVC 17.4.33006.217 configuring cmake fails.
Selecting older clang or MSVC works.
[proc] Executing command: "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE:STRING=C:/usr/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET:STRING=x64-windows-static -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE "-DCMAKE_C_COMPILER:FILEPATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-cl.exe" "-DCMAKE_CXX_COMPILER:FILEPATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-cl.exe" -Sblah -Bblah/build -G "Visual Studio 17 2022" -T host=amd64 -A amd64
[cmake] Not searching for unused variables given on the command line.
[cmake] -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19044.
[cmake] CMake Error at CMakeLists.txt:2 (project):
[cmake]   Generator
[cmake]
[cmake]     Visual Studio 17 2022
[cmake]
[cmake]   given toolset specification
[cmake]
[cmake]     host=amd64
[cmake]
[cmake]   that contains invalid field 'host=amd64'.
[cmake]
[cmake]
[cmake] -- Configuring incomplete, errors occurred!

CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
closed issue: https://github.com/microsoft/vscode-cmake-tools/issues/1352

Thank you for reporting this issue. We will add a fix for this. Meanwhile, you can manually edit your kits and replace "amd64" with "x64" until we have a fix for this.

Hello @elahehrashedi, I tried modifying it.
  {
    "name": "Clang 15.0.1 (MSVC 17.4.33006.217) - amd64",
    "visualStudio": "9ccb765a",
    "visualStudioArchitecture": "amd64",
    "preferredGenerator": {
      "name": "Visual Studio 17 2022",
      "platform": "amd64",
      "toolset": "host=x64"
    },
    "compilers": {
      "C": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\Llvm\\x64\\bin\\clang-cl.exe",
      "CXX": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\Llvm\\x64\\bin\\clang-cl.exe"
    }
  },

And it produces this on configure.
[proc] Executing command: "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE:STRING=C:/usr/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET:STRING=x64-windows-static -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE "-DCMAKE_C_COMPILER:FILEPATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-cl.exe" "-DCMAKE_CXX_COMPILER:FILEPATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-cl.exe" -Sblah -Bblah/build -G "Visual Studio 17 2022" -T host=x64 -A amd64
[cmake] Not searching for unused variables given on the command line.
[cmake] -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19044.
[cmake] CMake Error at CMakeLists.txt:2 (project):
[cmake]   Failed to run MSBuild command:
[cmake]
[cmake]     C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe
[cmake]
[cmake]   to get the value of VCTargetsPath:
[cmake]
[cmake]     MSBuild version 17.4.0-preview-22505-02+6521b1591 for .NET Framework
[cmake]     Build started 22-10-13 15:42:10.
[cmake]     Project "blah\build\CMakeFiles\3.24.202208181-MSVC_2\VCTargetsPath.vcxproj" on node 1 (default targets).
[cmake] -- Configuring incomplete, errors occurred!
[cmake] See also "blah/build/CMakeFiles/CMakeOutput.log".
[cmake]     C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(832,5): error : The BaseOutputPath/OutputPath property is not set for project 'VCTargetsPath.vcxproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='amd64'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [blah\build\CMakeFiles\3.24.202208181-MSVC_2\VCTargetsPath.vcxproj]
[cmake]     Done Building Project "blah\build\CMakeFiles\3.24.202208181-MSVC_2\VCTargetsPath.vcxproj" (default targets) -- FAILED.
[cmake]
[cmake]     Build FAILED.
[cmake]
[cmake]     "blah\build\CMakeFiles\3.24.202208181-MSVC_2\VCTargetsPath.vcxproj" (default target) (1) ->
[cmake]     (_CheckForInvalidConfigurationAndPlatform target) ->
[cmake]       C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(832,5): error : The BaseOutputPath/OutputPath property is not set for project 'VCTargetsPath.vcxproj'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Debug'  Platform='amd64'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [blah\build\CMakeFiles\3.24.202208181-MSVC_2\VCTargetsPath.vcxproj]
[cmake]
[cmake]         0 Warning(s)
[cmake]         1 Error(s)
[cmake]
[cmake]     Time Elapsed 00:00:00.10
[cmake]
[cmake]
[cmake]   Exit code: 1

It works fine without preferredGenerator.
    "preferredGenerator": {
      "name": "Visual Studio 17 2022",
      "platform": "amd64",
      "toolset": "host=x64"
    },

I think all references to amd64 might need to be replaced with x64, not just the host= part.  The standard MSVC Kits use x64.


[swiftc] Add test case for crash triggered in swift::TypeChecker::applyUnboundGenericArguments(…)

What's in this pull request?
Crash case with stack trace:
swift: /path/to/swift/lib/Sema/TypeCheckType.cpp:484: swift::Type swift::TypeChecker::applyUnboundGenericArguments(swift::UnboundGenericType *, swift::SourceLoc, swift::DeclContext *, MutableArrayRef<swift::TypeLoc>, bool, swift::GenericTypeResolver *): Assertion `TAD->getGenericParams()->getAllArchetypes().size() == genericArgs.size() && "argument arity mismatch"' failed.
8  swift           0x0000000000ee8e4b swift::TypeChecker::applyUnboundGenericArguments(swift::UnboundGenericType*, swift::SourceLoc, swift::DeclContext*, llvm::MutableArrayRef<swift::TypeLoc>, bool, swift::GenericTypeResolver*) + 1259
9  swift           0x0000000000ee880f swift::TypeChecker::applyGenericArguments(swift::Type, swift::SourceLoc, swift::DeclContext*, swift::GenericIdentTypeRepr*, bool, swift::GenericTypeResolver*) + 431
13 swift           0x0000000000ee8fde swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158
15 swift           0x0000000000ee9ef4 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164
16 swift           0x0000000000ee8eda swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 42
17 swift           0x0000000000fa283a swift::IterativeTypeChecker::processResolveTypeDecl(swift::TypeDecl*, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 202
18 swift           0x0000000000f7f2cd swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 493
21 swift           0x0000000000e7f3eb swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 3739
23 swift           0x0000000000e84056 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
24 swift           0x0000000000ea6df2 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 994
25 swift           0x0000000000cdd0bf swift::CompilerInstance::performSema() + 3295
27 swift           0x0000000000790c7f frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2495
28 swift           0x000000000078b6f5 main + 2837
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28286-swift-typechecker-applyunboundgenericarguments.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28286-swift-typechecker-applyunboundgenericarguments-a4ff63.o
1.	While type-checking 'B' at validation-test/compiler_crashers/28286-swift-typechecker-applyunboundgenericarguments.swift:10:24
2.	While type-checking 'B' at validation-test/compiler_crashers/28286-swift-typechecker-applyunboundgenericarguments.swift:10:41
3.	While resolving type B<T> at [validation-test/compiler_crashers/28286-swift-typechecker-applyunboundgenericarguments.swift:10:56 - line:10:59] RangeText="B<T>"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)

Resolved bug number: –

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

@swift-ci smoke test

@swift-ci Please try again - you can do better! :smile:

I don't know if this is a known issue, but it appears that the build status reported by @swift-ci has been a bit unreliable lately :cry:
More specifically build failures are reported in cases where the PRs are fine.
For example this PR was reported as failing under both OS X and Linux, but it builds flawlessly - see the output from my buildbot setup: https://practicalswift.com/

/cc @shahmishal :-)

@practicalswift we are seeing these failure on Linux is because swift-integration-tests are failing, which preset are you using on your buildbots?
@swift-ci is using this preset:
swift/utils/build-script --preset="buildbot_linux_1404" install_destdir="${SWIFT_INSTALL_DIR}" installable_package="${SWIFT_INSTALLABLE_PACKAGE}"

@shahmishal My buildbot is running utils/build-script -RT.
Show adding a crasher with correct RUN: annotations break the swift-integration-tests? Or was it failing also prior to this commit?

It was failing prior to this commit, @mxcl committed fix for it.
buildbot_linux_1404:

/home/buildnode/jenkins/workspace/swift-PR-Linux/swift/utils/build-script: using preset 'buildbot_linux_1404', which expands to /home/buildnode/jenkins/workspace/swift-PR-Linux/swift/utils/build-script --assertions --no-swift-stdlib-assertions --llbuild --swiftpm --xctest --build-subdir=buildbot_linux --lldb --release --test --validation-test --foundation -- --swift-enable-ast-verifier=0 --install-swift --install-lldb --install-llbuild --install-swiftpm --install-xctest --install-prefix=/usr '--swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;sdk-overlay;license' --build-swift-static-stdlib --build-swift-stdlib-unittest-extra --skip-test-lldb --test-installable-package --install-destdir=/home/buildnode/jenkins/workspace/swift-PR-Linux/swift-nightly-install --installable-package=/home/buildnode/jenkins/workspace/swift-PR-Linux/PR-TEST-ubuntu14.04.tar.gz --install-foundation --reconfigure

@shahmishal Ah, got it.
Would it be possible to have the buildbot report the build state transition?
More specifically, could it print out a "this might not be your fault"-warning in case A below?
Possible state changes:

Case A. FAILING without PR applied → FAILING with PR applied: inconclusive, cannot say
Case B. FAILING without PR applied → PASSING with PR applied: :+1:
Case C. PASSING without PR applied → PASSING with PR applied: :+1:
Case D. PASSING without PR applied → FAILING with PR applied: :-1:

Due to the large number of encountered case A:s with the current build settings I've noticed that I've started to simply disregard the results which is highly unfortunate. Prior to your clarification I've simply assumed that the buildbot is working incorrectly when I've encountered a build failure (case A above) for obvious NFC changes :-)
Another alternative could be to relax the buildbot settings so that utils/build-script -RT is used? -RT seldoms breaks.

Well, build-script -RT is not something that we ship.  It is important, but we need to produce toolchains weekly, so we want to make sure that code that prevents that from happening does not get into the repo.  There's only so much value in buildbots that rarely fail.

@gribozavr Agreed. The best solution would be to have the buildbot report state changes (i.e. from :+1: to :-1:).


Bump prometheus version

Note that there is a new global parameter -query_log_file- but there isn't any change needed in this role to support it.
Signed-off-by: Julien Pivotto<EMAIL_ADDRESS>

We have a bot that deals with keeping the site up to date. It got stuck on a bad CI run, which I fixed and merged.
https://github.com/cloudalchemy/ansible-prometheus/pull/265


Secure URLs to Host Application

Title of ticket: Secure URLs to Host Application
Description
Approvals requested for:
https://foirequests.gov.bc.ca
https://testfoirequests.gov.bc.ca
https://devfoirequests.gov.bc.ca
Policy requires this to be submitted to and approved by the GCPE Joint Working Group prior to us being able to request the websites.
Dependencies
Prior approvals required by MCIO and GCPE - Approvals received from both on June 15th
DOD

[x] Approval Received from GCPE Joint Working Group
[ ] iStore Order Resubmitted and Completed for 3 URLs noted above

Package submitted with required approvals to GCPE Joint Working Group June 16th

Joint working group approval received today - total package submitted to iStore for processing

Redirected package to IMB - after discussion with David Smyth when questions arose, it was determined this should have been sent through the IMB

Hey @m-prodan , any status updates on this?

Per message from Alexander Punnet today - iStore order is complete, all 3 domains should be ready for use. Closing ticket (finally!)


How to upload multi-images for description

Confirm this is a feature request for the Python library and not the underlying OpenAI API.

[X] This is a feature request for the Python library

Describe the feature or improvement you're requesting
I'm trying to upload multi-images one time to api for description. But the api library only provides the illustration of the function for single image vision input.Could you provide the way for multiple images uploading?

Additional context
No response

Hi! So just so I can understand, you want to be able to upload multi-images at once and get multiple descriptions (a description for each image) in return? Also what do you mean by description? Like what's in the image(s)?

Yes, i want to give a description of some frames within a video

When i tried to use your method from here https://cookbook.openai.com/examples/gpt_with_vision_for_video_understanding.Bad request 400 happens,which means format error,could help me solve it?


Multiple Authorities don't seem to be working

Hi there, I'm using .NET Core 2.2 and I have followed the steps mentioned here: https://docs.microsoft.com/en-us/aspnet/core/security/authorization/limitingidentitybyscheme?view=aspnetcore-2.2&tabs=aspnetcore2x#use-multiple-authentication-schemes in order to get multiple instances of Identity Server issuing tokens and being used by a single API.
The error I have when I configure that is:
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
An unhandled exception has occurred while executing the request.
System.InvalidOperationException: IDX20803: Unable to obtain configuration from: '[PII is hidden]'. ---> System.IO.IOException: IDX20804: Unable to retrieve document from: '[PII is hidden]'. ---> System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
at System.Threading.Tasks.ValueTask1.get_Result()    at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)    at System.Threading.Tasks.ValueTask1.get_Result()
at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask1 creationTask)    at System.Threading.Tasks.ValueTask1.get_Result()
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)    at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)    --- End of inner exception stack trace ---    at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)    at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(String address, IDocumentRetriever retriever, CancellationToken cancel)    at Microsoft.IdentityModel.Protocols.ConfigurationManager1.GetConfigurationAsync(CancellationToken cancel)
--- End of inner exception stack trace ---
at Microsoft.IdentityModel.Protocols.ConfigurationManager1.GetConfigurationAsync(CancellationToken cancel)    at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()    at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()    at Microsoft.AspNetCore.Authentication.AuthenticationHandler1.AuthenticateAsync()
at Microsoft.AspNetCore.Authentication.AuthenticationService.AuthenticateAsync(HttpContext context, String scheme)
at Microsoft.AspNetCore.Authorization.Policy.PolicyEvaluator.AuthenticateAsync(AuthorizationPolicy policy, HttpContext context)
at Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter.OnAuthorizationAsync(AuthorizationFilterContext context)
at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
at JQ.GrupoFontana.API.Startup.<>c.<<Configure>b__9_1>d.MoveNext() in C:\Users\carlostorrecillas\Documents\git\jq.grupofontana.api\JQ.GrupoFontana.API\Startup.cs:line 264
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.Cors.Infrastructure.CorsMiddleware.InvokeCore(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
Request finished in 3073.2088ms 500 text/html; charset=utf-8
I'm not sure whether there is something missing here or not but I can't get it to work. Any ideas/advice on how to solve it?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ee71441f-471a-89cd-0ef4-9b32b5dd85cf
Version Independent ID: 0096c365-2f4e-5d21-89a0-c4f10fcb0ed9
Content: Authorize with a specific scheme in ASP.NET Core
Content Source: aspnetcore/security/authorization/limitingidentitybyscheme.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

For reference, I have opened a StackOverflow question: https://stackoverflow.com/questions/55872063/asp-net-core-multiple-jwtbearer-authentication-fails

Moved to Master issue for: Authorize with a specific scheme #16190


Moderncv underfull bad box without quote

The following minimal example gives an underfull bad box. When I uncomment the quote line, it somehow works. What is the problem? I don't understand the behavior. Is it possible to not use a quote and have no bad box at the same time?
\documentclass{moderncv}
\moderncvstyle{classic}
\usepackage{lmodern}
\name{John}{Smith}
%\quote{}  % uncomment to get rid of the underfull bad box

\begin{document}
    \makecvtitle
    \section{Education}
\end{document}

Interesting that you found that a quote solves this, but seems like a duplicate of #108.


Yeast recipe removes all yeast from barrel

Example:
I have 1000mb of yeast starter
I add one item of some flour to it
It processes, and I am left with 600mb of yeast starter.
If I add two items, I am left with 1200mb

tfc pls


feat: make greet() functional from a web browser

By default, this template only works when running npm run tauri. For scalability, adding a quick check and making it function with just TypeScript may be a good idea.

What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Docs
[ ] New Binding issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[x] No

Checklist

[x] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[x] I have added a convincing reason for adding this feature, if necessary

Other information

I think this is out of this tool scope which is to "get you up and running with a functional tauri app". I could also argue against this addition because it doesn't account for users who want to bootstrap a project just for app purposes and won't be used in browsers at all. In addition to that, supporting web browsers and tauri context using the same code base could be done in a smarter way by utilizing build-time optimizations to remove the tauri code when served to a browser.


Fix a bug (Pasting duplicates old content)

I don't know what did you intend, but it makes old content duplicated.

I've been meaning to get onto this issue, thanks for looking at it. However there are conflicts, that I'm assuming are from the previous PR.

@StudioJunkyard Fixed. I think you should check ln.79

I may be tired (2:18am here), not sure what I'm missing?

Getting cleanText and old things, but doing nothing.

Oh, so it does, I must be needing sleep. I'll have a look at it tommorow, unless of course you wish to play.

@StudioJunkyard no problem! good night :-)

Had a quick look, made a couple of changes quickly. I have to go out for a bit, hopefully it's fixed though.


CI: Remove Linux builds

Good day!
While going through the build logs here, I saw that the Linux builds always fail. This reminded me that we have pretty much stopped supporting Linux as a build target long ago and are going Xbox-only (as would make sense). Because of this, I decided to remove the Linux CI workflow files.
It ain't much, but (I believe) it's honest work.

"Always" is quite the exaggeration.
I've done experimental builds in a different branch that has yet to be adapted for multiple target platforms and thus fails.
Closing, Linux is still an active target.


 You just did that today?? Wow where did you learn that
trick? You must be younger than me, I resist all these new frameworks
but you're showing me it really pays to start learning.
Make the numbers bigger.
Reply to this email directly, view it on GitHub [13], or unsubscribe
[14].
Triage notifications on the go with GitHub Mobile for iOS [15] or
Android [16].

 You just
did that today?!?!? Wow I am getting old,  resisting these new
frameworks but it looks like there's some real magic in there. Or you've
just got some real talent.
If you make those bench numbers a little bigger. Like 10mil and 500mil.

Reply to this email directly, view it on GitHub [13], or unsubscribe
[14].
Triage notifications on the go with GitHub Mobile for iOS [15] or
Android [16].

Links:
[1] https://github.com/kzrnm/Base32768/issues/11
[2]
https://github.com/kzrnm/Base32768/pull/12/commits/ff19173556a01389854f7243af6b9585d57d9422
[3]
https://github.com/kzrnm/Base32768/pull/12/commits/24462f72598e52a382a6c5d3d52ba0098b69e37f
[4]
https://github.com/kzrnm/Base32768/pull/12/commits/41f1819f41035d680dc65aa6a78a792a6e896012
[5]
https://github.com/kzrnm/Base32768/pull/12/commits/802be4cb4e4b39d89e7d27858cf57101b3384c72
[6]
https://github.com/kzrnm/Base32768/pull/12/commits/d3a033fd5c03ae0e10f568019c5d626e0683d517
[7] https://github.com/kzrnm/Base32768/pull/12/files
[8]
https://github.com/kzrnm/Base32768/pull/12/files#diff-316f299c898010eee2b98d5c89e31439dc62fb066e60a1685c6202e7f2dc8f67
[9]
https://github.com/kzrnm/Base32768/pull/12/files#diff-f3103f9c54fe05c110414570c4a4bd061d1862fcbc523c16ecbde5969c5c4531
[10]
https://github.com/kzrnm/Base32768/pull/12/files#diff-c0d6b131c5014a5cae986b0e2fe78ec52936815ab5c663e3fc4f2b25195368f0
[11]
https://github.com/kzrnm/Base32768/pull/12/files#diff-abdddad6a94a29a667254735c034fd51f0a9814a501ce50935b1f7f2723a3b1b
[12]
https://github.com/kzrnm/Base32768/pull/12/files#diff-d9558729221bac5a571b86dd9f19bd3b34c0aec767871f136ba05b3bf4b0e43f
[13] https://github.com/kzrnm/Base32768/pull/12
[14]
https://github.com/notifications/unsubscribe-auth/AA5OOMVMSD6F3BQU5VVUICDULX4K3ANCNFSM5H6H6U5Q
[15]
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
[16]
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub


Reducing the number of threads required by a connection.

We used 256 following HBase's example.  HBase uses those threads to perform asynchronous RPC calls.  We use gRPC which uses nio for the long running work.  We use threads only to handle the object returned by the RPC.  We need way fewer threads, at least in theory.  This change is to change the startup number of threads only, but the thread pool will increase to 256 if necessary.

LGTM


Methods for Transformer

Are there some methods for Transformer in OmniXAI?

You can use the integrated gradient method for language models.


Including rke2 for the isRKE check when displaying the etcd metrics

This was just changed as part of a merge to not search for the rke prefix. This corrects the behavior.
rancher/dashboard#2759

This was originally approved here https://github.com/rancher/dashboard/pull/2711 but a modification was made which assumed we didn't want etcd metrics as a part of rke2 which wasn't correct so I'm going to go ahead and add rke2 and merge. I'll revert if anyone has an issue with this.


Add support for Maps in Fabulous.MauiControls.Maps

Now that net7 rc1 is out we finally have maps

Should we add maps support ?
Should this be a separate nuget ?

@edgarfgp Yes, it would be a good idea to have maps support. We would be able to fully migrate FabulousContacts as well.

Should this be a separate nuget ?

I would even have a separate nuget for it and host it in the fsharp-mobile org.

@TimLariviere Could you create the repos so we can start start 😀

Done. :)
Xamarin.Forms: https://github.com/fsharp-mobile/Fabulous.XamarinForms.Maps
Maui.Controls: https://github.com/fsharp-mobile/Fabulous.MauiControls.Maps
Bonus point: We can reuse those 2 repos as templates for other 3rd party extensions :)
Let's continue in those repos


Bypass MFA authentication skip this step button not appearing

This is similar but close to #37449 .
I have 2 service accounts where when I logged into owa, the first account would get an option to register for the MFA but at the bottom "Skip this setup" option would come up where as
for the second account when logged in the "Skip this Setup " option wouldn't come up.
Can anybody point out why is this happening as both the accounts are same.
Thanks,
Ravi

@iravii  please include the link to the article you are following so that I can better assist.

@iravii please include the link to the article you are following so that I can better assist.

HI Marilee thanks for taking this up.
I haven't got any article that refers to the problem i am facing, when i check by MFA settings it is same as for both the accounts just that "skip this step " button is not showing up.

@MarileeTurscak-MSFT Any luck on this to get this done ?

@iravii there is a grace period of three days that allows users to skip the registration setup. If the users choose to skip this setup they will be logged in as normal until the grace period is done. After the grace period the users will be forced to enter the information to be able to login.
Hope this helps!
If you have further questions feel free to post to MSDN. The github issues are mainly meant for reporting problems with the documentation. For implementation questions and product bugs, please post to MSDN: https://social.msdn.microsoft.com/Forums/en-US/home?forum=windowsazureactiveauthentication


Grammatical error in Testimonials #71

@Susmita-Dey but @imaaquibali agreed to fix this, you can check the issue #71.
You marked it Spam, that's not good.

This is the result what you did

How you can say its a spam?
A bug is a bug what ever it is.
And bug was approved.

@sethisagar Sorry for the inconvinience. Thanks for your contribution.


Where's the download link (.exe) file and how to execute/install instructions?

Where's the download link (.exe) file and how to execute/install instructions?

how to execute/install instructions?

Double click 😉
https://systeminformer.sourceforge.io/nightly.php


Update Font Awesome to version 6

In my opinion, changing the default FontAwesome version is a breaking change. It could mess up custom toolbar buttons when not using icons that no longer exist or have changed.
Breaking changes I would like to reserve for the CodeMirror 6 rewrite.

I'm using FA 6.4 and only had to add:
.editor-toolbar button {
     .fa {
        // No idea why EasyMDE uses fa for solids.
        font-family: #{$fas-font-name}; // FA-Solid
     }
     .fa.fa-image .fa.fa-eye {
         font-family: #{$fa-font-name}; // FA-Regular
     }
}

v4-shim.css from FA does not help.


[RFC] Materialise Range

I would like some feedback on how the community feels about adding the following kind of API:

Materialise a sub-range of the bitmap's "contains" space into a pre-allocated array.

That is, I am proposing an API equivalent to the following code on a RoaringBitmap bitmap, for arbitrary values of int BUFFER_SIZE, int startIndex:
boolean[] batch = new boolean[BUFFER_SIZE];
for (int pos = 0; pos < BUFFER_SIZE; pos++) {
	batch[pos] = bitmap.contains(startIndex + pos);
}

Why is this relevant?
There are applications, where both the true and false values on the contains-method within the universe of a bitmap matter. But iterator implementations focus only on the true values, and force us to infer the false values from gaps in the sequence of contained values.
Example
Consider a paginated table view where one column is logically equivalent to the "contains" value of the bitmap, i.e. the column's value for each row is derived from bitmap.contains(row). The bitmap contains the values for the whole table, but we only want to show this table by materialising one page at a time. We might even skip pages, if the user jumps forward, so we wouldn't want to materialize the bitmap for pages that are never loaded.
Why do we need a special API for this?
The code presented above works just fine, but the main concern is performance. If we consider the table example above, but simply push it a few levels lower in the execution stack, where we are trying to execute vectorised operations on the column(s), it becomes clear why performance is an important concern here.
While random lookups on RoaringBitmap aren't crazy expensive, we can do much better if we can push filling subranges of the buffer array into the individual container types. In particular for RunContainer (but also to some degree for BitmapContainer) we can get much better performance using APIs like Arrays.fill instead of setting a single position at a time.
The performance argument gets even stronger for Roaring64Bitmap, where the tree traversal is much more expensive for random lookups.
We can do a bit better than random lookups performance-wise using (batched) iterators with advanceIfNeeded, but it is still not ideal. In particular we still materialise the int (RoaringBitmap) or long (Roaring64Bitmap) values contained in the bitmap from their parts, when really we only want to know which "contains"-equivalent value should go into which position of the buffer.
What do you mean by "contains"-equivalent?
Basically, I would prefer the API not to be limited to materialising only true and false values produced by contains, but actually arbitrary values containsValue, notContainsValue of an arbitrary type $type (primitive or object) to the following code (or using a mapper function instead):
$type[] batch = new $type[BUFFER_SIZE];
for (int pos = 0; pos < BUFFER_SIZE; pos++) {
	if (bitmap.contains(startIndex + pos)) {
		batch[pos] = containsValue;
	} else {
		batch[pos] = notContainsValue;
	}
}

Baking this capability directly into the API would avoid an additional array allocation to transform the buffer from boolean to the desired target type. It would also again benefit from range setings via Arrays.fill.
API Suggestions
Option 1: Function call per range
The top level API could look like:
public <V> void materializeRangeInto(
            long startIndex,
            V[] buffer,
            V containsValue,
            V notContainsValue)

The disadvantage of this variant is that the generic type parameter doesn't work well with primitives, which are the most likely values to be used here, imo. If people are against materialising custom values in favour of only boolean, then this API is probably the simplest and fastest.
Option2: Visitor API
The top level API could consist of a function like:
public void materializeRangeInto(
	long startIndex,
	MaterializeVisitor visitor);

and a visitor interface like:
public interface MaterializeVisitor {
	void set(int relativePos);
	void unset(int relativePos);
	void setAll(int relativeFrom, int relativeTo);
	void unsetAll(int relativeFrom, int relativeTo);
}

the relative* arguments here are always to the startIndex, and thus correspond exactly to positions in the underlying buffer. The contract would be that there may be no "gaps" in the sequence of indices invoking the visitor, so that pre-initialisation of the underlying buffer is not required. In particular, this would allow the same buffer to be re-used for multiple invocations, assuming its contents have been processed/consumed already.
This API would allow users to write their own specialized versions for the primitives they care about and we could provide a generic example implementation that can be used for all object types (and boxed primitves, if someone really wants to).
Another nice thing about the visitor API is, that it acutally allows different indexable datastructures than just raw arrays to be filled. It could be off-heap data, or a memory-mapped file, for example. This makes it a very powerful and generic API, that I believe could serve other uses-cases than the one I presented above as well.
Implemenation
If there is consensus on a design, I'd be happy to provide a PR with an implementation. I already have a hacky prototype for Option 1, which I could complete or convert to Option 2 or something agreeable API.
I just don't want to put more effort into this, before getting some feedback, so my work will not be in vain :)

@larsk-db
Here is my proposal.
Can you come up with a "proof of concept" benchmark to illustrate the performance benefits you foresee? Take a problem, implement it with the current API. Measure the performance. Then guess how much faster it could get, and report that. Whatever you are trying to do... I would start by trying to look at what the current API allows. If it is not 'slow' then it is probably not worth the effort. So we want something that the current API does not allow efficiently.

Basically, I would prefer the API not to be limited to materialising only true and false values produced by contains, but actually arbitrary values containsValue, notContainsValue of an arbitrary type $type (primitive or object) to the following code (or using a mapper function instead):

Something like
myclass[] array = new myclass[BUFFER_SIZE];
for (int pos = 0; pos < BUFFER_SIZE; pos++) {
	batch[pos] = bitmap.contains(startIndex + pos) ? myclass.containsValue : notContainsValue;
}

feels like a performance anti-pattern. Just the array makes me cringe. You are going to be spending 64 bits per possible value in your range just for the array, even assuming that the myclass instance are free.
I'd work very hard to avoid writing such code.

The code presented above works just fine, but the main concern is performance.

The following code is indeed not great (performance-wise):
boolean[] batch = new boolean[BUFFER_SIZE];
for (int pos = 0; pos < BUFFER_SIZE; pos++) {
	batch[pos] = bitmap.contains(startIndex + pos);
}

But you can do much better with iterators... something like this...
PeekableIntIterator j = // get an iterator
j.advanceIfNeeded(startIndex);
while ( j.hasNext() ) {
  int x =  j.next();
  if( x is beyond your scope ) {
   break;
  }
  batch[x] = true;
}

The larger point is that we have iterators that allow you to iterate over all values inside a range.
We have other fancy iterators like batch iterators.
We have other fancy methods like selectRangeWithoutCopy that could be used as well.

we can do much better if we can push filling subranges of the buffer array into the individual container types. In particular for RunContainer (but also to some degree for BitmapContainer) we can get much better performance using APIs like Arrays.fill instead of setting a single position at a time.

Though that is true, you have to make sure that you are benchmarking any new proposal against the best use of the current RoaringBitmap API, with its fast iterators and other methods.
It would be sad to work super hard on a new API only to find out that the pre-existing iterators get you 99% there.
Also, if you can prove that something meaningful is 'slow', then it motivates the work.

@lemire

Can you come up with a "proof of concept" benchmark to illustrate the performance benefits you foresee? Take a problem, implement it with the current API. Measure the performance. Then guess how much faster it could get, and report that. Whatever you are trying to do... I would start by trying to look at what the current API allows. If it is not 'slow' then it is probably not worth the effort. So we want something that the current API does not allow efficiently.

So, I have done this within the context of my use-case, and there I could observe between a 3x and 150x performance difference between the iterator implementation and the materialise implementation, and between 100x and 700x between random lookup and materialise. The range here depends on the size of the filter. The iterator implementation does better on smaller filters, because its seek isn't great; all of this is for Roaring64Bitmap, which is what I really care about. I assume for the 32-bit variants the differences are going to be much smaller.
Now these numbers do include some of the interaction with our propriety code, so I can't really share the benchmark. Do you feel it's necessary as motivation (or also for later reference) that I port a variant of this benchmark to open code I can share?

Something like
myclass[] array = new myclass[BUFFER_SIZE];
for (int pos = 0; pos < BUFFER_SIZE; pos++) {
	batch[pos] = bitmap.contains(startIndex + pos) ? myclass.containsValue : notContainsValue;
}

feels like a performance anti-pattern. Just the array makes me cringe. You are going to be spending 64 bits per possible value in your range just for the array, even assuming that the myclass instance are free.
I'd work very hard to avoid writing such code.

Why do you think so? If you take my example from above with the table, the myclass could be String and containsValue and notContainsValue could be two interned strings like "Inlcuded" "Not Included", for example. That would be a pretty reasonable usage of a class in this context, with essentially no allocation necessary. And if I'm materialising "pages" of say 4k entries at a time, I'm not spending more than 32KB in storage, which seems pretty reasonable to me.
I do agree that primitives are more likely as a target type here, which is why I specifically didn't like the generic API of Option 1 that doesn't support unboxed primitives without specialising for every single one. The benchmark results above, for example, are with using a byte array there, which is actually a pretty fast representation of a boolean array, if one is willing to spend the extra memory space.

The code presented above works just fine, but the main concern is performance.

The following code is indeed not great (performance-wise):
boolean[] batch = new boolean[BUFFER_SIZE];
for (int pos = 0; pos < BUFFER_SIZE; pos++) {
	batch[pos] = bitmap.contains(startIndex + pos);
}

But you can do much better with iterators... something like this...
PeekableIntIterator j = // get an iterator
j.advanceIfNeeded(startIndex);
while ( j.hasNext() ) {
  int x =  j.next();
  if( x is beyond your scope ) {
   break;
  }
  batch[x] = true;
}

The larger point is that we have iterators that allow you to iterate over all values inside a range.
We have other fancy iterators like batch iterators.
We have other fancy methods like selectRangeWithoutCopy that could be used as well.

Yes, as I said, iterators are definitely a possible implementation for this.
A few points here, though they may slightly digress:

Most of the fancy iterators are only available for the 32-bit bitmap. Roaring64Bitmap has only gotten support even for seek after I actually did the benchmarks (I actually wrote my own for the benchmarks, so the results of the benchmarks above are essentially for the advanceIfNeeded that was added in https://github.com/RoaringBitmap/RoaringBitmap/commit/8ec2c9b36e65a4b95177ff6e713b2cdd3d6a14d9 since I kinda implemented the same thing, just without reverse support.)
Even with the seek implementation we now have on Roaring64Bitmap materialisation still gets slower with larger bitmaps, because instead of jumping to the right leaf and scanning from there, we actually search along the leaves. This certainly a lot cheaper than searching along the actual values, but it still isn't great for bitmaps with a few million entries or more. In fact my benchmarks showed that random lookups become faster than this seek when the bitmap hits around 64million entries (and we do materialisation in the middle). Fixing this is kind of orthogonal to this issue and on my TODO list.
My strongest performance point against using the iterators is still that they assemble the int (32-bit) or long (64-bit) values inside the bitmap, which I don't really care about. I only need to know which values goes into which relative position in the buffer. This probably isn't a biggie for the 32-bit version, but for the 64-bit I've seen flamegraphs indicating that we spend almost 1/3rd of the compute time just assembling those long values, which matches up pretty well with the 3x performance improvement I've mentioned above.

Though that is true, you have to make sure that you are benchmarking any new proposal against the best use of the current RoaringBitmap API, with its fast iterators and other methods.
It would be sad to work super hard on a new API only to find out that the pre-existing iterators get you 99% there.
Also, if you can prove that something meaningful is 'slow', then it motivates the work.

Absolutely agreed. So let me know if the benchmarks I mentioned are sufficient motivation in your eyes, or you'd prefer for me to port them, so you can try to optimise the implementation yourself etc.

For pagination you can figure out the index of the page (i.e. (i >>> PAGE_SHIFT)) and the index within the page (i.e. (i & PAGE_MASK)) and track when the page index has changed whilst doing inverted iteration.

class PaginatingConsumer<T> implements LongConsumer {

static final int PAGE_SIZE = 4096;
static final int PAGE_MASK = PAGE_SIZE - 1;
static final int PAGE_SHIFT = Integer.bitCount(PAGE_MASK);

    private final T[] page = makePage();
    private long currentPageIndex = -1;
    private boolean dirty = false;

    @Override
    public void accept(long i) {
        long pageIndex = i >>> PAGE_SHIFT;
        if (pageIndex != currentPageIndex && dirty) {
            flush();
            resetPage();
            currentPageIndex = pageIndex;
            dirty = false;
        }
        page[index] = indexToValue((int)(i & PAGE_MASK));
        dirty = true;
    }

    T indexToValue(int i) {
       // stuff
    }

    void resetPage() {
       // e.g. Arrays.fill(page, defaultValue);
    }

    void flush() {
       if (dirty) {
         // do stuff with the page here
       }
    }

}
...
PaginatingConsumer<T> consumer = makeNewPaginatingConsumer();
bitmap.forEach(consumer);
consumer.flush();

You would skip over potentially millions of empty pages in very sparse bitmaps, but that feels like it's a feature not a bug.
I also appreciate that inverted iteration can be viral and doesn't compose well.
For more efficient code so that whatever it is you're doing with the indexes can potentially be vectorised and for bounds checks to get eliminated, adding a callback to LongConsumer for runs would be handy, at the cost of no longer being a @FunctionalInterface:
interface LongConsumer {

void accept(long index);

// write a for loop in here but be careful not to use a long induction variable
void acceptRun(long min, long max);

}

@richardstartin Thanks, I've tried something like this approach, too, actually. The problem is that bitmap.forEach always goes through the whole bitmap, so it's the bitmap that controls when which page gets materialised. I need an external entity (say the user, or a data processing executor) to control which page should get materialised, based on what it wants to see/process right now. So more of a "pull-based" approach, rather than "push", you could say.

@larsk-db
This looks reasonable:
public interface MaterializeVisitor {
	void set(int relativePos);
	void unset(int relativePos);
	void setAll(int relativeFrom, int relativeTo);
	void unsetAll(int relativeFrom, int relativeTo);
}

We can probably debate a bit the names. Are you sure about MaterializeVisitor? What you have there is a consumer. Whether it 'materializes' anything is up to you.
What about RangeConsumer or something?
Note that your consumer is explicitly 32-bit which might be totally fine. The materializeRangeInto probably needs a final index as well, or (maybe better) a length parameter of some kind.
We can discuss the name too.
I realize that you want to materialize ranges, but that's not what these functions do. That's what they allow you to do.

The problem is that bitmap.forEach always goes through the whole bitmap, so it's the bitmap that controls when which page gets materialised

Of course, we could implement forEach(..., long start, long end) or something like it which has the benefit of being generic and serving a lot of people well. It is more or less what you end up doing in any case.
The big difference is that you are 'run' aware.

My strongest performance point against using the iterators is still that they assemble the int (32-bit) or long (64-bit) values inside the bitmap, which I don't really care about.

On the one hand, casting a 32-bit integer to a 64-bit integer is quite cheap and may even be optimized away if you are subtracting from a base. On the other hand, if you have 64-bit bitmaps, then you paid the heavy price once by going to a 64-bit bitmap, instead of using 32-bit fragments which is the performance choice.

Why do you think so?

One can represent an array of Boolean values in a bitset using 1 bit per value, or in array using, say, 64 bits per value. There is a 64x memory effect + the loss of word-level parallelism.
This becomes irrelevant if we go for your MaterializeVisitor because I do not have to know where or how you store the data.

Could you point me to this? I can't seem to find anything in the docs or using Github's (admittedly terrible) search.

The selectRangeWithoutCopy function is not directly exposed but it is used to narrow down some operations (say and) over a range.

@larsk-db
This looks reasonable:
public interface MaterializeVisitor {
	void set(int relativePos);
	void unset(int relativePos);
	void setAll(int relativeFrom, int relativeTo);
	void unsetAll(int relativeFrom, int relativeTo);
}

We can probably debate a bit the names. Are you sure about MaterializeVisitor? What you have there is a consumer. Whether it 'materializes' anything is up to you.
What about RangeConsumer or something?

Ah, yes fair point. I was thinking about visitor pattern originally, because it was doing tree traversal and I wanted to do different things per container. But since it's not actually exposing the different container types, I do concur that RangeConsumer is a more correct name.

Note that your consumer is explicitly 32-bit which might be totally fine. The materializeRangeInto probably needs a final index as well, or (maybe better) a length parameter of some kind.

For the version with an array as parameter it was pretty clear from the length of the array what the end index should be. But for the Visitor/Consumer API, we definitely need to provide a length or end index. I don't really have a preference for either, since they are so easy to convert.
As for the 32-bit part, my thinking when I wrote that was still that we'd be only materialising into arrays and there relative indices can't be any larger anyway. The idea with memory mapped files, for example, which would be long addressable only popped into my mind later.
I see two options here:

We make an IntRangeConsumer and a LongRangeConsumer, just like we have now with IntConsumer and LongConsumer.
We only build a 32-bit consumer and enforce this limit by making the length argument discussed above be an int. If someone really needs to materialise more than a full int space at a time, they can invoke the function multiple times with sequential offsets.

Personally, I'm kinda into 2., because materialising more than 2billion values, even if they are just 1 byte each, seems like an edge case. But then, as you said, the consumer API is not necessarily only useful for materialisation, so 1. might be a very valid choice.

We can discuss the name too.
I realize that you want to materialize ranges, but that's not what these functions do. That's what they allow you to do.

The problem is that bitmap.forEach always goes through the whole bitmap, so it's the bitmap that controls when which page gets materialised

Of course, we could implement forEach(..., long start, long end) or something like it which has the benefit of being generic and serving a lot of people well. It is more or less what you end up doing in any case.
The big difference is that you are 'run' aware.

We could combine the RangeConsumer with the forEach(..., long start, long end) and make a specialised version for LongConsumer that just creates and adapter to RangeConsumer (by converting setAll to an accept for each value, and ignoring unset and unsetAll) and then invokes the more general implementation. This way we give a lot of flexibility in the use of the API in a way, that I think the JIT compiler should be pretty good at optimising away.
I do think we should give the version that takes a RangeConsumer a more different sounding name, though, to account for the offset based logic and the fact that something will be invoked both for present and absent values.
Which actually gives me an idea for better naming in the interface. How about the following?
public interface RelativeRangeConsumer {
  void acceptPresent(int relativePos);
  void acceptAbsent(int relativePos);
  void acceptAllPresent(int relativeFrom, int relativeTo);
  void acceptAllAbsent(int relativeFrom, int relativeTo);
}

On the one hand, casting a 32-bit integer to a 64-bit integer is quite cheap and may even be optimized away if you are subtracting from a base. On the other hand, if you have 64-bit bitmaps, then you paid the heavy price once by going to a 64-bit bitmap, instead of using 32-bit fragments which is the performance choice.

Oh yeah, the cast would be very cheap. What isn't cheap is LongUtils.toLong. Compare that to the 32-bit relative to startingIndex math where we just keep the highBits in an int and for every offset just use a single operation to add the low bits. I don't have a choice in my use of Roaring64Bitmap, since I don't necessarily control the size of the data entered into the bitmap in the first place and it can be rather large. But we can avoid this cost for this particular case, if we choose an API that only allows 32-bit relative offset based addressing.

One can represent an array of Boolean values in a bitset using 1 bit per value, or in array using, say, 64 bits per value. There is a 64x memory effect + the loss of word-level parallelism.

Yes one can. But an efficient storage format isn't helpful if you can't do the work you need to do at the end of the pipeline, because you can decompress it efficiently to the format you actually need to work with.

This becomes irrelevant if we go for your MaterializeVisitor because I do not have to know where or how you store the data.

True, and it gives people a lot of flexibility to work with whatever materialised format they want and more. In fact in my own use-case the target format isn't really a simple array either. We simply already have code that is efficient at using an array as a basis for a column, so I thought it would make for a good API. But after this discussion, I'm actually convinced that the Visitor/Consumer thing would be much better, both in general and for us, because we could actually materialise directly into the target data-structure.

The selectRangeWithoutCopy function is not directly exposed but it is used to narrow down some operations (say and) over a range.

Ah, I found it now. Should have searched in IntelliJ directly. Github search is truly terrible.
Looking at it, it still just a lot of work to remove values from containers at the boundaries. Which makes sense when your selections are typically larger than 1 container and the boundaries are the exception. But at least for my use-case it'd be the other way around. Most invocations would stay within a single container and crossing a boundary would be the exception.
Or at least that is my preferred implementation. I could, of course, over-read significantly to amortise the tree traversals and then later do range copies of an already larger materialised array for every page.

Quick comment: I agree. No need for a 64-bit version. I was not criticizing your proposal. It is perfectly fine to have a 32-bit consumer on a 64-bit data structure. Of course, it needs to be documented (which can be done with a single sentence). I also agree with RelativeRangeConsumer. It sounds good.
If someone needs a 64-bit consumer, we can add it later.

Forgot to close this. It's addressed in #492


Help wanted - training sets / images and text description

It’s possible we could use Wikipedia extract ~ 40gb offline file and scrape the images / text. Unless ms coco is easier or ???
https://levelup.gitconnected.com/two-simple-ways-to-scrape-text-from-wikipedia-in-python-9ce07426579b

https://www.w3resource.com/python-exercises/web-scraping/web-scraping-exercise-8.php - check this out. This only extracts .jpg'image links. Wikipedia in general uses these three formats - .jpg, .gif, .png. Use these three as regex.
Sample -
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re

html = urlopen(<URL OF WIKIPEDIA PAGE>)
bs = BeautifulSoup(html, 'html.parser')
images1 = bs.find_all('img', {'src':re.compile('.jpg')})
images2 = bs.find_all('img', {'src':re.compile('.jpg')})
images3 = bs.find_all('img', {'src':re.compile('.jpg')})
images = []
images.extend(images1)
images.extend(images1)
images.extend(images1)
for image in images:
    print(image['src']+'\n')

Please check if this works. Similarly, I guess you would be able to extract the image description by taking the next HTML element adjacent to the <a> of the image.

https://www.w3resource.com/python-exercises/web-scraping/web-scraping-exercise-8.php - check this out. This only extracts .jpg'image links. Wikipedia in general uses these three formats - .jpg, .gif, .png. Use these three as regex.
Sample -
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re

html = urlopen(<URL OF WIKIPEDIA PAGE>)
bs = BeautifulSoup(html, 'html.parser')
images1 = bs.find_all('img', {'src':re.compile('.jpg')})
images2 = bs.find_all('img', {'src':re.compile('.jpg')})
images3 = bs.find_all('img', {'src':re.compile('.jpg')})
images = []
images.extend(images1)
images.extend(images1)
images.extend(images1)
for image in images:
    print(image['src']+'\n')

Please check if this works. Similarly, I guess you would be able to extract the image description by taking the next HTML element adjacent to the <a> of the image.

i wonder if just using the alt might work
https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Images
[[File:Siberian Husky pho.jpg|thumb|alt=A white dog in a harness playfully nuzzles a young boy |A [[Siberian Husky]] used as a pack animal]]

i wonder if just using the alt might work
https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Images
[[File:Siberian Husky pho.jpg|thumb|alt=A white dog in a harness playfully nuzzles a young boy |A [[Siberian Husky]] used as a pack animal]]

This seems a better 'alt'ernative :P. Have u tried using it?

This seems a better 'alt'ernative :P. Have u tried using it?

no - wont get to it. need help.
mega.nz give you 12 gb of space - if someone manages to get anywhere and needs a place to host data.

no - wont get to it. need help.
mega.nz give you 12 gb of space - if someone manages to get anywhere and needs a place to host data.

Here is 3.8 GBs (zipped) of image-caption pairs I scraped recently as part of a project. A smaller, 58MB sample of the data (useful for testing) can be found here.
I'll take a look at extracting something out of the wikipedia data (I also found this wikimedia archive), but if someone gets to it before me then please do share 😉 there's also probably some stuff that could be extracted from dumps on the-eye.eu. There's data everywhere, it usually only needs a bit of cleaning.

Here is 3.8 GBs (zipped) of image-caption pairs I scraped recently as part of a project. A smaller, 58MB sample of the data (useful for testing) can be found here.
I'll take a look at extracting something out of the wikipedia data (I also found this wikimedia archive), but if someone gets to it before me then please do share 😉 there's also probably some stuff that could be extracted from dumps on the-eye.eu. There's data everywhere, it usually only needs a bit of cleaning.

does this help - https://storage.googleapis.com/openimages/web/visualizer/index.html?set=train&type=segmentation&r=false&c=%2Fm%2F039xj_
https://github.com/Tencent/tencent-ml-images

does this help - https://storage.googleapis.com/openimages/web/visualizer/index.html?set=train&type=segmentation&r=false&c=%2Fm%2F039xj_
https://github.com/Tencent/tencent-ml-images

Here is 78k image-caption pairs (3.8 GB zipped) I scraped recently as part of a project. A smaller, ~1k pairs sample of the data (only 58MB, useful for testing) can be found here.
I'll take a look at extracting something out of the wikipedia data (I also found this wikimedia archive), but if someone gets to it before me then please do share wink there's also probably some stuff that could be extracted from sites like the-eye.eu and archive.org. There's data everywhere, it usually only needs a bit of cleaning.

I found it helps if you remove all txt files with size zero. vqvae will then point out which images are bad (2 jpgs that werent jpgs) and you can delete them.


Hwp 349 - Build Functional Profile Page

Description
This PR includes the following proposed change(s):

Updates profile page
Updates the header bar
Updates the footer bar
Adds a fix for frontend hot reloading

Requires
Add 'Requires Attention' label if appropriate.

[ ] Requires an update to the .env file
[ ] Requires adding a file listed in the .gitignore
[ ] Requires an opinion or answer to a question, see comments.
[ ] Requires other attention, see below.

If there are any requirements for the developer to make after this PR is merged please list them here.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
For pull requests that are not just a simple fix, please check that the branch works on your local machine.

[ ] Tested by Zach.
[x] Tested by Brandon.
[ ] Tested by Brady.

Does the change impact or break the Docker build?

[ ] Yes
[x] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[ ] No

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] New and existing unit tests pass locally with my changes
[ ] If attention is required by the developer such as updating the .env file, these requirements have been listed.

@Bottle7 please read the following and do a git squash before you're ready to merge
https://www.git-tower.com/learn/git/faq/git-squash


Fix Keep consistent with MySQL & bug fix

Bug fix: implicit convert from int32 -> int64 makes negative time stamp valid, so change signature to int64
Consistent: keep consistent with mysql.

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall