Is it possible to suppress specific *.jar and all of its transitive dependencies?

Hello,
I need to suppress checkstyle (checkstyle-8.16.jar) and pmd (pmd-java-6.10.0.jar, pmd-core-6.10.0.jar) libraries and all of their transitive dependencies.
I created suppressions.xml:
<?xml version="1.0" encoding="UTF-8"?>
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd">
    <suppress>
        <notes><![CDATA[
   file name: checkstyle-8.16.jar
   ]]></notes>
        <packageUrl<EMAIL_ADDRESS>        <cpe>cpe:/a:checkstyle:checkstyle</cpe>
    </suppress>
    <suppress>
        <notes><![CDATA[
   file name: pmd-core-6.10.0.jar
   ]]></notes>
        <packageUrl<EMAIL_ADDRESS>        <cpe>cpe:/a:pmd_project:pmd</cpe>
    </suppress>
    <suppress>
        <notes><![CDATA[
   file name: pmd-java-6.10.0.jar
   ]]></notes>
        <packageUrl<EMAIL_ADDRESS>        <cpe>cpe:/a:pmd_project:pmd</cpe>
    </suppress>
</suppressions>

Configured dependencycheckstyle:
buildscript {
    repositories {
        maven {
            url = uri("https://plugins.gradle.org/m2/")
        }
    }
    dependencies {
        classpath("org.owasp:dependency-check-gradle:6.2.2")
    }
}

allprojects {
    apply(plugin = "org.owasp.dependencycheck")
    configure<org.owasp.dependencycheck.gradle.extension.DependencyCheckExtension> {
        suppressionFile = "suppressions.xml"
    }
}

pmd and checkstyle libraries are suppressed. But transitive dependencies were not affected.
Is it possible to suppress specific *.jar and all of its transitive dependencies?
Thanks in advance

No - this is not possible. Best you could do is add a bunch of suppression rules. It is possible to exclude a scope. A bigger question I have is why would PMD and Checkstyle actually be picked up by dependency-check in the first place. ODC does not scan the build environment, only the actual dependencies.

pmd and checkstyle plugins create special Gradle configurations which OWASP Dependency check sees and scans by default, as it scans all configurations by default.
If you want these to go away, the right way is to skip those configurations using the skipConfigurations or scanConfigurations config rather than suppress the vulnerabilities.


Pocket Admin not typing anything

Hi, I just ordered these and I can’t figure out how to make them type. I followed the videos, but I can’t find anything on how to fix it.

Does it show up as storage device? And also,
tell me which OS you are using and
what is the payload you are trying to run.

Yes it shows up as pocket admin but doesn’t type. I’m using windows 10. The
payload is just a test to open run and type cmd.  I’ve tested it in notepad
to see if it would type there, but it doesn’t.
On Wed, Aug 26, 2020 at 11:55 AM krakrukra<EMAIL_ADDRESS>wrote:

Does it show up as storage device? And also,
tell me which OS you are using and
what is the payload you are trying to run.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/krakrukra/PocketAdmin/issues/7#issuecomment-680967510,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKXGKMZ6RQZRASWPBQ32SDDSCUV5RANCNFSM4QL63VOA
.

If you are on windows 10 it might be that you have file extentions turned off,
eg. file that should be called payload.txt is actually called payload.txt.txt
so, you could try to rename "payload.txt" to just "payload" and see if it helps.
also you did not mention any startup delay. try using this payload script:
WAITFOR_INIT
DELAY 1000
STRING test string into some text editor
make sure your cursor is in a notepad window before you plug the device in

it was “.txt.txt” didn’t even notice. thank you!
On Wed, Aug 26, 2020 at 12:04 PM krakrukra<EMAIL_ADDRESS>wrote:

If you are on windows 10 it might be that you have file extentions turned
off,
eg. file that should be called payload.txt is actually called
payload.txt.txt
so, you could try to rename "payload.txt" to just "payload" and see if it
helps.
also you did not mention any startup delay. try using this payload script:
WAITFOR_INIT
DELAY 1000
STRING test string into some text editor
make sure your cursor is in a notepad window before you plug the device in
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/krakrukra/PocketAdmin/issues/7#issuecomment-680973326,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKXGKM2YGNQJZR7NHNC7W5DSCUXCTANCNFSM4QL63VOA
.


Dry the permission logic on the views.

Interesting -- I love the result of this (a clean, declarative way of defining permissions), but I don't love the implementation. It feels a bit too meta-y for what is basically a simple CRUD app and makes this bit of code unapproachable to a lot of developers (e.g. me -- I am not smart enough to program with metaclasses).
Also looks like tests are failing because (I suspect) Django changed something about how the class-based views' metaclasses worked as of 1.8, which causes some kind of conflict with the new permission metaclass. The fact that it introduces that level of complexity and surface area is, in my opinion, validation that the juice doesn't seem worth the squeeze here.
But like I said, I love the result -- I just wonder if there is a way to do it that's a little more approachable from a complexity standpoint.
If the solve for getting tests passing is straightforward, I'd reconsider -- but it really feels like a non metaclass-based solution should be possible.
Regardless of where we land on this -- THANK YOU for the thoughtful PR!

Haven't heard back so I'm going to close this. Happy to reopen the discussion at any time though.

Sorry I forget about this. I will try to work it soon. And thanks for your elaborate response by the way.


Support many to many

Still WIP.

Should we consider splitting all the assocs modules into separate files?


remove old/invalid devices

Hi,
I have deleted some devices (sensors or switches) from the config.json and restarted the homebrigde-service. But the devices are still there in the Home-App.
How can I remove old/invalid devices?
Thanks,
Stefan

What version of homebridge-rpi are you using?  Stale devices should be removed correctly in v1.1.4.  If not, please attach (or pm me on discord) debug log of startup and cachedAccessories.
If you’re on v1.0.x and not yet ready to update, you can delete cachedAccessories (after stopping Homebridge), or start homebridge -R once with homebridge-rpi removed from config.json completely.  -R is the default in latest Homebridge version.


support tests and setup

support setup and execution of tests

Testing in https://github.com/MOV-AI/backend/actions/runs/12087786683


Add crawl timeout functionality

Adds an argument to the crawl method that will end the crawl if the time limit is reached.
I realised I wanted this feature for a project, and wanted to see if adding it back was of interest? I couldn't find an existing issue on it but believe it is useful. Especially in a context where specific filters are being used, as in some cases the crawler will continue running for extended periods without finding new articles. For example if there is a date filter for the current day, previous days will still be crawled and filtered out.
Happy to take advice on anything extra that is needed for this. Just let me know!

Think I've fixed the last of those linting issues 🙏

@olaughter Sorry for the delay, I'm currently working on this. What concerns me about your original idea is that it depends on receiving an article. Arguing alongside your concerns

For example if there is a date filter for the current day, previous days will still be crawled and filtered out.

if the crawler stops after max_seconds depends on if max_seconds is short enough to still receive articles from that date range.
I altered the logic so that the main thread will be interrupted after max_seconds. My preferred solution would be to have an actual timeout where the process terminates of there weren't any articles received for timeout seconds, but that's another story.

I will alter the logic so that the main thread will be interrupted after max_seconds and commit on your branch.

Thanks @MaxDall, this sounds good and I really like that idea, as you say it makes more sense for it not to be dependant on articles. Look forward to seeing your commit and if there is anymore I can assist with on this please shout!

@olaughter I finished working on this. I finally decided to go with a timeout mechanic, enabling users to set a timeout. If the crawler does not receive a new article within the specified timeout period, it will terminate automatically. Do you mind give it a try if it benefits your project?

Thanks @MaxDall ! I have tried it out and it works really well. All looking good from my side!

Maybe @addie9800 wanna give it a last look?

@olaughter and @MaxDall thanks a lot for adding this!


Building from source failed on mac M1

Hello!
I try to build tiflash from source on my mac m1, and I got some errors when configuring.
When I run cmake ../tiflash, I got CMake Error at contrib/zlib-ng/CMakeLists.txt:477 (message):   sizeof(void *) is neither 32 nor 64 bit. And I also found this error in there(ClickHouse repo), so I follow this issue to modify the CMakeLists.
if (USE_STATIC_LIBRARIES AND HAVE_NO_PIE)
#    set (CMAKE_CXX_FLAGS                 "${CMAKE_CXX_FLAGS} ${FLAG_NO_PIE}")
#    set (CMAKE_C_FLAGS                   "${CMAKE_C_FLAGS} ${FLAG_NO_PIE}")
    set (CMAKE_CXX_FLAGS                 "${CMAKE_CXX_FLAGS}")
    set (CMAKE_C_FLAGS                   "${CMAKE_C_FLAGS}")
endif ()

But it does not work...
In case it's a problem with xcode CommandLineTools, I also reinstalled xcode-select.

➜  tiflashBuild cmake --version
cmake version 3.22.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).
➜  tiflashBuild python --version
Python 3.8.9

➜  tiflashBuild clang --version
Homebrew clang version 13.0.1
Target: arm64-apple-darwin21.3.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin

<EMAIL_ADDRESS>

CMakeError.log
There are many hints of identifier errors. I also found some discussion about this question but no solution...
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/xmmintrin.h:13:
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
    __builtin_ia32_emms();
    ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:33:5: note: '__builtin_isless' declared here
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:33:25: error: too few arguments to function call, expected 2, have 0
    __builtin_ia32_emms();
    ~~~~~~~~~~~~~~~~~~~~^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:50:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
    return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
...

Hi, do you have more detailed inclusion path of immintrin.h? It is strange to be included on ARM platform.

I may have found a solution, I'll try it.

Sorry for the confusion, by saying  inclusion path, I mean would you provide the inclusion tree of the file, like
a.cpp includes a.h, a.h includes immintrin.h.
This can be inferred from the error context.
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/xmmintrin.h:13:
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
    __builtin_ia32_emms();
    ^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:33:5: note: '__builtin_isless' declared here
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:33:25: error: too few arguments to function call, expected 2, have 0
    __builtin_ia32_emms();
    ~~~~~~~~~~~~~~~~~~~~^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:50:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
    return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
...

so is it possible to provide what you have omitted here?

Hi, do you have more detailed inclusion path of immintrin.h? It is strange to be included on ARM platform.

I think here's the problem. May contrib/zlib-ng used the intel compile option. And the parameter "msse4.1" appears...
Run Build Command(s):/usr/bin/make -f Makefile cmTC_1148d/fast && /Library/Developer/CommandLineTools/usr/bin/make  -f CMakeFiles/cmTC_1148d.dir/build.make CMakeFiles/cmTC_1148d.dir/build
Building CXX object CMakeFiles/cmTC_1148d.dir/src.cxx.o
/opt/homebrew/opt/llvm/bin/clang++ -DHAVE_SSE41  -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128 -msse4.1 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -mmacosx-version-min=12.2 -MD -MT CMakeFiles/cmTC_1148d.dir/src.cxx.o -MF CMakeFiles/cmTC_1148d.dir/src.cxx.o.d -o CMakeFiles/cmTC_1148d.dir/src.cxx.o -c /Users/chenxiansen/gitRepo/DBPrototype/tiflashBuild/CMakeFiles/CMakeTmp/src.cxx
clang-13: warning: argument unused during compilation: '-msse4.1' [-Wunused-command-line-argument]
In file included from /Users/chenxiansen/gitRepo/DBPrototype/tiflashBuild/CMakeFiles/CMakeTmp/src.cxx:2

Hi, do you have more detailed inclusion path of immintrin.h? It is strange to be included on ARM platform.

I think here's the problem. May contrib/zlib-ng used the intel compile option. And the parameter "msse4.1" appears...
Run Build Command(s):/usr/bin/make -f Makefile cmTC_1148d/fast && /Library/Developer/CommandLineTools/usr/bin/make  -f CMakeFiles/cmTC_1148d.dir/build.make CMakeFiles/cmTC_1148d.dir/build
Building CXX object CMakeFiles/cmTC_1148d.dir/src.cxx.o
/opt/homebrew/opt/llvm/bin/clang++ -DHAVE_SSE41  -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128 -msse4.1 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -mmacosx-version-min=12.2 -MD -MT CMakeFiles/cmTC_1148d.dir/src.cxx.o -MF CMakeFiles/cmTC_1148d.dir/src.cxx.o.d -o CMakeFiles/cmTC_1148d.dir/src.cxx.o -c /Users/chenxiansen/gitRepo/DBPrototype/tiflashBuild/CMakeFiles/CMakeTmp/src.cxx
clang-13: warning: argument unused during compilation: '-msse4.1' [-Wunused-command-line-argument]
In file included from /Users/chenxiansen/gitRepo/DBPrototype/tiflashBuild/CMakeFiles/CMakeTmp/src.cxx:2

Yes, that is quite suspicious.

Hi, do you have more detailed inclusion path of immintrin.h? It is strange to be included on ARM platform.

I think here's the problem. May contrib/zlib-ng used the intel compile option. And the parameter "msse4.1" appears...
Run Build Command(s):/usr/bin/make -f Makefile cmTC_1148d/fast && /Library/Developer/CommandLineTools/usr/bin/make  -f CMakeFiles/cmTC_1148d.dir/build.make CMakeFiles/cmTC_1148d.dir/build
Building CXX object CMakeFiles/cmTC_1148d.dir/src.cxx.o
/opt/homebrew/opt/llvm/bin/clang++ -DHAVE_SSE41  -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128 -msse4.1 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -mmacosx-version-min=12.2 -MD -MT CMakeFiles/cmTC_1148d.dir/src.cxx.o -MF CMakeFiles/cmTC_1148d.dir/src.cxx.o.d -o CMakeFiles/cmTC_1148d.dir/src.cxx.o -c /Users/chenxiansen/gitRepo/DBPrototype/tiflashBuild/CMakeFiles/CMakeTmp/src.cxx
clang-13: warning: argument unused during compilation: '-msse4.1' [-Wunused-command-line-argument]
In file included from /Users/chenxiansen/gitRepo/DBPrototype/tiflashBuild/CMakeFiles/CMakeTmp/src.cxx:2

Yes, that is quite suspicious.

I found 'msse4.1' in cmake/test_cpu.cmake... So I think it doesn't matter here...
I used AppleClang back and restored my changes in CMakeLists.txt. After deleting the content of test_cpu.cmake, I reconfigure the project and got some error :
ld64.lld: error: LC_DYLD_INFO_ONLY not found in /opt/homebrew/opt/llvm/lib/libunwind.dylib
clang: error: linker command failed with exit code 1 (use -v to see invocation)

full information:
Run Build Command(s):/usr/bin/make -f Makefile cmTC_863a3/fast && /Library/Developer/CommandLineTools/usr/bin/make  -f CMakeFiles/cmTC_863a3.dir/build.make CMakeFiles/cmTC_863a3.dir/build
Building CXX object CMakeFiles/cmTC_863a3.dir/src.cxx.o
/Library/Developer/CommandLineTools/usr/bin/c++ -DHAVE_LIBCXX  -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128   -pipe  -fno-omit-frame-pointer  -Wall -Wno-unused-command-line-argument  -Wnon-virtual-dtor  -Wl,-Bstatic -stdlib=libc++ -lc++ -lc++abi -Wl,-Bdynamic -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -mmacosx-version-min=12.2 -std=gnu++17 -MD -MT CMakeFiles/cmTC_863a3.dir/src.cxx.o -MF CMakeFiles/cmTC_863a3.dir/src.cxx.o.d -o CMakeFiles/cmTC_863a3.dir/src.cxx.o -c /Users/chenxiansen/gitRepo/DBPrototype/tiflashBuild/CMakeFiles/CMakeTmp/src.cxx
Linking CXX executable cmTC_863a3
/opt/homebrew/Cellar/cmake/3.22.1/bin/cmake -E cmake_link_script CMakeFiles/cmTC_863a3.dir/link.txt --verbose=1
/Library/Developer/CommandLineTools/usr/bin/c++  -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128   -pipe  -fno-omit-frame-pointer  -Wall -Wno-unused-command-line-argument  -Wnon-virtual-dtor  -Wl,-Bstatic -stdlib=libc++ -lc++ -lc++abi -Wl,-Bdynamic -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -mmacosx-version-min=12.2 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/homebrew/opt/llvm/lib -fuse-ld=lld  CMakeFiles/cmTC_863a3.dir/src.cxx.o -o cmTC_863a3
ld64.lld: error: unknown argument '-Bstatic', did you mean '-static'
ld64.lld: error: unknown argument '-Bdynamic', did you mean '-dynamic'
ld64.lld: error: LC_DYLD_INFO_ONLY not found in /opt/homebrew/opt/llvm/lib/libc++.dylib
ld64.lld: error: LC_DYLD_INFO_ONLY not found in /opt/homebrew/opt/llvm/lib/libc++abi.dylib
ld64.lld: error: LC_DYLD_INFO_ONLY not found in /opt/homebrew/opt/llvm/lib/libunwind.dylib
ld64.lld: error: undefined symbol: std::__1::cerr
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::cerr
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: __Unwind_Resume
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::locale::~locale()
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::locale::~locale()
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::ios_base::getloc() const
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::locale::use_facet(std::__1::locale::id&) const
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::ctype<char>::id
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: std::__1::ctype<char>::id
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o

ld64.lld: error: undefined symbol: ___gxx_personality_v0
>>> referenced by CMakeFiles/cmTC_863a3.dir/src.cxx.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [cmTC_863a3] Error 1
make: *** [cmTC_863a3/fast] Error 2

 -Wl,-Bstatic -stdlib=libc++ -lc++ -lc++abi -Wl,-Bdynamic

This makes the compiler to find static libraries, which is not expected

https://github.com/pingcap/tiflash/blob/master/CMakeLists.txt#L274, would you check if this code block is wrongly executed?
e.g. adding message(FATAL_ERROR "this should not be executed") inside?

https://github.com/pingcap/tiflash/blob/master/CMakeLists.txt#L274, would you check if this code block is wrongly executed?
e.g. adding message(FATAL_ERROR "this should not be executed") inside?

This code block is not executed.

I found this issue, Byron mentioned

llvms ldd did seem to work, but has problems finding LC_DYLD_INFO_ONLY, which apparently has disappeared in favor of a new format, somehow.

This problem seems to be caused by llvm. I would like to ask if anyone has successfully compiled tiflash with m1?

our CD pipelines compile tiflash for M1. But it is triggered only when we are to release new binaries.
@solotzg Do you have any idea of what is happening here?

I have solved this issue. I want create a pr about modifying the CMakeList later. Is this okay?

our CD pipelines compile tiflash for M1. But it is triggered only when we are to release new binaries.
@solotzg Do you have any idea of what is happening here?

The problem lies in LINKER_NAME and CMAKE_EXE_LINKER_FLAGS. When I use AppleClang, if CMAKE_EXE_LINKER_FLAGS finds the lld of llvm then I get an error.

Feel free to have a try!

Thanks for helping me find the problem. I have submitted a solution. PTAL :)

Sorry, some time ago I found out that the problem was with my configuration file (.zshrc), which imported an environment variable about llvm.


More explicit error message when db dir is not writable

Content
This PR makes error message when unpacking a snapshot and the db/ directory is unwritable a bit more explicit and provides some guidance to the user.
Pre-submit checklist

Branch

[ ] Tests are provided (if possible)
[ ] Crates versions are updated (if relevant)
[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages

PR

[ ] No clippy warnings in the CI
[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reviewer requested

Documentation

[ ] Update README file (if relevant)
[ ] Update documentation website (if relevant)
[ ] Add dev blog post (if relevant)

Any idea why ETE tests are failing? Seems totally unrelated to me

Any idea why ETE tests are failing? Seems totally unrelated to me

@abailly-iohk correct. It's a flakiness problem not related to your PR.


Internet error when add Let's Encrypt Certificate

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

No

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
Internet error when add Let's Encrypt Certificate
申请证书时出现网络错误
Error: Command failed: pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') cloudflare
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/certbot-dns-cloudflare/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/certbot-dns-cloudflare/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/certbot-dns-cloudflare/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/certbot-dns-cloudflare/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/certbot-dns-cloudflare/
ERROR: Could not find a version that satisfies the requirement certbot-dns-cloudflare==1.25.0 (from versions: none)
ERROR: No matching distribution found for certbot-dns-cloudflare==1.25.0
at ChildProcess.exithandler (node:child_process:399:12)
at ChildProcess.emit (node:events:526:28)
at maybeClose (node:internal/child_process:1092:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)

Nginx Proxy Manager Version
lasted、 2.9.19、2.9.18
Screenshots

Operating System
synology dsm7.1
群晖

DNS解析的问题，尝试换DNS服务器或者挂梯子吧。
English:
It was a DNS resolve issue, try change DNS server or using proxies to get over the Chinese GFW.

Set proxy for docker https://docs.docker.com/network/proxy/.
eg:  I use docker compose to create container.
# stop

docker compose down

# edit

vim docker-compose.yml

===
    environment:
      - http_proxy=http://example:host
      - https_proxy=http://example:host
      - no_proxy="localhost,<IP_ADDRESS>/8,<IP_ADDRESS>/16"
      - HTTP_PROXY=http://example:host
      - HTTPS_PROXY=http://example:host
      - NO_PROXY="localhost,<IP_ADDRESS>/8,<IP_ADDRESS>/16"
===

# create

docker compose up -d

# for test

docker exec -it nginxproxymanager-app-1 /bin/sh

curl www.google.com

exit

If you remove the proxy environment and then restart after successfully applying certificates, you may encounter a 'Bad Gateway' error on the login page (there might be errors when renewing certificates in the future as well).

Adding a DNS server to the docker-compose.yml fixes this issue.
services:
   app:
   # Added DNS
    - <IP_ADDRESS>

    image: 'jc21/nginx-proxy-manager:latest'
   ...


Translation option, like in WeChat mobile

Please add the 'Translate' option, like in WeChat Mobile, which is very useful for foreigners in China (translating from Chinese to English)

Already in preference menu, will be released in 2.0


[SPARK-32691][BUILD] Update commons-crypto to v1.1.0

What changes were proposed in this pull request?
Update the package commons-crypto to v1.1.0 to support aarch64 platform
Why are the changes needed?
The package commons-crypto-1.0.0 available in the Maven repository
doesn't support aarch64 platform. It costs long time in
CryptoRandomFactory.getCryptoRandom(properties).nextBytes(iv) when NettyBlockRpcSever
receive block data from client,  if the time more than the default value 120s, IOException raised and client
will retry replicate the block data to other executors. But in fact the replication is complete,
it makes the replication number incorrect.
This makes DistributedSuite tests pass.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass the CIs.

Thank you for your contribution, @huangtianhua . Could you recover the original PR description style please?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Why change the PR description style from
### Why are the changes needed?

to
**What changes were proposed in this pull request?**

?
Please just copy the original PR description template and fill the sections.

ok to test

Test build #130761 has started for PR 30275 at commit f85835b.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35370/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35370/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35370/
Test FAILed.

Test build #130761 has finished for PR 30275 at commit f85835b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130761/
Test PASSed.

@dongjoon-hyun,  thanks and I will add more logic details in the PR description.
Please add a new and independent test case which is applicable for master and branch-3.0 for SPARK-32691. --- I think the caching tests in DistributedSuite.scala is enough.

Thank you for updating the PR description, @huangtianhua .
For the following, do you mean the caching tests fail in branch-3.0 currently? For the unit test, we need a unit test which fails without this patch.

I think the caching tests in DistributedSuite.scala is enough.

@huangtianhua . I'll merge this to master branch for Apache Spark 3.1.0.
If you need a backport to branch-3.0 for Apache Spark 3.0.x, please make a backporting PR with the test case.


Device wakes up momentarily after entering sleep

Describe the bug
When the device goes to sleep, it wakes up moments later.
Prior to upgrading to Fedora 41, this was not the case.
Additionally, this happens when:

Bluetooth is disconnected
WiFi is disabled
Ethernet is unplugged
All USB devices are unplugged

What did you expect to happen?
The device remains asleep.
Output of rpm-ostree status
bazzite@bazzite:~$ rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:stable
                   Digest: sha256:f44bebbf15932d9edc4e0b28b91614be1e172dba004c0cad6f7a3d46c00837eb
                  Version: 41.20241125 (2024-11-26T03:48:17Z)

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:stable-40.20241014.0
                   Digest: sha256:6bb8ce8809f31105691dcdbab8d3f9b1106e4544ee98ebe9f1077865b8592b5d
                  Version: 40.20241014 (2024-10-15T09:01:54Z)

Hardware
MSI MEG Unify z690i Motherboard
Intel i5 13600K
64GB RAM
AMD 7900XTX
Extra information or context
I've attached kernel logs.
logs.txt

To follow up on this for potential future readers:
My HTPC has Thunderbolt 4 ports. These ports were configured for PCIe over USB4. Disabling that configuration seems to have solved the problem.


process_custom_shift_keys goes call before process_sentence_case in keymap.c

Hello @getreuer,
I'm not certain if it was done intentionally, but I noticed it and decided to create an issue just in case. Please feel free to close the issue if it was intended.

Note: If you happen to also use custom shift keys, be sure to call process_sentence_case() before process_custom_shift_keys().

Thanks for the great QMK features and userspace libs, I wouldn't be able to use home row mods without Accordion!

@NikGovorov thanks for catching this! And so sorry for the late reply.
You are right, process_sentence_case() should be called before                                                                                process_custom_shift_keys().  Otherwise, in the opposite order, Sentence Case would not have a
chance to process key events where a custom shift key was pressed. This
is a problem especially if—and as is the case in my keymap—a custom
shift key is used to type sentence-ending punctuation. So correct order
of these feature handlers matters. Yet I failed to follow my own rule.
Thanks again!


Modules should not be prefixed with gaffer

gaffer-core and gaffer-integration-tests modules should be renamed to simply core and integration-tests

This is covered by gh-182.


Adds data-object-pk attribute to rows in modeladmin's IndexView

Aims to improve the extendability of ModelAdmin (specifically for things like #2941 and #2719).
The <tr> element for each row in IndexView is now rendered by the result_row_display template tag, making it possible to do more with it.
A new get_extra_attrs_for_row() method on the ModelAdmin class is called by result_row_display tag to check for additional html attributes to be added for each row, so developers can override that to add custom attributes to the <tr> element.

This is ready for review, now :)


Adapt p4c-xdp to the eBPF changes in the p4c repository

Let's see if this works out smoothly. I also automatically copy the xdp target into the targets folder.

I am not sure that this fix is enough: https://travis-ci.org/github/vmware/p4c-xdp/builds/694377488


Limit mea culpa retries

Currently mea culpa reasons don't count against a job's retry count. This is fine as long as we are  careful that reason codes marked as mea culpa are transient. However, there are some reason codes that are often transient but can be terminal that we don't mark as mea culpa because in the case the failure is terminal the job would retry forever. The request is consider mea culpa failures a "real" (counts against your retry count) failure if it occurs more than x times. This would allow us to consider more failure reasons mea culpa which leads to a better user experience.

#236


bugfix, the selected commit is not the current commit

If the user chooses branch 'A' the current commit for branch 'A' might be '123abc', this does not signify that the user has selected to checkout specifically '123abc'
closes #4091

fyi @mariusraht2


Select 2 compilation

Hi Maya, I am trying to compile SCSS of Select2 Bootstrap 4 theme from  this repository https://github.com/berkan52/select2-bootstrap4-theme/tree/master/src
It works with vanilla BS 4.1.
But I fail to make it work with material.
Could you look briefly at it ?
Thanks for all your updated.
djibe

Some variables in Material are named differently, that is why this fails to compile with Material.

I'll try to dig in material to find the variables.
Thx again.


MotionController scene documented, but unfound

Right on the main page, there is a blurb about the MotionController scene, but I don't see it in the code. Can you guys fix that, or point me to it?
Mainly, what I want to do is drop a Crystal Keys Motion Controller into my app and have it render itself. Is this possible? Where is the main place a dev in the outside world would find this code/prefab/documentation and use it? So far, it's been really hard to find a solid reference to this probably very common request.

Looks like it's here: https://github.com/Microsoft/MixedRealityToolkit-Unity/blob/Dev_Unity_2017.2.0/Assets/HoloToolkit-Examples/Input/Scenes/MotionControllerTest.unity

A. I don't see anything in the readme that points me to where this scene went.
B. I've run MotionControllerTest.unity, and don't see the model for the crystal keys show up on the screen, nor do I see it anywhere in the projects. But I do get a cryptic message that glTF cannot render the model in editor mode, which baffles me.
I do get a screen that shows a bunch of details about the controller and a small blurry cursor sphere.

The libraries that render the controllers are not available in the editor at this time.  You'd need to build and deploy your app to see the controllers.

For other people that are in the dark as well as me, can you explain what the difference is? Why would I not see it in the editor, but would see it during build & run? What component in the system knows how to replace one model w/ another at runtime? I'm just starting out w/ the motion controllers, and don't know what's going on here.
thanks

let's back up a second... can one of you helpful guys just explain how I get the crystal keys model to show up and render in my unity app, if I'm starting from scratch? Where does one start? I was looking at this demo to figure it out, but ... uh.. isn't there a "how to" somewhere official that explains how to do this, or is this all too new for that?

I built and ran it, sure enough the model does show up. that just blew my mind. Now I have to go figure out why that works...

Oh, I get it, at runtime, it tries to load the model from ... somewhere, based on my model's type, and then uses that. But there is no model available for the editor yet, as in: Microsoft has not released it yet? Can I find a reasonable approximation somewhere? that's pretty cool that this works, though, makes it simple (in theory) to have the controllers provide their own model.

Part of the reason went we can't see the controllers in the editor, is because unity has not exposed the windows namespaces we need to load the controller driver at runtime in the editor.
As for implementing the controller visualizer in your own scene, I believe the Mixed Reality Camera Parent prefab is all you need (I have to double check).  But the main readme does indeed state the classes pertaining to the controller visualization.

The controller model is being loaded from it's driver.

I'm sure Microsoft has left a model laying around somewhere that we can use? :-) I should know, I work there, but currently, it escapes me.

I believe you'd need two models, left and right.
If I remember correctly, it was decided that always loading the controller from the driver was the best implementation, and that Unity might expose the windows uwp APIs a bit more if people wanted to see them in the editor.  Who knows, maybe you can ask around and see?

I went down this path of reasoning because it looks like the Vive provides models and a prefab that seem pretty plug & play... but getting the model from the dll seems wise too.


Add '?=' (ConditionalAssignment) operator to Optional

🚀

Checklist

[x] I checked the Contributing Guidelines before creating this request.
[x] New extensions are written in Swift 4.
[x] New extensions support iOS 8.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+.
[x] I have added tests for new extensions, and they passed.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All extensions are declared as public.
[x] I have added a changelog entry describing my changes.

          4 Messages

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

:book:
iOS: Executed 503 tests, with 0 failures (0 unexpected) in 2.963 (3.527) seconds

:book:
tvOS: Executed 473 tests, with 0 failures (0 unexpected) in 1.867 (2.265) seconds

:book:
macOS: Executed 335 tests, with 0 failures (0 unexpected) in 1.337 (1.652) seconds

  Generated by :no_entry_sign: Danger

Sorry, I amended the commit instead of adding a new one (my first pull request on GitHub :))
I changed XCTAssert to XCTAssertEqual.
I also made @autoclosure rhs instead of simple parameter so it won't evaluate unless needed.

I haven't reviewed this PR but I like the idea 👍

Thank you for contributing to SwifterSwift! I've invited you to join the SwifterSwift GitHub organization - no pressure to accept! If you'd like more information on what that means, check out our contributing guidelines. Feel free to reach out if you have any questions! 😃


markdownlint-cli2 v0.9.0 incorrectly reports MD051/link-fragments

The python -m src.entry_points.markdownlintcli2_soft_fail check fails in tox -e docs with markdownlint-cli2 v0.9.0:
➜ python -m src.entry_points.markdownlintcli2_soft_fail
markdownlint-cli2 v0.9.0 (markdownlint v0.30.0)
Finding: ./docs/**/*.md ./README.md
Linting: 43 file(s)
Summary: 1 error(s)
docs/consuming_tests/common_types.md:77:19 MD051/link-fragments Link fragments should be valid [Context: "[`Storage`](#storage-mappinghash)"]

This is a false positive as this link exists in the docs, see here:
https://ethereum.github.io/execution-spec-tests/v2.1.0/consuming_tests/common_types/#storage-mappinghashhash

The fix is to upgrade, if installed via npm:
sudo npm update markdownlint-cli2 --global

See also: https://ethereum.github.io/execution-spec-tests/v2.1.0/writing_tests/verifying_changes/#documentation-verification-docs.


[JP] Improve Enum basics section

#534
I can't understand meaning of 'combining enum with documentation' enough. What do you mean?

@3100 can you take a peek at this when you get a chance?

@hinamiyagk are you referring to this line: "By leveraging it combined with other perks of Elixir, such as documentation being a first class citizen as we just saw, it can be incredibly empowering to the developer as well."

@hinamiyagk / @riseshia / @marocchino — can this be merged?

I think it could, however, it will be better if review applied. how do you think @marocchino ?

I think it's a negligible difference.
retranslate original will be:

Besides, enumerating lists etc., combined with other elements of Elixir, such as documents supported at the language level as we saw earlier, will give incredible effects.

my suggestion was:

Besides, enumerating lists etc. brings an incredible effect by using Elixir together, such as documents supported at language level as we saw before.

Howdy @hinamiyagk / @marocchino / @riseshia — can this be merged?

It could be, proposal from @marocchino could be another pr. XD

Okay, thank you @riseshia!

@doomspork how handle above suggestion?

@riseshia if you or @marocchino want to open a PR for the change that'd be great!


catalog-backend: fixed validation of fullTextFilterFields

Hey, I just made a Pull Request!
Fixes #19557
@sennyeya I find the typed parameters to be quite useful. Thinking that it might even make sense to export some prepared types from the generated module?
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@Rugvip Interesting idea, I can take a look at that.


sdl_common: Add #if USE_SDL || USE_SDL_GPU (#211)

This fixes #include SDL_INCLUDE_PATH when SDL_INCLUDE_PATH
is not set.
Change-Id: Iaf2cd2b3d6b1dfffc97d1efcc25c645e7cc188a7

Just met this error today, I can confirm that this patch fixes it

Thank you!


upgrading to python3

would you accept PR upgrading it to a python3? I may make one if dependencies are available for Python3
Python2 will reach EOL soon

I'll merge any PR to this project. It hasnt worked in a while and I dont
have the time or will to fix it.
On Tue, Apr 23, 2019, 2:29 PM Mateusz Konieczny<EMAIL_ADDRESS>wrote:

would you accept PR upgrading it to a python3? I may make one if
dependencies are available for Python3
Python2 will reach EOL soon
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DanMcInerney/search-google/issues/10, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAN2ZJNMDCX27YFLVCK4SV3PR5WR3ANCNFSM4HH6EV5A
.


Refactor DocBlocks

use @returns over @return
use @return {undefined} when function does not return anything
param types should be their most generic form - Array vs Ember.Array, Object vs Ember.Object - except for cases in which a more specific Ember.* type is warranted.
types should be capitalized - Number, Boolean, Object, Function - all except for "undefined" which should be all lowercase.

Closed by https://github.com/softlayer/sl-ember-components/pull/344


Deploy to Heroku button setup

Deployment

need to finish some configs though

tests failing

Let's drop support of Google Cloud Storage in favor of WhiteNoise for static files to avoid having different settings.py for Google Cloud and Heroku?

@pauk-slon works


[Doc Improvement] move Teams app + add-in from wiki to Teams docs

This tutorial used to be in the toolkit's wiki.

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/TOC.yml
99
14
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
72
129
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.

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/TOC.yml
99
14
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
82
59
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.

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/TOC.yml
99
14
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
81
66
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.

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/TOC.yml
99
14
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
81
66
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.

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/TOC.yml
99
14
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
82
63
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.

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/TOC.yml
99
14
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
83
59
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.

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/TOC.yml
99
14
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
82
60
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
81
72
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.

Thanks @Rick-Kirkham! I added couple more suggestions.
To make sure I understand the customer scenario here, is it for customers (e.g., ISVs) with both existing Teams and Office-Addins, and this shows how to package together (and further, new user scenarios you can unlock by doing so)? If so, I feel like this content could be relevant to both Add-ins and Teams doc sets. Reason I ask is if we do indeed stand up a shared M365 doc set, this article would be a good candidate for it (and then be referenced from Teams/Addins TOCs).

Yes, that's the main scenario. I agree that this should be moved to the M365 doc set as soon as it is up and running.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
81
72
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
81
72
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
83
64
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
83
63
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
83
63
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
86
48
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
88
43
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.

@Rick-Kirkham @erikadoyle
Thank you for updating the content based on the comments given earlier.
We've added few more comments on checking the review site and also made few suggestions. Requesting to please update the content, as required.
We can merge the doc, once a final check is done.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
88
43
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
88
43
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.

@Rick-Kirkham @erikadoyle
Thank you for updating the content based on the comments given earlier.
We've added few more comments on checking the review site and also made few suggestions. Requesting to please update the content, as required.
We can merge the doc, once a final check is done.

I've made your changes. In some, I varied your suggested wording a little bit.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
90
38
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.

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/TOC.yml
97
17
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
90
38
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.

@Rick-Kirkham, @erikadoyle
Thank you for updating the content based on the comments given earlier.
We've come across few minor updates that might be required on the final check and added the comments. Requesting to please update the content, as required.

done

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/TOC.yml
96
18
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
90
38
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.

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/TOC.yml
96
18
link
:white_check_mark:

msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
90
38
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.


Atomic counter example request/confirmation

Hi,
I have a table in DynamoDB that keeps track of a counter and I want it to be an atomic counter atomic counter. Can you give me an example of how I can implement this with your library. I have the following but I am not sure if this will be atomic.
var result = await ddbContext.UpdateItem<Counter>()
                                   .WithPrimaryKey("Counter")
                                   .On(x => x.CurrentValue)
                                   .Increment(x => x.CurrentValue)
                                   .WithReturnValues(ReturnValues.UpdatedNew)
                                   .ToItemAsync();

I found this article that has a great solution to what I was looking for. Maybe this can help someone else: https://lucvandonkersgoed.com/2022/01/12/reliable-auto-incrementing-integers-in-dynamodb/


cannot stat

https://github.com/Hexxeh/rpi-update/commit/8c76703ea0f0aee56dd19d459b2565de613317cb
Only had a quick look, but I think this commit has broken things when updating kernel modules.
cp: cannot stat //root/.rpi-firmware/modules/*

Can confirm.  I am getting this error, and after rebooting the pi, lsmod shows nothing.  Needless to say, the pi lacks some features now...

Apparently fixed in 67197d9d73c56570578cb2c6c188af263a37ecd9
https://github.com/Hexxeh/rpi-firmware/commit/67197d9d73c56570578cb2c6c188af263a37ecd9
Thanks!


SWIGing tensorflow/python/tensorflow.i failed (Exit 1) on Centos 6.2

Hi,
Trying to build on Centos 6.2 with the following command:
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --verbose_failures

gives the following error:
INFO: $TEST_TMPDIR defined: output root default is '/tmp'.
........................
WARNING: /home/username/src/tensorflow/tensorflow/core/BUILD:1787:1: in includes attribute of cc_library rule //tensorflow/core:framework_headers_lib: '../../external/nsync/public' resolves to 'external/nsync/public' not below the relative path of its package 'tensorflow/core'. This will be an error in the future. Since this rule was created by the macro 'cc_header_only_library', the error might have been caused by the macro implementation in /home/username/src/tensorflow/tensorflow/tensorflow.bzl:1073:30.
WARNING: /home/username/src/tensorflow/tensorflow/contrib/learn/BUILD:15:1: in py_library rule //tensorflow/contrib/learn:learn: target '//tensorflow/contrib/learn:learn' depends on deprecated target '//tensorflow/contrib/session_bundle:exporter': No longer supported. Switch to SavedModel immediately.
WARNING: /home/username/src/tensorflow/tensorflow/contrib/learn/BUILD:15:1: in py_library rule //tensorflow/contrib/learn:learn: target '//tensorflow/contrib/learn:learn' depends on deprecated target '//tensorflow/contrib/session_bundle:gc': No longer supported. Switch to SavedModel immediately.
INFO: Found 1 target...
ERROR: /home/username/src/tensorflow/tensorflow/python/BUILD:2974:1: SWIGing tensorflow/python/tensorflow.i failed (Exit 1): swig failed: error executing command
  (cd /tmp/_bazel_username/dcca333cc36b578f4473c754fbbc85ff/execroot/org_tensorflow && \
  exec env - \
  bazel-out/host/bin/external/swig/swig -c++ -python -module pywrap_tensorflow_internal -o bazel-out/local-py3-opt/bin/tensorflow/python/pywrap_tensorflow_internal.cc -outdir bazel-out/local-py3-opt/bin/tensorflow/python -ltensorflow/python/client/device_lib.i -ltensorflow/python/client/events_writer.i -ltensorflow/python/client/tf_session.i -ltensorflow/python/client/tf_sessionrun_wrapper.i -ltensorflow/python/framework/cpp_shape_inference.i -ltensorflow/python/framework/python_op_gen.i -ltensorflow/python/grappler/cluster.i -ltensorflow/python/grappler/cost_analyzer.i -ltensorflow/python/grappler/item.i -ltensorflow/python/grappler/model_analyzer.i -ltensorflow/python/grappler/tf_optimizer.i -ltensorflow/python/lib/core/py_func.i -ltensorflow/python/lib/core/strings.i -ltensorflow/python/lib/io/file_io.i -ltensorflow/python/lib/io/py_record_reader.i -ltensorflow/python/lib/io/py_record_writer.i -ltensorflow/python/platform/base.i -ltensorflow/python/pywrap_tfe.i -ltensorflow/python/training/quantize_training.i -ltensorflow/python/training/server_lib.i -ltensorflow/python/util/kernel_registry.i -ltensorflow/python/util/port.i -ltensorflow/python/util/py_checkpoint_reader.i -ltensorflow/python/util/stat_summarizer.i -ltensorflow/python/util/tfprof.i -ltensorflow/python/util/transform_graph.i -ltensorflow/python/util/util.i -Ibazel-out/local-py3-opt/genfiles -Iexternal/eigen_archive -Iexternal/grpc -Iexternal/protobuf_archive -Iexternal/swig -Iexternal/boringssl -Ibazel-out/local-py3-opt/genfiles/external/local_config_python -Iexternal/nsync -Iexternal/gemmlowp -Iexternal/jpeg -Iexternal/com_googlesource_code_re2 -Iexternal/jsoncpp_git -Iexternal/zlib_archive -Iexternal/highwayhash -Iexternal/gif_archive -Ibazel-out/local-py3-opt/genfiles/external/jpeg -Iexternal/lmdb -Iexternal/png_archive -Iexternal/farmhash_archive -Iexternal/local_config_cuda -Iexternal/sqlite_archive -Iexternal/swig/Lib -Iexternal/swig/Lib/cffi -Iexternal/swig/Lib/python -Iexternal/swig/Lib/std -Iexternal/swig/Lib/typemaps tensorflow/python/tensorflow.i).
Target //tensorflow/tools/pip_package:build_pip_package failed to build

Is there any way to at least see what the error from swig is? Running the reported command manually works fine.

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!

@SimonBoorer Getting the same error.

@angerson Can this please be reopened? This is a bug and a patch with a fix is available


mutate in useSWRInfinite is broken when passing data and revalidate true

Bug report
Description / Observed Behavior
When using useSWRInfinite, if we call the bound mutate function and we pass the data argument, the data is not updated or revalidated.
Expected Behavior
I expect useSWRInfinite to both update the cache and re-fetch data from source.
Repro Steps / Code Example
CodeSandbox
Notice how mutate(data) doesn't update the cache or revalidate the data but mutate(data, false) does update the cache. mutate() revalidates with no issues.
Additional Context
SWR version. 0.4.0
I guess this is because the mutate function for useSWRInfinite is not updating the cached pages with the data parameter before calling useSWR mutate. When the infinite fetcher adapter runs, this is equal: config.compare(originalData[i], pageData). mutate from useSWR will just update the global cache key for the infinite list, not the individual pages as this code would assume

forgot to save my sandbox before sharing. it should be okay now

forgot to save my sandbox before sharing. it should be okay now

I can reproduce the above. A further issue: if you use useSWRInfinite with refreshInterval, you will lose any changes made every time the reload is run.
I found a workaround:

do the mutate() that is returned by useSWRInfinite as you would expect
use the import mutate() to modify the key-cache:

await importedMutate(
    getKey(pageIndex, paginatedData[pageIndex - 1]),
    (paginatedData) => { return modify(paginatedData) }
);

I take that this is updating the page cache forcefully and persist the change.

@woxxy I have a similar issue.
I'm trying to mutate data using the mutate returned byuseSWRInfinitebut it doesn't revalidate.
Can you better explain your workaround?
When you mutate using getKeyare you mutating all the list or a single page?
I'm not understanding well how to mutate  useSWRInfinite with filters and pages and other parameters.
Thanks in advance

for workaround you can do:
mutate(data, false)
mutate()

the first one mutates the cache, the second triggers revalidation.

@pedro-pedrosa That workaround does not work for me.

@woxxy Could you elaborate more on your workaround, specifically regarding "use the import mutate() to modify the key-cache"? Perhaps with a code example, would be awesome!

If you want to revalidate all pages after mutating, you need to pass the revalidateAll: true option:
const { mutate } = useSWRInfinite(getKey, fetcher, { revalidateAll: true })

mutate(pages) // ← this will first mutate the local data, and then revalidate all pages

By default, SWR Infinite only revalidates the first page (there's a PR that fixes this behavior: #1301) that's because in most infinite loading cases, it's too expensive to revalidate everything.

got connection refused every time i try to mutate data in swr infinite after updating the data / make a crud operation

This bug fix somehow created a bug on Socketkit creating infinite loops using it with fallbackData.
Here's the issue: https://github.com/vercel/swr/issues/1638#issuecomment-981159785
Here's the code: https://github.com/socketkit/socketkit/blob/main/services/web/components/table/table.js#L37

for workaround you can do:
mutate(data, false)
mutate()

the first one mutates the cache, the second triggers revalidation.

this is how I also got it working.
using the global mutate I changed the cache entry and with the mutate of the list I was able to trigger the revalidation.
Notice: you have to set revalidateFirstPage to true for the useSWRInfinite hook.

for workaround you can do:
mutate(data, false)
mutate()

the first one mutates the cache, the second triggers revalidation.

After hours of back and forth hustle this way around works but it revalidate all the pages.

Not sure if anyone running on the same issue as me, but every google search I do on the subject leads me here, apparently using the bound mutate function from useSWRInfinite was not notifying my component tree that data has changed. My solution, as absurd as it seems, was to first mutate the collection to undefined` before mutating it with my changed data before telling it to actually fetch fresh data. So in other words:
mutate(undefined, false);
mutate(mutatedData, false);
mutate();

It may be possible another undefined mutate be needed before the final mutate().


Crash, can't figure out what's wrong

https://openeye.openmods.info/crashes/db2a305f1976af22e54a17792c5e9ffc

first of all: a full crash / debug log would have been way better than this ...
second: lack of details what did you do, how did it happen?
3rd: it seems the mod has some issues in removing the bedrock layer as well as finding a valid spawn location


📖 story "user can read reviews and comments"

[ ] "1 hour ago" human readable timestamp for each comment
[ ] 5-star reviews should not be changeable
[ ] remove "post a comment" button (and its random functionality)
[ ] comment count should only appear on threads (root comments), and if 0, simply not appear
[ ] has valor.css customizations that match the figma designs
[ ] #47
[ ] #52

I noticed human readable timestamps have already been implemented


Python: allow custom headers in HTTP transport

Problem
Needs #3114 so it works with env var configuration.
Closes: #2907
Solution
Add custom_headers in HttpConfig.
Note: Env var configuration would work only if whole transport is set with dynamic env vars introduced in #3114. This means you can't e.g. set OPENLINEAGE_URL and OPENLINEAGE__TRANSPORT__CUSTOM_HEADERS. Instead of OPENLINEAGE_URL set OPENLINEAGE__TRANSPORT__TYPE=http and OPENLINEAGE__TRANSPORT__URL=....
Checklist

[x] You've signed-off your work
[x] Your pull request title follows our guidelines
[x] Your changes are accompanied by tests (if relevant)
[x] Your change contains a small diff and is self-contained
[x] You've updated any relevant documentation (if relevant)
[ ] Your comment includes a one-liner for the changelog about the specific purpose of the change (not required for changes to tests, docs, or CI config)
[ ] You've versioned the core OpenLineage model or facets according to SchemaVer (if relevant)
[x] You've added a header to source files (if relevant)

SPDX-License-Identifier: Apache-2.0
Copyright 2018-2024 contributors to the OpenLineage project

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 85.70%. Comparing base (187cfc9) to head (d4db05d).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3116      +/-   ##
==========================================
+ Coverage   84.57%   85.70%   +1.12%
==========================================
  Files          54       54
  Lines        3112     3112
==========================================
+ Hits         2632     2667      +35
+ Misses        480      445      -35

Flag
Coverage Δ

85.70% <ø> (+1.12%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Added BIGIP license installation

Added license installation command similar to the revoking the license:
mgnt = ManagementRoot(bigip_mgnt, user, passwd)
mgnt.tm.sys.license.exec_cmd('install', registrationKey=regkey)

Issues:
Fixes #1483
Problem: It was not possible to install BIGIP license via f5-sdk
Analysis:
Added install command to the _meta_data['allowed_commands'] of the License object
Tests:

Added unit test to make sure that install command is allowed and executed with the appropriate arguments
Performed the functional tests with the hardware BIGIP:

With the correct license key, object returned by the mgnt.tm.sys.license.exec_cmd('install',  registrationKey=regkey) command has  'commandResult': 'New license installed\n' attribute and BIGIP has installed regkey license
With the incorrect license key, object returned by the mgnt.tm.sys.license.exec_cmd('install', registrationKey=incorrect_regkey) command has  'commandResult': 'License server has returned an exception.\n   Fault code: XXXX\n   Fault text: Error XXXX, Production Key cannot be used in the Internal Development/PD environment - Key : XXXX\n' attribute and previous license key remains on the BIGIP

@drenout can you change your two append lines to this line instead:
self._meta_data['allowed_commands'].extend(['revoke', 'install'])

@jasonrahm done. Thank you for the comment.


documentation updates.

Thanks for the PR!
Any successful deployments (not always required) will be available below.
Frontend available
Backend available
Once merged, code will be promoted and handed off to following workflow run.
Main Merge Workflow

Thanks @DerekRoberts for the changes.


UnicodeDecodeError: 'cp950' codec can't decode byte 0x99 in position 194: illegal multibyte sequence

Is it really a Bug report?
If you have questions regarding setup or feature information/requests, please consider asking in the Discord channel: https://discord.gg/Jf3J8cuXWg. The Github issues section is for bug reports only.
Botty Version
What version of botty are you running? Are you using a pre-compiled release? Which one. Are you using the latest master branch? On which commit?
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
etc.

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots / Video
If applicable, add screenshots or even better a short video of the error happening to help explain your problem. Botty often automatically makes screenshots when something goes wrong. Add these also.
Logs
Add the relevant part of the info.log in this section. Either upload it as a fail or copy-paste the relevant part in here.
Additional info
Add any other information about the problem here.

UnicodeDecodeError: 'cp950' codec can't decode byte 0x99 in position 194: illegal multibyte sequence

我來自taiwan,按f11後產生這個錯誤


Add the ability to use exclusive RBD locking to prevent inadvertent multi-node access of an RWO image

Although CO systems are meant to ensure an RWO volume is attached to a single node, under any (un)availability constraints. It seems prudent to have an additional layer of protection to ensure this is taken care of.
Quoting solutions presented by @dillaman here:
"The best solution is to ensure that k8s will never request the CSI to map a PV to a node when it could already be mapped on an unresponsive node. Barring that, the CSI should enable the exclusive-lock feature on RBD images for RWO volumes at provision time. At attach time, it should break any existing locks prior to mapping via "rbd lock break" (which will blacklist the previous lock owner from the storage cluster), and the map operation should use "rbd device map --exclusive" to ensure that it immediately acquires the lock and will refuse to release it until unmapped / blacklisted."
We would need to analyze what this entails in a CO environment, and what workflows may be needed to remove nodes from a black list (if at all needed).

I want to retract the possibility of using "rbd device map --exclusive". The issue being that when that option is used, krbd will never release the lock. Normally that is exactly what you'd want, except for the case where you are trying to perform some maintenance operation on the image (snapshot create/remove, flatten, ...).

we need to do  below steps
During create

add --exclusive-lock feature while creating an image if its RWO
During node stage
use rbd map --exclusive
During unstage
list the lock on image
remove the lock
unmap the rbd device

@dillaman @ShyamsundarR correct me  if am wrong
@dillaman to remove the lock we need  to connect the cluster right, means we need mon endpoints, admin ID and credentials ( is it possible to remove the lock  without that)

we need to do below steps
During create
* add `--exclusive-lock` feature while creating an image if its RWO
  During node stage

It's --image-feature layering,exclusive-lock,...... (there is no --exclusive-lock optional)

* use `rbd map --exclusive`

Negative -- that was my retraction above. If you use this, you will break the ability to have third-party tools (i.e. rbd snap create) function against in-use images.

  During unstage

* list the lock on image

* remove the lock

* unmap the rbd device

Negative -- on a normal unstage, if you were using exclusive-lock, it will automatically clean up the lock. You would only need to break a lock on node stage if it's still flagged as in-use on another node. But, using exclusive-lock in such a way gets back to the point above ...

@dillaman to remove the lock we need to connect the cluster right, means we need mon endpoints, admin ID and credentials ( is it possible to remove the lock without that)

You need to talk to the cluster, so you need all the required details to talk to the cluster.  Again, not sure it matters much since (1) you wouldn't be doing this during node unstage, and (2) see above ...

as we do map --exclusive we cannot take a snapshot, right? is this expected

It's a limitation of the fact that krbd doesn't perform any maintenance ops. If you used rbd-nbd --exclusive, you would still be able to create snapshots because it would handle the request from a remote rbd client.

This is an important item for v2.0.0 ( #557 ) and would like to solve it at this release.  @ShyamsundarR @Madhu-1 @dillaman any volunteers for this task?

@humblec There is currently no agreed path forward on this issue. The RBD exclusive-lock feature cannot be used and the CSI RPCs do not provide the necessary credentials to provide a manual workaround.

@humblec There is currently no agreed path forward on this issue. The RBD exclusive-lock feature cannot be used and the CSI RPCs do not provide the necessary credentials to provide a manual workaround.

@dillaman true, I am aware of  the conclusion we made with our last discussions on this topic. However, trying to figure out what can be done here to reach to a (new) solution/workaround, be it by adding support from RBD core side or by trying  possibilities from other layers. I was told that, we have to bring this extra safety measure to be assured that,  we dont end up in multi access and thus its consequences.
@ykaul jfyi ^^

Agreed it's a great safety feature -- but it will require a CSI spec change. There is no workaround possible w/o the credentials.

@dillaman @humblec if possible can we create an issue in CSI spec for the changes required? what changes did we require in the external provisioner sidecar?

@dillaman sure, we can poke upstream for the changes in external provisioner sidecar and try our best to get it in . But we have to list it out the same.
@Madhu-1 this issue track it in CSI repo, we need to come up with steps we are missing to achieve it here.

@dillaman sure, we can poke upstream for the changes in external provisioner sidecar and try our best to get it in . But we have to list it out the same.

It seems silly to me to tag a ceph-csi issue against v2 and priority 0 when it will 100% not land in v2 due to upstream dependencies. I think the best you can do is have an issue against the spec and/or CSI external provisioner limitation just to track the the opening of an issue against the other external components. Actually adding support for exclusive locking is something that cannot be scheduled until after the support is merged into the upstream components.

The solution to use rbd lock add ... commands is not quite correct, as it provides only an advisory lock, and further is equivalent to setting an annotation on the image that we do not control.
Instead, it is was discussed that we can add our own annotation and ensure this is set, before mapping the image on the node. This will be done in NodeStage (and hence undone in NodeUnstage), to ensure we are not caught in any other kubernetes/CO related bugs (which is what this issue is about).
Performing the above in ControllerPublish/Unpublish defeats the purpose, because if the CO decides its state is correct, i.e there are no nodes that have the image mapped, when there is actually an active image map on a node, the CO would simply invoke ControllerUnpublish to remove the older annotation and call ControllerPublish add a new one causing the issue that led to this problem in the first place.
The order of operations would look like:

NodeStage:

Check if there is an existing annotation and it is not the current node
If present and not the current node, error out [A]
If not present, add an annotation with the required node details
Read and check if the annotation is what was added (prevent races from parallel Staging operation on other nodes that may have added an annotation at the same time)

If the annotation is different (last writer won), error out [A]

If annotation has been successfully set, proceed to map [B]

NodeUnstage:

(simplified) Check and remove the annotation added [C]

[A] If a node goes down without removing an annotation, then the cluster/storage/CSI admin would need to remove the annotation to clear the state, hence this solution does not provide auto recovery or connection fencing.
Connection fencing is not chosen, as all images mapped on a node uses a common connection, for efficiency of time (connection establishment) and resources (memory footprint on the node) reasons, and hence fencing one will fence all on the node, which would be an bigger issue to deal with.
[B] There is a race between steps 1 and 5, when 2 clients can pass the no annotation set check (as they read an empty key), and proceed with steps 3 and 4, ending up with both clients writing their node details and reading it back assuming they are the sole owners. This needs more thought.
[C] Currently NodeUnstage does not pass in secrets and other required volume attributes. There is some reasoning as to why in these issues,

https://github.com/container-storage-interface/spec/issues/198
https://github.com/container-storage-interface/spec/issues/354
but, once we clear up [A] and [B] and other assumptions in here (such as we will not use node nonce based fencing for sure), we may need to revisit [C] with the CSI spec project.

Here are the meeting updates:

To overcome lack of secrets for any required solution in NodeUnstageVolume request, it was proposed that we can add secrets (name/namespace data) to the clusterID configuration, and read/watch said kubernetes secrets.

This separates the secrets into their own namespaces (a requirement when different users administer the different ceph clusters), and needs required RBACs for CSI namespace to read the same
Provides the secrets for all calls that CSI may want to make (now and in the future)
Brings us closer to cloud provider implementations, where ability to access secrets by the CSI driver is assumed in such environments

Better understanding of the problem was needed, to establish when CSI plugins are involved in publishing the volume to a newer node. This is covered in this comment (and also extensively by other kubernetes issues around the topic)

We also discussed how to fence RWX volumes, on nodes that are no longer healthy. This requires kubernetes to provide data on which node is stale or what entity needs fencing/detach.

RWX fencing cases could be due to active/standby RBD volume, or higher layer clustered use of RBD volumes and also for CephFS volumes
(Post the meeting) the KEP that seems to be tackling this is https://github.com/kubernetes/enhancements/pull/1116

Finally there is no solution for StatefulSets, based on above reading and investigations, and this also requires the same kubernetes KEP (noted above) to move forward

Going forward actions would be,

Assuming we have required secrets, arrive at exact ceph rbd/cephfs feature/mechanism, to fence stale nodes
Agree/disagree on moving secrets to CSI as proposed above
Follow up on upstream kubernetes and CSI WGs to understand how best the problem is intended to be resolved

@batrick @dillaman Please add in case any key points are missing.

Depending on the speed of implementation for (3) above and the demands from users, the CSI can provide an optional k8s operator sidecar to watch for such events where a pod associated to a RWX claim is removed.

@nixpanic Is there a plan to resolve this "multi-attach" issue? Is this ticket still targeted to any future release?
Any known solution/workaround on this issue?

Any known solution/workaround on this issue?

What's the issue that you are concerned about (this issue tracker is talking about a lot of different things now)? A hypothetical issue where k8s has a hypothetical bug that incorrectly attempts to map an RXO PVC on multiple nodes concurrently? CephFS hanging a RWX PVC workload if a node dies unexpectedly? A desire for a higher-level k8s node STONITH functionality to detect dead nodes and automatically remove them from the set of worker nodes?

https://github.com/ceph/ceph-csi/issues/740
The above ticket referenced this ticket. Is there any relationship? Or I should trace the740 instead of 578.

Might want to check out https://github.com/rook/rook/issues/1507 and https://github.com/rook/rook/issues/1507#issuecomment-582635853 specifically. Also perhaps https://github.com/kvaps/kube-fencing.

moving this one out of release-v3.0.0 milestone

This is #1 blocking issue for us to deploy rook/ceph in the fields. Any suggestions how to move on?

This is #1 blocking issue for us to deploy rook/ceph in the fields. Any suggestions how to move on?

@nixpanic was exploring the options on this feature support or workarounds to unblock such situations.  Niels, anything to add here from your end ?

Not stale

Still a blocking issue in the fields.

Unstale

Unstale

Fencing an recovering is proposed to the CSI specification: container-storage-interface/spec#477
Ceph-CSI can implement ControllerPublish and ControllerUnpublish to do the (un)fencing of nodes and volumes once the change in the spec has been accepted, released and implemented in Kubernetes-CSI.

Fencing an recovering is proposed to the CSI specification: container-storage-interface/spec#477
Ceph-CSI can implement ControllerPublish and ControllerUnpublish to do the (un)fencing of nodes and volumes once the change in the spec has been accepted, released and implemented in Kubernetes-CSI.

Please note that the proposed spec, afaict, intends to fence based on kubernetes node ID, whereas connections in ceph that can be blocklisted are IP addresses. There possibly needs to be a mapping between the two and hence may require additional CSI metadata to be stored etc. as this is implemented.

Hi,
is there any recent design or implementation work on this feature? We have some non-replicated single node DBs instances (for various reasons), and while very unlikely, we are worried node becoming disconnected from kubernetes, but not from Ceph, and still keep running pods using RBD, then master to decide to schedule the pod again on other node, and possibly corrupting the file system or DB.
If this could be solved in ceph directly, via locking, that would be great, and easy to deploy.

Exclusive locking should be usable already.
rook/rook#1507 is one of the issues that has more discussion on enhancing fail-over for certain scenarios. By using CSI-Addons NetworkFence, it will become possible to (automatically) ceph osd blocklist a failed node, and have the workload Pods start somewhere else. It is required that the application (database in your case) can recover from possible incomplete writes (fencing/blocklisting is similar to power-loss on a system).

I have the same issue as everyone else, and I'm a bit confused about the current status. Is NetworkFence available with ceph-csi or only when using Rook?
I see in the Rook documentation that NetworkFence only kicks in if I mark a node lost with node.kubernetes.io/out-of-service=nodeshutdown. However, if it is already "nodeshutdown", what do I need the network fence for? Additionally, Kubernetes will already force-delete pods if I give this manual confirmation, so there is no problem to be fixed (see Non Graceful Node Shutdown, beta in 1.26).
What I am interested in is an automatic solution that would allow the pod to respawn on a new node without the operator having to manually confirm that the node is shutdown. Shouldn't this lock-out happen automatically without out-of-service=nodeshutdown, if it is to improve the status quo?

One of the problems is that there are two different services that may function independently of each other. There are the Kubernetes services (by kubelet) and Ceph services (mapped RBD images or CephFS mounts). When Pod is started by kubelet, kubelet basically does:

mount the volume(s)
start the container(s)

While mounting the volume, a Ceph connection is created, which became independent of kubelet. This means that when kubelet for some reasons malfunctions, the Ceph connection is still alive and working. Whenever this happens, there is also no guarantee that the container(s) are stopped (kubelet may have failed to do so). This makes it possible that the node where kubelet does not work correctly anymore, the containers are still running, and doing I/O on the Ceph volume.
If a process is doing I/O on a Ceph volume, ideally no other application should be accessing that volume at the same time (without applications cooperating with each other, e.g. using file/byterange locks). RBD volumes have more requirements that CephFS volumes do, as an RBD-image usually contains a local filesystem (like ext4). Mapping an RBD-image on two nodes, and mounting the local filesystem will almost certainly lead to filesystem corruption. In order to prevent filessytem corruption, or simple application data corruption because a stale kubelet failed to stop a workload, manual intervention is required, indicating that the node has been shutdown.
There is not always a manual intervention needed though. Some environments accept a timeout on the Ceph volumes (in case the network was disconnected, when the node was shutdown). This timeout can sometimes even take up to 15 minutes, depending on the type of the failure. Because it is not predictable how failure scenarios happen, and data corruption (of any kind) is not ideal, having the security of the operator to shutdown the malfunctioning node, and adding the taint once done, is the safest solution.

With Rook it can all be automated. In that case, Rook acts like the operator, and a human is not required. Currently Rook is the only automation that handles this, to my knowledge. CSI-drivers are not the right place to check if the container orchestrator (Kubernetes, Swarm, Nomad, ...) is working correctly. Rook or other operators for a specific container orchestrator are more suitable to do (Ceph) NetworkFencing. Ideally the container orchestrator itself provides support for fencing worker nodes, but I am not aware of any plans to do so.
@subhamkrai who worked on the Rook part might have more details about other implementations.
Mediak8s is an other project that could potentially use csi-addons for NetworkFencing, but I have not followed their future plans.

The Rook documentation doesn't mention any such process. In fact the page I linked above specifically states that the taint has to be added manually:

After the taint is added to the node, Rook will automatically blocklist the node

@remram44 could open a feature request in rook?

You are describing the situation without NetworkFence. The whole point of NetworkFence is to make previously-unsafe scenarios safe by removing the possibility for the broken node to corrupt anything. This feature has been added, and it works.
My question is why does this "broken node" detection have to be manual?

Please refer to https://github.com/rook/rook/issues/1507#issuecomment-1497199940 and https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/2268-non-graceful-shutdown#proposal.
IMO,in general, this is a question for kubernetes folks, not rook. They have to decide on what is a broken node.
There is no agreement on when a node can be considered broken yet. If they did have an agreement, Kubernetes itself could taint the node automatically instead of relying on the admin.
Rook could have a mechanism based on some conditions to decide this but IMO It is out of scope for Rook, which just takes care of the storage part, to mark a node in cluster, which may have various other apps and services running on it, as out of service.
Anything we implement at Rook level will be a hack until kubernetes iteslf comes up with a mechanism.

I am getting board playing whac-a-mole with rook hanging...

First of all, the Rook documentation indicates node.kubernetes.io/out-of-service=nodeshutdown while the well-known label from Kubernetes is node.kubernetes.io/out-of-service. This implies that I should only use this taint when the the node is shut down (nodeshutdown). This is a minor documentation issue, but if the whole feature is there to deal with the case where a node is out of service but NOT shut down (so it might issue requests that need to be fenced) I think correcting this would go a long way.
If all that's left is for me to write a little controller that automatically applies out-of-service taints when nodes are NotReady for a while, this is great news. All I need is for someone to confirm that I can do that with non-nodeshutdown nodes, and the combination of the three features csi-addons & ceph-csi blocklist & Kubernetes non-graceful node shutdown will make my life so much easier by allowing stateful workloads to recover without manual intervention or risk of corruption.
Don't get me wrong, these new developments are a dream come true that have so much potential to help with ops. I am just frustrated that we are missing the last (easiest) step of making this kick in on NotReady rather than out-of-service:nodeshutdown.
FYI I don't use Rook, just ceph-csi, it just looks like that ceph-csi feature is only documented in the Rook docs.

Bump. Does anyone understand the current behavior of ceph-csi?
Does it add the taint? Does it read the taint?

Bump. Does anyone understand the current behavior of ceph-csi?
Does it add the taint? Does it read the taint?

@remram44 We have disabled the auto fencing in Rook due to potential issue of wrong IP blocklisting but you could potentially do the below if you are not using Rook

Identify that Node is going down or out of service somehow, we cannot use the out-of-service taint here because it doesn't do anything with storage (wrt cephcsi) it get removes the VA objects and start moving the pods to the new nodes)
Get the Right Client IP of the node you want to block the access for and create the NetworkFence CR
Ensure that the network Fence is successful
Add a taint on the node out-of-service to move the workload to another node

The First 3 steps are to ensure that we blocklisted the right IP to avoid data corruption/inconsistency problem and the last option of adding taint is to move the workload to a new node.
We are still in design phase to make the life easy for users but its taking some time to find the right automated solution

Ok, thanks. I will see if I can dedicate some manpower on my side to make our own automation for this. Unless there is already an effort I could join?


Server down?

Syncing with freecinc.com:53589

Handshake failed.  Error in the pull function.
Sync failed.  Could not connect to the Taskserver.

After using it for quite a bit, it just stopped without me changing anything on my end.

+1 Same issue here.

Back up for me now.

For me also.

If taskd is down you can open https://freecinc.com/restart/jeremy in a browser to restart it.


dont know how to compile this one

Hi, actually i am pretty new and don't know how to compile this one, could you please help me this is

Build with visual studio 2019 or 2022 preview


Switch from projections to C++/WinRT

This change switches some Framework code from using projections to using C++/WinRT when interacting with WinRT objects. This is beneficial because C++/WinRT is lighter-weight than the projections. They're header-only, so we don't have to link with the ObjCUWP_* binaries or load zillions of Objective-C classes.
In this change I've switched UIKit away from using the XAML projections, along with a couple of other smaller frameworks. Eventually none of the frameworks should be using projections, and the projections will exist solely for use by application code. I'll send mail to the team describing how to migrate away from projections and onto C++/WinRT.
This pull request is large. Sorry about that. I'll annotate certain parts of it that are especially interesting.

@pradipd is added to the review. #Closed

:shipit:

I am interested in seeing actual performance and disk space usage deltas for this change.

:clock1:

Here are some preliminary numbers taken from the HelloUI sample app:

AppX directory size reduced by 8.9 MB

Peak working set reduced from 66.7 MB to 60.5 MB, a reduction of 9.2%

App startup time (process launch to window focus) reduced from 286ms to 250ms, a reduction of 12.5%

Bear in mind that there's more work to be done here. I've mostly just removed the use of XAML projections, but there are others we can eliminate as well.
Also note that there's currently a bug in our packaging that causes all of the projection DLLs to be copied into the AppX package, regardless of whether they're used. That means that, until that bug is fixed, you won't see a reduction in AppX package size from this change. You will see the runtime effects, though.

In reply to: 290803157 [](ancestors = 290803157)

@bviglietta sounds like a feature to me ;-) I think after this change is applied across the board we will be putting Frameworks.UWP at a layer above/apart from Frameworks so that apps won't need to include projections at all unless they opt-in (Add a dependency themselves to it). I also have a task to be smarter about how we copy in but that problem is much harder with packaging and multiple middleware /languages potentially in the picture.

:shipit:

I mainly looked at the changes in avfoudnation.