Fix bug in MPI_Reduce

In this PR I solve a bug in distributed reduce operations that re-use the send and receive buffers across different MPI_Reduce calls. This bug was first introduced with #191.
When performing the locality-aware reduce in a local leader that is not co-located with the rank that originated the reduce, we perform the following operations:

Receive data from local ranks.
Reduce data from local ranks (and ours).
Send reduced results to the rank that originated the reduce.

As the local leader is not expected to be receiving anything, it may be the case that, the recvBuffer in the method's signature is a nullptr (seems to be an unwritten agreement across MPI developers). Therefore, in (2) we were accumulating the partial reduce in the same buffer the local leader's data was provided (i.e. sendBuffer), and then sending this buffer in (3).
Unofrtunately, said sendBuffer is a pointer to the application's memory, and the application is not expecting that memory to be modified. In particular, if subsequent reduces are performed, the results returned by reduce are incorrect.

Does this fix any of the ignored mpi TSan race conditions by any chance? IIRC it was failing on reductions

@kubasz trying now. whilst we are at it, does #192 fix the ignore list entry here?

@kubasz trying now. whilst we are at it, does #192 fix the ignore list entry here?

Yes, it does, I forgot to remove it from the ignorelist


Native Notebooks - Outline (aka Table of Contents or TOC) has low discoverability

Customer survey feedback shows that the discoverability of the outline view for notebooks is still low.
Could we potentially automatically open the outline view when a notebook is opened for the first x (5?) times to help discoverability?

https://github.com/microsoft/vscode-jupyter/issues/6650

Related, UI hints/callouts could also help here if we want to actively point users to the Outline. Might make sense in a context for when a user hasn't seen it before and uses a long file with many headers: https://github.com/microsoft/vscode/issues/120147 .
This UI feature is in the backlog, so add your 👍 and thoughts if you think this could help with this and other notebook discovery issues.

If we had something like @digitarald  mentioned I could see that working really well for this. Opening it automatically after X times seems dicey to me, at least as my personal dev preferences go. Messing with a users layout just seems wrong.
We could put a button in the notebook toolbar (like variables) that only shows when there is markdown headers in the file and if the outline view is not visible. Then it could make the outline view visible. Though that does seem like a big ticket item (top level toolbar icon) that's only really valuable for initial discoverability.

@IanMatthewHuff related to: https://github.com/microsoft/vscode-jupyter/issues/7305

@claudiaregio Ahh nice, you already had the issue. Would you like me to implement it with the "unordered list" icon that Miguel suggested here: https://github.com/microsoft/vscode-codicons/issues/80#issuecomment-908617990 ? I could always implement it then swap the icon later.

@IanMatthewHuff Sure! I think that's really close and should get the job done especially with the hover tip

Closing this as completed, as I'm not sure what more there is to be done here. Right now the outline of the notebook is exposed via the view in the side panel explorer view by default, and there is also a TOC icon in the notebook global toolbar. In addition there are now sticky scroll elements that can be enabled for notebooks, which will give users information on the outline of their notebook, along with the ability to execute cells, and toggle other outline related features.


Can't map dataset (loaded from csv)

Hello! I am trying to load single csv file with two columns: ('label': str, 'text' str), where is label is str of two possible classes.
Below steps are similar with this notebook, where bert model and tokenizer are used to classify lmdb loaded dataset. Only one difference it is the dataset loaded from .csv file.
Here is how I load it:
data_path = 'data.csv'
data = pd.read_csv(data_path)

# process class name to indices
classes = ['neg', 'pos']
class_to_idx = { cl: i for i, cl in enumerate(classes) }

# now data is like {'label': int, 'text' str}
data['label'] = data['label'].apply(lambda x: class_to_idx[x])

# load dataset and map it with defined `tokenize` function
features = Features({
  target: ClassLabel(num_classes=2, names=['neg', 'pos'], names_file=None, id=None),
  feature: Value(dtype='string', id=None),
})
dataset = Dataset.from_pandas(data, features=features)
dataset.map(tokenize, batched=True, batch_size=len(dataset))

It ruins on the last line with following error:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-112-32b6275ce418> in <module>()
      9 })
     10 dataset = Dataset.from_pandas(data, features=features)
---> 11 dataset.map(tokenizer, batched=True, batch_size=len(dataset))

2 frames
/usr/local/lib/python3.6/dist-packages/datasets/arrow_dataset.py in map(self, function, with_indices, input_columns, batched, batch_size, drop_last_batch, remove_columns, keep_in_memory, load_from_cache_file, cache_file_name, writer_batch_size, features, disable_nullable, fn_kwargs, num_proc, suffix_template, new_fingerprint)
   1237         test_inputs = self[:2] if batched else self[0]
   1238         test_indices = [0, 1] if batched else 0
-> 1239         update_data = does_function_return_dict(test_inputs, test_indices)
   1240         logger.info("Testing finished, running the mapping function on the dataset")
   1241

/usr/local/lib/python3.6/dist-packages/datasets/arrow_dataset.py in does_function_return_dict(inputs, indices)
   1208             fn_args = [inputs] if input_columns is None else [inputs[col] for col in input_columns]
   1209             processed_inputs = (
-> 1210                 function(*fn_args, indices, **fn_kwargs) if with_indices else function(*fn_args, **fn_kwargs)
   1211             )
   1212             does_return_dict = isinstance(processed_inputs, Mapping)

/usr/local/lib/python3.6/dist-packages/transformers/tokenization_utils_base.py in __call__(self, text, text_pair, add_special_tokens, padding, truncation, max_length, stride, is_split_into_words, pad_to_multiple_of, return_tensors, return_token_type_ids, return_attention_mask, return_overflowing_tokens, return_special_tokens_mask, return_offsets_mapping, return_length, verbose, **kwargs)
   2281             )
   2282         ), (
-> 2283             "text input must of type `str` (single example), `List[str]` (batch or single pretokenized example) "
   2284             "or `List[List[str]]` (batch of pretokenized examples)."
   2285         )

AssertionError: text input must of type `str` (single example), `List[str]` (batch or single pretokenized example) or `List[List[str]]` (batch of pretokenized examples).

which I think is not expected. I also tried the same steps using Dataset.from_csv which resulted in the same error.
For reproducing this, I used this dataset from kaggle

Please could you post the whole script? I can't reproduce your issue. After updating the feature names/labels to match with the data, everything works fine for me. Try to update datasets/transformers to the newest version.

Actually, the problem was how tokenize function was defined. This was completely my side mistake, so there are really no needs in this issue anymore


Highlight container version in versions table

Table in the "Versions" tab at https://biosimulators.org/simulators/{ simulator-id }/.

Fixed in dev-simulators


Build fails on latest nightly

https://github.com/rust-lang/rust/pull/24461 seems to have broken the build on nightly. The impls generated by thesockopt_impl macro violate this. I'm trying to find a good way to fix this, but my macro-fu is pretty weak.

With the 2014-04-19 nightlies, I am also running into issues resulting from ::std::os::unix::io::Fd changing to ::std::os::unix::io::RawFd.  This change was introduced by https://github.com/rust-lang/rust/commit/6370f2978e485fd46bcb64f51a1c003395acfedc.
Here's the first error I hit with the fixes from @fhartwig:
src/sys/socket/sockopt.rs:7:5: 7:26 error: unresolved import `std::os::unix::io::Fd`. There is no `Fd` in `std::os::unix::io`
src/sys/socket/sockopt.rs:7 use std::os::unix::io::Fd;
                                ^~~~~~~~~~~~~~~~~~~~~

@posborne Are you sure you're on the right branch? The commit you refer to was merged into rust master almost 3 weeks ago, and the fallout should have been fixed in 7d48278859cabcf0e08df27e1d5f839a1694fb1f

Fixed on master

@fhartwig, Bah... Yep.  Wrong branch.


Long running cylc processes

keyword_TIWG   |    by<EMAIL_ADDRESS>
Martin says there are some long-running cylc jobs on accessdev - check why they aren't timing out

Issue migrated from trac:224 at 2024-01-31 18:19:12 +1100

<EMAIL_ADDRESS>changed status from new to assigned

<EMAIL_ADDRESS>commented

I think that timeout just applies to the controlling cylc process and doesn't affect the gui.
Before the reboot we had some long running cylc-run processes (#196). At the moment it just seems to be the gui.

<EMAIL_ADDRESS>commented

Timeout has been changed to 3 days in https://accessdev.nci.org.au/trac/browser/roses/a/a/3/5/6/trunk/suite.rc#L14, perhaps that isn't working?

<EMAIL_ADDRESS>commented

% ps -ef | grep gui
...
rhw548   15609     1  6 Jul20 ?        3-23:49:51 python /usr/local/cylc/cylc-6.4.1/bin/cylc-gui --host=localhost au-aa356
...

4 days CPU time (and still increasing) yet the suite isn't currently running and was last active two months ago!

<EMAIL_ADDRESS>commented

Look into creating a script to notify users, or kill long running sessions

<EMAIL_ADDRESS>changed owner from `` to mrd599


Compile error

Tried to build AdMob project in Android.
After typing this cmd "python setup_firebase_sample.py AdMob"
I moved to sample_project folder and tried to build it but encoutnering this error.
I'm using NDK version 15.
Python 2.7.10
cocos2d-x-3.15
Cocos Console 2.3
Complie version 22
minjis-MacBook-Pro:sample_project minjisong$ pwd
/Users/minjisong/cocos2dx-cpp-sample/sample_project
minjis-MacBook-Pro:sample_project minjisong$ cocos compile -p android --ap android-22 --android-studio --app-abi armeabi-v7a
Python 2.7.10
Building mode: debug
Using Android Studio project : /Users/minjisong/cocos2dx-cpp-sample/sample_project/proj.android-studio
Building native...
NDK build mode: debug
running: '/Users/minjisong/Library/Android/sdk/ndk-bundle/ndk-build -C /Users/minjisong/cocos2dx-cpp-sample/sample_project/proj.android-studio/app -j4 APP_ABI="armeabi-v7a" NDK_MODULE_PATH=/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d:/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos:/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/external NDK_TOOLCHAIN_VERSION=4.9 NDK_DEBUG=1'

Android NDK: Found platform level in ./project.properties. Setting APP_PLATFORM to android-22.
Android NDK: WARNING: APP_PLATFORM android-22 is higher than android:minSdkVersion 1 in ./AndroidManifest.xml. NDK binaries will *not* be comptible with devices older than android-22. See https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md for more information.
make: Entering directory `/Users/minjisong/cocos2dx-cpp-sample/sample_project/proj.android-studio/app'
[armeabi-v7a] Compile++ arm  : cocostudio_static <= WidgetReader.cpp
[armeabi-v7a] Compile++ arm  : cocostudio_static <= FlatBuffersSerialize.cpp
[armeabi-v7a] Compile++ arm  : cocostudio_static <= WidgetCallBackHandlerProtocol.cpp
[armeabi-v7a] Compile++ arm  : cocostudio_static <= CCComExtensionData.cpp
[armeabi-v7a] Compile++ arm  : cocostudio_static <= CocoStudio.cpp
[armeabi-v7a] Compile++ arm  : cocos_ui_static <= UILayoutComponent.cpp
[armeabi-v7a] Compile++ arm  : cocos_ui_static <= UITabControl.cpp
[armeabi-v7a] Compile++ thumb: audioengine_static <= CCThreadPool.cpp
[armeabi-v7a] Compile++ thumb: audioengine_static <= AssetFd.cpp
[armeabi-v7a] Compile++ thumb: audioengine_static <= AudioDecoder.cpp
[armeabi-v7a] Compile++ thumb: audioengine_static <= AudioPlayerProvider.cpp
[armeabi-v7a] Compile++ thumb: audioengine_static <= AudioResampler.cpp
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp: In constructor 'cocos2d::experimental::AudioDecoder::AudioDecoder(SLEngineItf, const string&, int, int, const FdGetterCallback&)':
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp:108:73: error: 'malloc' was not declared in this scope
     _pcmData = (char*) malloc(NB_BUFFERS_IN_QUEUE * BUFFER_SIZE_IN_BYTES);
                                                                         ^
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp: In destructor 'virtual cocos2d::experimental::AudioDecoder::~AudioDecoder()':
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp:126:18: error: 'free' was not declared in this scope
     free(_pcmData);
                  ^
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp: In member function 'bool cocos2d::experimental::AudioDecoder::decodeToPcm()':
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp:405:52: error: 'malloc' was not declared in this scope
         keyInfo = (SLMetadataInfo *) malloc(keySize);
                                                    ^
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp:434:25: error: 'free' was not declared in this scope
             free(keyInfo);
                         ^
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp: In member function 'bool cocos2d::experimental::AudioDecoder::resample()':
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp:504:42: error: 'malloc' was not declared in this scope
     void *outputVAddr = malloc(outputSize);
                                          ^
/Users/minjisong/cocos2dx-cpp-sample/sample_project/cocos2d/cocos/audio/android/AudioDecoder.cpp:594:17: error: 'free' was not declared in this scope
     free(convert);
                 ^
[armeabi-v7a] Compile++ thumb: audioengine_static <= AudioResamplerCubic.cpp
make: *** [obj/local/armeabi-v7a/objs-debug/audioengine_static/AudioDecoder.o] Error 1
make: *** Waiting for unfinished jobs....
make: Leaving directory `/Users/minjisong/cocos2dx-cpp-sample/sample_project/proj.android-studio/app'
Error running command, return code: 2.

Any solution for this?

I got some similar errors when building just now from a clean repo clone, but I was able to resolve it by making sure all my libraries were up to date. The easiest way to do this would be to open up the SDK manager (if you have Android Studio installed can go to Tools > Android > SDK Manager), and then click SDK Tools and update whatever updates you need to install, and try building again. If that doesn't resolve the issue for you let me know and I can dig around a little more.

I updated every tool thru SDK Manager but still compiling via cmd shows the same issue.
Also, when I tried to run it in Android studio building seems fine but it crashes in the app with this log.
08-04 10:13:00.155 3045-3045/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 Process: org.cocos2dx.hellocpp, PID: 3045
                                                 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.cocos2dx.hellocpp-1/base.apk"],nativeLibraryDirectories=[/data/app/org.cocos2dx.hellocpp-1/lib/x86, /vendor/lib, /system/lib]]] couldn't find "libMyGame.so"
                                                     at java.lang.Runtime.loadLibrary(Runtime.java:367)
                                                     at java.lang.System.loadLibrary(System.java:1076)
                                                     at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:248)
                                                     at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:264)
                                                     at android.app.Activity.performCreate(Activity.java:6237)
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                     at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                     at android.os.Looper.loop(Looper.java:148)
                                                     at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

You're probably getting that error because your C++ code isn't compiling.
Doing some quick searching, I found this person who had the same issue. Try following those directions and seeing that resolves the issue.

I checked that page too and did the way they said.
Like the person replied, it doesn't work.
I guess it's a compatibility issue and I tried many other things but none of them work. So, I will just downgrade NDK, cocos2d, Android studio all things to make the environment that ppl posted worked well in their laptops.
Thanks for helping.

malloc and free needs <stdio.h> header;
therefore please add
#include <stdlib.h> to AudioDecoder.cpp
and rebuild again.
I wish it works.

libMyGame.so was not creating for me. I updated build.gradle  this way
import org.apache.tools.ant.taskdefs.condition.Os //added
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "26.0.1"
defaultConfig {
    applicationId "org.cocos2dx.hellocpp"
    minSdkVersion 14
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    externalNativeBuild { //added this block
        ndkBuild {
            if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
                // skip the NDK Build step if PROP_NDK_MODE is none
                targets 'MyGame'
                arguments 'NDK_TOOLCHAIN_VERSION=4.9'
                arguments 'APP_PLATFORM=android-'+PROP_TARGET_SDK_VERSION

                def module_paths = [project.file("../../cocos2d").absolutePath,
                                    project.file("../../cocos2d/cocos").absolutePath,
                                    project.file("../../cocos2d/external").absolutePath]
                if (Os.isFamily(Os.FAMILY_WINDOWS)) {
                    // should use '/'
                    module_paths = module_paths.collect {it.replaceAll('\\\\', '/')}
                    arguments 'NDK_MODULE_PATH=' + module_paths.join(";")
                }
                else {
                    arguments 'NDK_MODULE_PATH=' + module_paths.join(':')
                }

                arguments '-j' + Runtime.runtime.availableProcessors()
                abiFilters.addAll(PROP_APP_ABI.split(':').collect{it as String})
            }
        }
    }
}

sourceSets.main {

    java.srcDir "src"
    res.srcDir "res"
    jniLibs.srcDir "libs"
    manifest.srcFile "AndroidManifest.xml"
    assets.srcDir "assets"
}
externalNativeBuild {//added this block
    ndkBuild {
        if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
            // skip the NDK Build step if PROP_NDK_MODE is none
            path "jni/Android.mk"
        }
    }
}
signingConfigs {

   release {
        if (project.hasProperty("RELEASE_STORE_FILE")) {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
    }
}

buildTypes {

    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        if (project.hasProperty("RELEASE_STORE_FILE")) {
            signingConfig signingConfigs.release
        }
        externalNativeBuild {//added this block
            ndkBuild {
                arguments 'NDK_DEBUG=0'
            }
        }
    }
    debug {
        externalNativeBuild {//added this block
            ndkBuild {
                arguments 'NDK_DEBUG=1'
            }
        }
    }
}

}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':libcocos2dx')
compile 'com.google.firebase:firebase-auth:11.8.0'
compile 'com.google.firebase:firebase-storage:11.8.0'
compile 'com.google.android.gms:play-services-base:11.8.0'
}
apply plugin: 'com.google.gms.google-services'
task cleanAssets(type: Delete) {
delete 'assets'
}
task copyAssets(type: Copy) {
from '../../Resources'
into 'assets'
}
clean.dependsOn cleanAssets
preBuild.dependsOn copyAssets
//************************************
Also added following 2 lines on gradle.properties
PROP_TARGET_SDK_VERSION=13
PROP_APP_ABI=armeabi
Then I was able to create .so file but it was throwing no such method error from firebase. So I updated firebase and play service versions to 11.8.0 from 11.0.0 (above code already has 11.8.0).
Then again I started getting,
"java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "rand"... On lower versions(kitkat)
I used android-19 for compilation:
cocos compile -p android --ap android-19 --android-studio --app-abi armeabi-v7a
Now the firebase app started working.


[BULK] DocuTune - Fix build validation issues: docs-link-absolute

Global effort to fix build validation errors
The Microsoft Skilling team is fixing build validation errors and specific brand inconsistencies in Microsoft technical documentation for the rest of FY23 Q1. This will help address various accessibility, security, and usability issues. This PR was generated using DocuTune. It includes only targeted fixes and minor formatting adjustments.
DocuTune PRs improve quality of technical content by finding and automatically correcting a broad set of issues only where the correction is suitable. Please review within five business days and merge or comment in the PR with any changes you'd like to see. Thank you!
CorrelationId: 0df9c2d6-63f8-4d1e-8b57-b33611a06514
InitiativeId: docutune-build-validation-issues-2022-05
PointOfContact: Alex Buck

#docutune-draft

Docs Build status updates of commit 725d9c1:
:warning: Validation status: warnings

File
Status
Preview URL
Details

sysinternals/resources/archive/v01n01.md
:warning:Warning
View
Details

CONTRIBUTING.md
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

sysinternals/Announce/TLSDeprecation.md
:white_check_mark:Succeeded
View

sysinternals/downloads/bginfo.md
:white_check_mark:Succeeded
View

sysinternals/downloads/process-explorer.md
:white_check_mark:Succeeded
View

sysinternals/downloads/pstools.md
:white_check_mark:Succeeded
View

sysinternals/resources/windows-internals.md
:white_check_mark:Succeeded
View

sysinternals/resources/archive/v01n01.md

Line 11, Column 1: [Warning: h1-not-first - See documentation] Markdown content is not allowed before H1 'The Systems Internals Newsletter Volume 1, Number 1'.
Line 40, Column 92: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 61, Column 27: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 71, Column 48: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 79, Column 78: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 83, Column 260: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 94, Column 770: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

#docutune-ready

@awaxa @DhurataJ @foxmsft @jdelauri @JeroenOortwijn @johnstep @kanlukasz @Leirithias @MarioHewardt @mohitp930 @StephenBrentPeters @TheMonzel
Please merge the changes in this PR. For more information, see the description at the top of this PR.
Any pre-existing build validation issues or insufficient Acrolinx scores should be addressed in a separate PR.
#docutune-request-approval

@awaxa @DhurataJ @foxmsft @jdelauri @JeroenOortwijn @johnstep @kanlukasz @Leirithias @MarioHewardt @mohitp930 @StephenBrentPeters @TheMonzel
Please merge the changes in this PR. For more information, see the description at the top of this PR.
Any pre-existing build validation issues or insufficient Acrolinx scores should be addressed in a separate PR.
#docutune-request-approval

@awaxa @DhurataJ @foxmsft @jdelauri @JeroenOortwijn @johnstep @kanlukasz @Leirithias @MarioHewardt @mohitp930 @StephenBrentPeters @TheMonzel
Please merge the changes in this PR. For more information, see the description at the top of this PR.
Any pre-existing build validation issues or insufficient Acrolinx scores should be addressed in a separate PR.
#docutune-request-approval

Docs Build status updates of commit f33d277:
:warning: Validation status: warnings

File
Status
Preview URL
Details

sysinternals/resources/archive/v01n01.md
:warning:Warning
View
Details

CONTRIBUTING.md
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

sysinternals/Announce/TLSDeprecation.md
:white_check_mark:Succeeded
View

sysinternals/downloads/bginfo.md
:white_check_mark:Succeeded
View

sysinternals/downloads/process-explorer.md
:white_check_mark:Succeeded
View

sysinternals/downloads/pstools.md
:white_check_mark:Succeeded
View

sysinternals/resources/windows-internals.md
:white_check_mark:Succeeded
View

sysinternals/resources/archive/v01n01.md

Line 11, Column 1: [Warning: h1-not-first - See documentation] Markdown content is not allowed before H1 'The Systems Internals Newsletter Volume 1, Number 1'.
Line 40, Column 92: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 61, Column 27: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 71, Column 48: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 79, Column 78: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 83, Column 260: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 94, Column 770: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit abf6f40:
:warning: Validation status: warnings

File
Status
Preview URL
Details

sysinternals/resources/archive/v01n01.md
:warning:Warning
View
Details

CONTRIBUTING.md
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

sysinternals/Announce/TLSDeprecation.md
:white_check_mark:Succeeded
View

sysinternals/downloads/bginfo.md
:white_check_mark:Succeeded
View

sysinternals/downloads/process-explorer.md
:white_check_mark:Succeeded
View

sysinternals/downloads/pstools.md
:white_check_mark:Succeeded
View

sysinternals/resources/windows-internals.md
:white_check_mark:Succeeded
View

sysinternals/resources/archive/v01n01.md

Line 11, Column 1: [Warning: h1-not-first - See documentation] Markdown content is not allowed before H1 'The Systems Internals Newsletter Volume 1, Number 1'.
Line 40, Column 92: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 61, Column 27: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 71, Column 48: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 79, Column 78: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 83, Column 260: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 94, Column 770: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'nolink' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Added spinner and logging to indicate which stage of onboarding is go…

…ing on.

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

connectedk8s


Add item

In this PR

[ ] Added Users add a new item form
[ ] Modify link

🛑 Invalid Code Review
@brhanuhailu Please check your linters. Your linters are not passing the check


Fix integer wth no default

This PR fixes the case where a integer is declared but no default value is provided.

The formatting is messed up in yours for some reason.

closing in favor of other PR


No factory for connector 'memory'

Describe the bug
I added a memory database connector config file memory.properties in conf/presto/catolog/ ,
https://trino.io/docs/current/connector/memory.html
connector.name=memory
memory.max-data-per-node=128MB
when I start the presto worker to run "./bin/pulsar sql-worker run", i get:
java.lang.IllegalArgumentException: No factory for connector 'memory'.  Available factories: [system, pulsar]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:441)
at io.prestosql.connector.ConnectorManager.createCatalog(ConnectorManager.java:185)
at io.prestosql.metadata.StaticCatalogStore.loadCatalog(StaticCatalogStore.java:88)
at io.prestosql.metadata.StaticCatalogStore.loadCatalogs(StaticCatalogStore.java:68)
at io.prestosql.server.PrestoServer.run(PrestoServer.java:118)
at io.prestosql.$gen.Presto_332____20210315_171503_1.run(Unknown Source)
at io.prestosql.server.PrestoServer.main(PrestoServer.java:72)
Does any one can tell me the reason?
Expected behavior
sql worker started.
Screenshots
Desktop (please complete the following information):

OS: [e.g. iOS]

Additional context
just like https://github.com/prestodb/presto/issues/6134
@codelipenghui  @sijie Would you help to see it?

The issue had no activity for 30 days, mark with Stale label.

Closed as stale. Please create a new issue if it's still relevant to the maintained versions.
We've recently upgrade to trino 363 and align all features with that version.


Allow passing custom scopes to endpoints and handle github errors

This PR:

[x] adds getAuth and getCallback functions which can be used to customise auth and callback handlers' behaviour
[x] allows for specifying options:

[x] secure in order to enable/disable https in the callback endpoint URL (true by default)
[x] scopes to allow passing custom scopes to GitHub API (['repo', 'user'] by default)

[x] adds isGitHubError and gitHubErrorToNetlifyError functions to handle previously unhandled GitHub API errors
[x] adds npm run dev command for easier testing

Hey, I've been on a major project and holiday for a while.
I originally envisioned allowing configuration to be done with environment variables like OAUTH_HOST and OAUTH_TOKEN_PATH to have a minimal code footprint. Do you think scopes & secure could be done through environment variables instead, or is it worth exposing more of the internals like you do instead?


Binding Generator fails: internal error: entered unreachable code: Unsupported decl for OpenCV namespace: Entity

I'm running into an error while compiling opencv
thread 'main' panicked at C:\Users\hpmas\.cargo\registry\src\index.crates.io-6f17d22bba15001f\opencv-binding-generator-0.80.0\src\walker.rs:100:17:
internal error: entered unreachable code: Unsupported decl for OpenCV namespace: Entity {
    kind: LinkageSpec,
    display_name: None,
     location: Some(
         SourceLocation {
             file: Some(
                 File {
                     path: "C:\\dev\\OpenCV\\opencv\\build\\include\\opencv2/core/utility.hpp",
                 },
             ),
             line: 162,
             column: 8,
             offset: 6790,
         },
     ),
 }

The line of utility.hpp is here

Operating system
Windows 11
The way you installed OpenCV: package, official binary distribution, manual compilation, etc.
Tried with both vcpkg and official binaries
OpenCV version
4.8.0
rustc version (rustc --version)
rustc 1.74.0 (79e9716c9 2023-11-13)
Attach the full output of the following command from your project directory:RUST_BACKTRACE=full cargo build -vv

output.txt

Switching back to clang-16 seems to work!

This should now be fixed in 0.88.2


radare2: 3.0.1 -> 3.1.0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: radare2
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: radare2
Partial log (click to expand)
shrinking /nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0/lib/libr_lang.so.3.1.0
shrinking /nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0/lib/libr_flag.so.3.1.0
shrinking /nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0/lib/libr_reg.so.3.1.0
gzipping man pages under /nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0/share/man/
strip is /nix/store/n4hb93w6j076xcjw5pm09rdmc09s075b-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0/lib  /nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0/bin
patching script interpreter paths in /nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0
/nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0/bin/r2pm: interpreter directive changed from "/bin/sh" to "/nix/store/yal8k8rgbaj8p9vi08q1kh21ls0ndq95-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0...
cannot link '/nix/store/.links/01m1pgf8ixdqpsz94isxm237q9azyivvfp360wnvq14d17vrws9c' to '/nix/store/ccfhpxxvjbmw2flk7y2s5nl37y0pniqr-radare2-3.1.0/lib/libr_util.so': No space left on device

Success on aarch64-linux (full log)
Attempted: radare2
Partial log (click to expand)
shrinking /nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0/lib/libr_crypto.so.3.1.0
shrinking /nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0/lib/libr_hash.so.3.1.0
shrinking /nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0/lib/libr_util.so.3.1.0
gzipping man pages under /nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0/share/man/
strip is /nix/store/qjrnv0qw44bw1hc23zhfh26xd1c25dfs-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0/lib  /nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0/bin
patching script interpreter paths in /nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0
/nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0/bin/r2pm: interpreter directive changed from "/bin/sh" to "/nix/store/bpspdmsl0yys24gs70flsvcw3wcnl7lx-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0...
/nix/store/5b995wv1q6ahjki5hxalrdssccjx6y1g-radare2-3.1.0


Latest React update causing "unknown props" warnings

In the latest version of React, errors are being thrown for "unknown props". See here: https://facebook.github.io/react/warnings/unknown-prop.html
It seems that the BootstrapTable is currently throwing these (as of version 2.3.9):

This seems to have already been resolved by React-Bootstrap, see here: https://github.com/react-bootstrap/react-bootstrap/issues/1994
I just wanted to let you know about this in case you weren't aware. Thanks for the great work!

Hi, @tylerjryan, about React-Bootstrap version 0.30.0 was resolve this problem, I can help to change it.

Yeah, I'm on 0.30.0 and the latest of react-bootstrap-table as well, and I'm still seeing this issue. Thanks for checking!

Hi, @tylerjryan  @quantumreference I found this is issue from react-toastr module, I look at that issues and have someone to intent to fix it ! see Here.

perfect, that makes sense. Thank you very much!
On Wed, Jul 27, 2016 at 7:27 PM Whien<EMAIL_ADDRESS>wrote:

Hi, @tylerjryan https://github.com/tylerjryan @quantumreference
https://github.com/quantumreference I found this is issue from
react-toastr module, I look at that issues and have someone to intent to
fix it ! see Here https://github.com/tomchentw/react-toastr/issues/68.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AllenFang/react-bootstrap-table/issues/590#issuecomment-235783497,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEtDPJHwiEQZSH6K_OzOT0jqyWFKxzFeks5qaBN8gaJpZM4JWaQI
.

yes, the problem is from react-toastr

Fixed on v2.4.4. Thanks :)

there's one thing to notice, on v2.4.4 I move the css files from css to dist folder, remember to update the css path. I apologize for it.


Support the DidChangeConfiguration notification

The LSP spec defines a DidChangeConfiguration notification which tells the language server about language-specific configuration. For example, with the Rust Language Server, you can set a whole bunch of options to configure how it works for a particular project. It would be great for kak-lsp to expose a way for the user to set these configuration options in Kakoune.
A suggested design:

kak-lsp declares a new option lsp_server_configuration of type str-to-str-map, whose keys are of the form "language.varname" (rust.clippy_preference) and whose values are interpreted as JSON values: anything that can be parsed as JSON is that JSON value, anything else is treated as a string.
when kak-lsp is enabled for a particular window, add a WinSetOption lsp_server_configuration=.* hook that grabs the contents of lsp_server_configuration (or at least, the keys that begin with the current language name) and send it to the language server as a DidChangeConfiguration message.

Possible extensions:

When the language server sends a Configuration request, grab the current contents of the lsp_server_configuration option and if any of the requested configuration items are present, send them as the response.

This is a big ol' race-condition between the language server, kak-lsp and the Kakoune hooks that set options when you open a file, but with a WinSetOption hook hopefully it will all sort itself out?

If there are "well known" config options supported by many language servers (tab width? line length?), and Kakoune also has options that configure the same thing, (indentwidth, autowrap_column), consult those too (and add hooks to catch updates)
When the Configuration request arrives, if any requested configuration items do not exist in lsp_server_configuration,  add them with an empty value (at the Window scope), so that users can figure out what configuration options exist for their buffer with debug options
list config options in the output of lsp-capabilities since that's another place people might look for information about what kak-lsp can do for a given buffer

Alternatives:

Instead of a single lsp_server_configuration map, you could define individual options like lsp_server_rust_clippy_preference. This would make it even easier to explore the options a language server provides, and allow Kakoune to validate option types (boolean true versus the string "true", for example). The downside is that such options could not easily be set from "kakrc" since they wouldn't exist until after the language server was started up.
Since Kakoune already implements scoping, we may not need to use "language.varname" keys to keep language-specific settings separate. However, apparently VS Code uses that convention so if kak-lsp does the same thing, it'll be easier for kak-lsp users to follow documentation written for VS Code.

It's easy enough to add project-specific configuration to Kakoune: just put something like:
%sh{ test -f .kak/kakrc && printf "source .kak/kakrc\n" }

...in your regular kakrc. At any rate, if somebody wants project-specific configuration, they need to solve that problem for Kakoune in general, and kak-lsp can build off that.

Sounds reasonable. Would you like to go with implementation?

It turns out that Kakoune does not currently support custom options of type str-to-str-map; ui_options is the only such option allowed. On IRC, @mawww  said:

Yeah, I dont think this type was made available to used declared options. Could be if we had a good reason, I am not sure it is significantly better than a str-list though
(as we do not have any way to index into the list, I think the only advantage is that we can guarantee unicity of keys)

I'm not sure if this counts as a good reason, and even if it does I'm not sure how difficult it would be to get this working in Kakoune. Perhaps we could use a str-list option instead, with the convention that everything to the left of the first = is the key and everything to the right is the value... but when multiple items with the same key are present, which takes precedence?

If we are going to encode key-value pairs as a list, then two thoughts pop up in my mind:

let's just do actual pairs, no need to litter list with = elements
if I do two set -add for two pairs with the same key, then the second pair should take precedence when the list is interpreted by kak-lsp; and it looks like it should be the rightmost pair because according to documentation "set -add appends the new element to the list"

But you are right we need to figure out what Kakoune does with lists when it comes to scopes.

I made a PR to add custom str-to-str-map options to Kakoune, since it turned out to be much easier than I expected. If it gets accepted we can use it, otherwise I'll need to investigate str-lists more closely.

The Kakoune PR got merged, so I started looking into this. First the good news: I actually got it working, at least for RLS and the clippy_preference option. Now for the bad news:

Unlike other messages, the only parameter workspace/DidChangeConfiguration takes is "settings", which can be literally any JSON type, including arbitrarily-nested types.

I tried just putting the lsp_server_configuration map into a TOML [params.settings] table, but Rust wouldn't let me: talking to the language server requires a serde_json::Value while the request from Kakoune gave me a toml::Value, and although I could convert via Serde, I had to .clone() to make it work.

This means that the lsp_server_configuration values need to be TOML syntax, so kak-lsp can convert them to JSON syntax. If you say foo=6 in Kakoune, the language server gets serde_json::Number(6), but if you say foo="6" the language server gets String::new("6").

However, the rust.clippy_preference=on setting I mentioned in the OP actually needs to be transmitted as the JSON {"rust": {"clippy_preference": "on"}}. Translating back to TOML syntax and to Kakoune's map syntax, that would be rust={clippy_preference="on"}. Unfortunately, it turns out that Kakoune does not allow the = in either the key or the value of a map, so this cannot work.

However, if people refer to this setting as rust.clippy_preference, maybe we can just use that syntax for Kakoune? I changed lsp.kak to turn rust.clippy_preference="on" into:
  [params.settings.rust]
  clippy_preference="on"

At that point, things worked!

Unfortunately, some language servers have much more deeply-nested settings. If I'm reading this python-language-server code correctly, pyls.plugins.jedi_completion.enabled is a setting somebody might want to set.

It wouldn't be difficult to turn the single setting pyls.plugins.jedi_completion.enabled=true into a TOML table heading and a key, but for multiple settings TOML has very restrictive rules about the order of keys and tables; rules I don't think I can implement in raw POSIX shell.

I think the way forward is to have lsp.kak turn this Kakoune option value:
set global lsp_server_configuration \
    rust.clippy_preference="on" \
    pyls.plugins.jedi_completion.enabled=true

...into this TOML:
[params.settings]
"rust.clippy_preference"="on"
"pyls.plugins.jedi_completion.enabled"=true

...and have kak-lsp do the work of converting that into a tree of serde_json::Map values that can be sent on.
If you're interested I can push what I've got as a PR for early feedback, but I'll reworking it to try that new approach.

Hello! Thanks for thorough investigation. I think that this is totally okay to put all conversion heavy lifting on kak-lsp side and allow having just dotted paths as keys on both kakrc and toml config sides. Any intermediate PR is more than welcome!


Use the same CUDNN version on Windows as PyTorch

11.7 uses 8.5.0; 11.8 uses 8.7.0; 12.1 uses 8.8.1.  Otherwise, Windows vision job (8.5.0) would overwrite the CUDNN version setup by PyTorch (8.7.0) leading to this flaky failures https://github.com/pytorch/pytorch/actions/runs/5088860652/jobs/9146641450
RuntimeError: cuDNN version incompatibility: PyTorch was compiled  against (8, 7, 0) but found runtime version (8, 5, 0). PyTorch already comes bundled with cuDNN. One option to resolving this error is to ensure PyTorch can find the bundled cuDNN.

The only time we are hitting this script is here:
https://github.com/pytorch/vision/blob/81d12c3dd0f4cba754e34e9a588a6a3e3e03ce31/.github/workflows/build-cmake.yml#L79-L86
@atalman and I are in the process to act on the FIXME so that TorchVision can just rely on the files already present in the AMI. See pytorch/test-infra#4227.
Stamp to unblock in case that takes too long.

Thank you for the context.  It's indeed nicer to not need to do the installation step during CI.


Migrate /slowoff command to Helix API

As part of Twitch's announced deprecation of IRC-based commands (see here for more info, the /slowoff command needs to be migrated to use the relevant Helix API endpoint.
Helix API reference: https://dev.twitch.tv/docs/api/reference#update-chat-settings
Split from #3956

I'd like to migrate this command (see #3966).


When opening a page of nuxt3 in a qq app window on an apple phone, it reports 500 error code

Environment

Operating System: Windows_NT
Node Version:     v18.18.0
Nuxt Version:     3.9.0
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools, app, sourcemap, typescript, modules, site, css, imports, legacy, vite, nitro, runtimeConfig, image
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
uconf.com
Describe the bug

When opening a page of nuxt3 in a qq app window on an apple phone, it reports 500 error code
Additional context
No response
Logs
No response

@mumuchongya Although this is not a recommended practice, you can set up in package.json ↓
"resolutions": {
  "ofetch"<EMAIL_ADDRESS>},
"overrides": {
  "ofetch"<EMAIL_ADDRESS>}

After that, re-run npm install and package it again. This should temporarily solve your problem.

Thank you! This is the best solution I've used so far!

If someone doesn't have high stability requirements, they can use this module → markthree/nuxt-fix-ofetch

https://github.com/unjs/ofetch/pull/366

I also hope the author can solve this problem of QQ browser

This should be resolved in the latest v3.12.1. Would you check?

此问题应在最新的 v3.12.1 中通过#27441得到解决。如果没有解决，请告诉我，我会很乐意重新打开。🙏

Wow, I'm so surprised, thanks for your reply, I'm even more happy that you are going to deal with this issue, thank you


Upgrade from Newtonsoft.Json to System.Text.Json

We should upgrade from Newtonsoft.Json to System.Text.Json since it's much quicker

https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/migrate-from-newtonsoft?pivots=dotnet-8-0


The Azure Functions extension is not installed directly after clicking the "Install" button in the notification

OS: All
Build Version: 20211105.14
Regression: Not a regression
Repro Steps:

Make sure the Azure Functions extension is not installed in VS Code.
Install Azure Static Web Apps extension in VS Code  -> Open a reactsite project in VS Code -> Click "Create HTTP Function" button.
A notification pops up asking to install the Azure Functions extension -> Click "Install" button.
Check whether the Azure Functions extension is installed directly.

Expect:
The Azure Functions extension is installed directly.
Actual:
The Azure Functions extension is not installed directly.

More Info:
Make sure the Azure Functions extension is not installed in VS Code -> Install Azure Static Web Apps extension in VS Code  -> Open a reactsite project in VS Code -> A notification pops up automatically asking to install the Azure Functions extension -> Click "Install" button -> The Azure Functions extension is installed directly.

@alexweininger Isn't there a command we could execute to just install the extension for them?  I know that there's still a VS Code prompt, but that might be a smoother experience than taking them to the marketpage 🤔

I assumed there was a reason we did it this way instead of that way. Maybe to give the user more information about the extension they are about to install before they are given an "install or cancel" prompt.

Well, I don't think we knew about the vscode command at the time we made the pattern (it was a few years ago for App Service/Databases).  But that is a good point.


Sending some :heart: to all the Objects

After a few people were using crocks on a project, one of the complaints was a lack of :heart: in the Object department. This PR tries to address some of their concerns. I will be adding an evolve function similar to Ramda's evolve function. But for now this PR adds the following:

assign: Like Object.assign, but returns a shallow copy and reverses arguments for pointfree application.
assoc: Assosiate a key-value pair to a given object
defaultProps: Default properties in a given object, by specifying an object of defaults.
defaultTo: Not an Object function, but handy none the less. Give it a default value and it will use that value when passed a null, undefined or NaN.
fromPairs: Build an Object for either a List or Array of key-values Pairs
objOf: Allows you to create an Object with a given key and value.
omit: Reject key-value pairs in a given Object using an Array of keys.
pick: Filter key-values pairs in a given Object using an Array of keys.
toPairs: Transform an Object into a List of key-value Pairs

Also updated map to map over an Object and isNil predicate now returns true for NaN
All Object related functions will omit any keys in which the value is explicitly undefined. If for some reason you need to add keys as placeholders, use null instead.
As part of the build process, needed to add another babel plugin for computed properties.

Coverage remained the same at 100.0% when pulling 0b6e9cd7bf9b94362291343a15ef0a878b0b4bf5 on some-obj-funcs into 5143fdbf995510c6abc14ab313784d8d85745b30 on master.

Just curious: Is there a benefit to adding these to the library rather than just suggesting/expecting the user to use the ramda counterparts? Are they notably different than said counterparts?

@amsross that is a great question.
They are pretty much the same with some subtle differences:

These functions use the crocks curry, which differs from ramda in that it will continue to apply until a non-function is returned.
assign is like merge in ramda, except I have found myself constantly flipping merge for it to be pointfree.
And finally, I have found that when using functions like pick and omit with other 3rd party libs (like AWS api, some cookie libs, etc), I am forced to reject(isNil, someObj) to remove things that have been explicitly set to undefined. So for all Object related functions (that iterate over some Object) strip all undefineds. Of course this does not apply to map so it conforms to Functor identity laws.

Coverage remained the same at 100.0% when pulling a127b2fe3762b6156c34cbbef21b0fbe64989222 on some-obj-funcs into 5143fdbf995510c6abc14ab313784d8d85745b30 on master.

Coverage remained the same at 100.0% when pulling 6ae6d875935e73196caca7646f178a5803d499ef on some-obj-funcs into 5143fdbf995510c6abc14ab313784d8d85745b30 on master.

Coverage remained the same at 100.0% when pulling 3137f759359698d2a6a87c36687037ff219204fb on some-obj-funcs into 5143fdbf995510c6abc14ab313784d8d85745b30 on master.


Initial tracing checkin

@dtillman Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@dtillman Thank you for signing the Contributor License Agreement!


update @loopback packages versions

:tada: This issue has been resolved in version 3.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Added JSON Serialization

A very small addition to everything since I was using it in my own project 😀(sorry about the previous request - I forgot to add a reference since I was copying things over in a hurry).
Ported over the toJSON and fromJSON methods from ConvNetJS.
Can be called like:
string netData = net.toJSON();
net = Net.fromJSON(netData);

Thanks for curating such a fabulous project!

Thanks for your contribution!
I hadn't realized that #7 broke DataContract serialization (and therefore DataContractJsonSerialization). DataContract should be the way to go for serialization. Also, I would like to keep serialization code outside of the business logic. So here is what I will do:

[ ] Roll back #7 (it was for a very specific use and should not have been committed)

[ ] Use your code outside Net class probably in an extension

[ ] Add some serialization tests

Thanks!


Vendorized FontAwesome is unreadable with Sprockets 4

After upgrading to Sprockets 4, admin page stops working at all:
Error: File to import not found or unreadable: rails_admin/font-awesome.
        on line 60:1 of F:/Ruby25/lib/ruby/gems/2.5.0/gems/rails_admin-2.0.0/app/assets/stylesheets/rails_admin/rails_admin.scss.erb
>> @import 'rails_admin/font-awesome';

Commenting out the specified line fixes the issue. This happens on Rails 6 on Windows and Mac.
Here is a sample fresh app demonstrating the problem: https://github.com/bodrovis/RailsAdminSprockets To reproduce:

Clone the repo
Install gems
Run server
Visit http://localhost:3000/admin
Observe the error

Here's the proposed fix https://github.com/cselmer/rails_admin/commit/3fe37830fa2421455d00dfde3f2110c18ea7cc83 but I can't sent PR atm because the test suite is not working for me (even before I start changing anything). I keep seeing CanCan is undefined at ./spec/integration/authorization/cancancan_spec.rb:5:in class:Ability' `

@mshibuya Thanks for your work on maintaining rails_admin!
Thoughts on this issue? We are experiencing this as well, and I would expect a lot of others too given that Sprockets 4 was released recently, except that I am not seeing that much activity on this issue. Let us know if the two of us are missing something.
Looks like https://github.com/cselmer/rails_admin/commit/3fe37830fa2421455d00dfde3f2110c18ea7cc83, commit, which @bodrovis linked above, should be the fix.
@bodrovis Thanks for creating this issue!

@gaganawhad Hello! Please check my PR, I've fixed this issue (with Chris' help) and other failing tests https://github.com/sferik/rails_admin/pull/3207


[GLUTEN-7261][CORE]  Push partial filters to offload scan when filter need fallback

What changes were proposed in this pull request?
Filter out native supported expressions to offload scan, offload scan as much as possible can improve performance.
(Fixes: #7261)
How was this patch tested?
UT

cc @FelixYBW it can resolve #7261

cc @rui-mo

Test failure seems unrelated.

Regarding the plan change, we used to get 'vanilla scan + vanilla filter' for unsupported filter, and now we can get 'native scan + c2r + vanilla filter'. The new plan offloads 'scan' to native while I assume when the c2r is large and time-consuming we might not get performance improvement. Can our RAS strategy cover this case? cc: @zhztheplayer Thanks.

RAS currently cannot solve this problem, but from our production point of view, the cost of c2r is relatively small. @zhztheplayer What do you think?

Run Gluten Clickhouse CI on x86

from our production point of view, the cost of c2r is relatively small

With the previous plan, C2R is only needed for rows after the filter, whose number might be largely reduced, while in the new plan, all rows need to be converted as rows. Perhaps in some cases the speedup of native scan cannot compensate for this overhead, and we might get performance regression.

from our production point of view, the cost of c2r is relatively small

With the previous plan, C2R is only needed for rows after the filter, whose number might be largely reduced, while in the new plan, all rows need to be converted as rows. Perhaps in some cases the speedup of native scan cannot compensate for this overhead, and we might get performance regression.

Before PR is Scan + ColumnToRow + Filter, After PR is nativeScan + VeloxColumnToRow + Filter, the number of rows after nativeScan should be less than or equal to that after scan.

Before PR is Scan + ColumnToRow + Filter

Why do we have the C2R between, because for unsupported filters they should be vanilla Spark computed?

Why do we have the C2R between, because for unsupported filters they should be vanilla Spark computed?

The default for vanilla Spark reading parquet is vectorization.

@zml1206 I see your point. Thanks for explaning!


Tag releases

It would be beneficial for meanjs to tag releases.
Also, we may want to consider the github reference for creating releases.
I should be able to checkout a version by tag:
git checkout tags/<tag_name>
for example
git checkout tags/v0.4.0

@jloveland I like the idea, but I think tags/0.4.0 would be better, no?

Convention in the git wiki shows v
http://git-scm.com/book/en/v2/Git-Basics-Tagging

@ilanbiala can we close this ticket because its more of an adoption of a methodology/practice for tagging releases?  I would like to also see tags on all major/minor/patches using the semver notation.  I am guessing we will start to do this starting with 0.4.0 branches

Yep, that's the plan.


Vendor in latest buildah v1.11.1

Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

Opened https://github.com/containers/libpod/pull/4015 to replace this PR. Note sure what went wrong here but 4015 builds.

Reopened. Just noticed that it's a Windows build issue. @rhatdan is tackling that in buildah atm.


[New API] :  Quote API

Brief Description 🤓

Users can find quotes related to various genres like - happiness, motivation, life, peace, etc.

How will you develop it?🤩

Will use an expressjs server as backend
Will keep all the quotes seperated by genre in a json file in the backend
Will create routes for user to fetch quote based on the genre
Server will be hosted on a service like Vercel, Render, etc.
Will provide proper documentation on how to use the api

Deployment
None
Select the open source program you are contributing to
Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINES of this project.

Greetings @Some1Uknow🎀 ! , We are excited to have you dive into another issue with us!🚀
Your involvement in our project has been invaluable, and we're confident that your skills and insights will help us conquer this challenge😇.  Use command /gssoc24 to self assign the issue.  This issue represents an exciting opportunity for us to improve and enhance our project, and we are thrilled to have you on board.
We request you to follow CONTRIBUTING GUIDELINES.
Looking for your PR soon!
In case of any issues, you can contact us on Discord.❣

/gssoc24

Hey @Some1Uknow ! I wanted to inform you that we have closed issue.Thank you for your understanding, and we look forward to your continued engagement with our repository🤗.
In case of any issues, you can contact us on Discord.
Thank you! ❣
Happy Coding! ✨
Will See you soon❣


Use extractLane function instead of SIMD.XXXX.x/y/z/w

Crosswalk have added extractLane and replaceLane for SIMD.Float32x4, SIMD.Int32x4
(crosswalk-project/v8-crosswalk#118)
m.x/y/z/w -> SIMD.XXXX.extractLane(m, 0/1/2/3)
m.withX/Y/Z/W -> SIMD.XXXX.replaceLane(m, 0/1/2/3, value)
BUG=https://crosswalk-project.org/jira/browse/XWALK-5731

LGTM
@rakuco


EnvelopeTemplateDefinition no longer exported

We are trying to integrate our application with Docusign and have tried following this example to programmatically generate a template.
Unfortunately, docusign.EnvelopeTemplateDefinition is undefined on line 174 and the app throws an exception: TypeError: Cannot read property 'constructFromObject' of undefined.
I looked through the commit history and it looks like EnvelopeTemplateDefinition was removed in v5.2.0. I have confirmed that adding the model back into the src/index.js resolves the issue.
It is unclear to me if EnvelopeTemplateDefinition was purposely removed due to deprecation or if it was done accidentally. If this is deprecated, could someone point me in the direction of updated documentation?

Hey @imaustink templateDefinition objects had their support removed in the v2.1 in favor of a flatter object model, eventhough it was exported before 5.2.0, that object had been deprecated since 5.0.0.
For reference on the v2.1 equivalent, please see https://github.com/docusign/docusign-node-client/blob/f60b1230de0c9936aab081b1214a9937b55679e8/test/SdkUnitTests.js#L651


Touchbar plugin

This needs to be fully tested, since I'm on El Capitan and can't actually check it at all from here.

FYI: I've fixed some of the bugs/typos. However, the "Top Centre of Timeline" option is still not working, as it looks like the "move" watcher isn't ever triggering. I'll try and fault-find later this week.


Load sumo.cfg file

is it possible to load a network using a sumo.cfg file ?
as my network has route files (route.rou.xml) and additional files (addFile.add.xml)

hi @Exorcismus in regards to your comment, Flow does allow you to import custom .net.xml files, but we have not previously implemented methods to add sumo.cfg files as well. Are the route and additional files used similar to the ones we generate? If so, there may be a quick fix for this. Feel free to share your files (or snippets of them) if you'd like to me check!

Hi @AboudyKreidieh , thanks for your answer, here is a snippet of my additional files
`

<tlLogic id="Bank-Albert" type="static" programID="Off Peak" offset="40">
    <phase duration="23" state="rrrGGGG"/>
    <phase duration="5"  state="rrryyyy"/>
    <phase duration="22" state="GGGrrrr"/>
    <phase duration="5"  state="yyyrrrr"/>
</tlLogic>

<tlLogic id="Bank-Albert" type="static" programID="Night" offset="26">
    <phase duration="23" state="rrrGGGG"/>
    <phase duration="5"  state="rrryyyy"/>
    <phase duration="22" state="GGGrrrr"/>
    <phase duration="5"  state="yyyrrrr"/>
</tlLogic>

<tlLogic id="Bank-Albert" type="static" programID="Weekend" offset="40">
    <phase duration="23" state="rrrGGGG"/>
    <phase duration="5"  state="rrryyyy"/>
    <phase duration="22" state="GGGrrrr"/>
    <phase duration="5"  state="yyyrrrr"/>
</tlLogic>

`

hi @Exorcismus sorry for the late reply! We've been off here for the past week. From what I'm seeing these files have to do with the traffic light properties. In that case, I would recommend exporting this information from the xml files using something like lxml and then passing this data to TrafficLightParams. For more on this, see PR #492, where we did this for vehicles

Closing this for now. Feel free to reopen if needed!


Add exp10 function to the standard

This RFC requests to include a new API in the array API specification for the purpose of computing the base-10 exponential.
Overview
The Array API specification currently includes log10, exp, and pow, but does not include the IEEE 754 function exp10. Would be nice to add for completeness.

log10: https://github.com/data-apis/array-api/blob/3d918783ac7f11cb5b31681b2badddeca81dc71e/src/array_api_stubs/_2022_12/elementwise_functions.py#L1494

While this can currently be achieved now by using pow, exp10 is commonly implemented as a slightly more ergonomic perf path.
Prior art

SciPy: https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.exp10.html
IEEE 754

Proposal:
def exp10(x: array, /) -> array

cc @kgryte

I think this maybe makes some sense for symmetry reasons (since we have log10), however it's (a) low-prio, and (b) blocked by lack of support in all libraries and C99.
I'd suggest closing this, since there's not much of an upside in keeping it open. If in 1-2 years from now there is real user demand and there are implementations in libraries, it can always be reopened.

No further comments, so I'll close this. We can revisit in the future if needed.


UofT-DSI | applying statistical concepts - Assignment 2

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
I am adding a linear regression model to predict mpg and calculating the RMSPE for evaluation
What did you learn from the changes you have made?
I learned how to fit a multivariable linear regression model and evaluate it using RMSPE
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
N/A
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
I faced challenges with non-numeric columns in the dataset
How were these changes tested?
I tested the changes by predicting on the test set
A reference to a related issue in your repository (if applicable)
N/A
Checklist

[ x] I can confirm that my changes are working as intended

A2: Complete
good work!
Q4- My suggestion is to try using mean_square_error in your code for calculating the RMSE


helm: remove deprecated clustermesh CA configuration

https://github.com/cilium/cilium/commit/cb234de4e695cf223f211bd3f6a86647ca31e812 ("helm: deprecate clustermesh CA configuration in favor of the global one") deprecated the clustermesh-specific CA configuration, in favor of the global one. Time has now come to get remove the deprecated settings.
Additionally, let's also drop the clustermesh-apiserver-ca-cert secret, as its content always matches that of the cilium-ca one, and it is not used by any component (including the Cilium CLI).

Remove deprecate clustermesh CA configuration from the helm chart

Rebased onto main to fix CI failures.

CODEOWNERS failure is fixed by https://github.com/cilium/cilium/pull/27234


Build readonly MiniLCM rest API

This will build on top of #624, we want to build a simple rest API for querying data to display in the LF Viewer

[ ] implement exemplars by querying each entry and taking the first letter

done via #626


[FEATURE] Query Optimizer

A heuristic-based query optimizer:
→ Perform most restrictive selection early
→ Perform all selections before joins
→ Predicate/Limit/Projection pushdowns
→ Join ordering based on cardinality
-> Can we make a set of OR statement an IN statement

Also support a directive to disable optimization

split into different tasks


Fix lostBlock leak

What changes are proposed in this pull request?
Remove lost block candidate while it belongs to a persisted file
Why are the changes needed?
Lost block leak without this PR, In some of our scenario, like read only pattern, we have no change to lost block, but each time free block can produce lots of lost block candidates.
Does this PR introduce any user facing changes?
Add a configure key alluxio.master.lost.worker.file.detection.enabled

@jiacheliu3 I've removed the propertykey and use read lock check first, write lock mark lost after. PTAL

@maobaolong There's a test failure PTAL
Error: 4.634 [ERROR] Failures:
Error: 4.634 [ERROR] alluxio.client.fs.FreeAndDeleteIntegrationTest.freeAndDeleteIntegration
Error: 4.634 [ERROR]   Run 1: FreeAndDeleteIntegrationTest.freeAndDeleteIntegration:114
Error: 4.634 [ERROR]   Run 2: FreeAndDeleteIntegrationTest.freeAndDeleteIntegration:114

@jiacheliu3 I've added a file set can avoid mark lost file many time, besides, I remove the lost block check from the related test, PTAL.

alluxio-bot, merge this please


Better logging with module prefixes

It would be nice to have a programmatic way to set prefixes for logs. Couldn't find an easy way to set each function's name, but I think we can set the file names at least.
For example:
logger.info(`[${P2P_PREFIX}] Listening to peer-to-peer connections on: ${P2P_PORT}\n`);
=> logger.info(`Listening to peer-to-peer connections on: ${P2P_PORT}\n`);
Refs:
https://stackoverflow.com/questions/42858585/add-module-name-in-winston-log-entries
https://stackoverflow.com/questions/13410754/i-want-to-display-the-file-name-in-the-log-statement

Resolved.

Resolved.


Application Gateway - Path Routing

I am always getting response from VM1 not sure what was the mistake I have made:
https://docs.microsoft.com/en-us/azure/application-gateway/create-url-route-portal

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

ID: 7c5c94a5-2548-b3a2-3a43-d52bc0892227
Version Independent ID: 01e9c2bc-3265-447c-5d0f-488039c60e87
Content: Tutorial - Create an application gateway with URL path-based routing rules - Azure portal
Content Source: articles/application-gateway/create-url-route-portal.md
Service: application-gateway
GitHub Login: @vhorne
Microsoft Alias: victorh

@krisrajz , Did you try accessing your Application Gateway with the path /images/ ?
Is your VM2 healthy ? You can check the backend VM health via Portal.

@krisrajz , Do you have any update on this issue?

@krisrajz , I will go ahead and close this issue. If you have any further questions, please tag me.

Thanks for the follow-ups. I deleted and re-tried with no success. I just leave the exercise incomplete for now without spending much time further!


RealtimeDB getting timeouts from local database during testing

I tried using the quickstart guide to write test for my realtime database. After about 100 write and read requests (about 20 test cases) in a short time all following tests fail with a timeout of 10 seconds. If i delay some of the tests (about 5 seconds every 20 tests) it works.
So it seems like the local emulator for the firebase Realtime DB blocks my connection. But this seems kind of weird, blocking the own localhost connection. The test are all find, i tried swapping the test order and it allways fails after a set amout.
Is there a way to change the emulator behavior so that i dont have to delay my tests ?
There is no emulator output:
xyz:jutta_firebase_functions xyz$ firebase serve --only database 11:52:04.212 [NamespaceSystem-akka.actor.default-dispatcher-2] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started 11:52:04.337 [main] INFO com.firebase.server.forge.App$ - Listening on port 9000

I found out the problem was with createing new Apps using initializeTestApp or initializeAdminApp. I did everything the same as in the example which resulted into creating new Apps for every test. But it seems that the emulator does not like that and just didnt accept new Apps after i created about a hundred. I now create new apps in the beforeAll part and reuse them in all test and it works fine.
Is there a known limitation that should be noted in the docs ?

@ryanpbrewster is there some limitation or scaling issue with having too many test apps?

Aha! I've been wondering if this would cause an issue.
The emulator treats every project as though it were on the Spark (free) billing plan. For free projects we limit database instances to 100 active connections (reference).
A few ways to work around this:

reuse or drop connections between tests (maybe an afterEach block in Mocha that does `Promise.all(firebase.apps().map(app => app.delete()));)
use multiple projects (maybe a new project for each test?)

I've submitted a change to the documentation, should go out with the next update. Thanks for the report!


Final tweak to Privacy/Terms

Instead of "Terms of Use" can the header say "Terms of Service"?

Also I'm hoping that this changes how it shows up in the browser/tab

On it!


Stop requiring deprecated argument

@jcoyne have another look, pls?

@aaron-collier :speech_balloon:

I'm  on this as we'll be removing any pattern of deprecation in 4.0 right?

yeppers.

@jcoyne have another look?


nixos-rebuild fails after import due to clap_lex requiring rust >= 1.70.0

Bug description
After a fresh import of <IP_ADDRESS> nixos-wsl.tar.gz, the nixos-rebuild switch fails with the error below (Logs section).
To Reproduce
Steps to reproduce the behavior:

Download https://github.com/nix-community/NixOS-WSL/releases/download/<IP_ADDRESS>/nixos-wsl.tar.gz
wsl --import NixOS .\NixOS\ nixos-wsl.tar.gz --version 2
wsl -d NixOS
sudo nix-channel --update
sudo nixos-rebuild switch

Expected behavior
No errors.
Logs
[root@nixos:~]# nixos-rebuild switch
building Nix...
building the system configuration...
these 5 derivations will be built:
  /nix/store/amiirgbp4p9f9br1wqwi8y311ci5iwsj-nixos-wsl-utils-1.0.0.drv
  /nix/store/k0b129cm1j0r7qj7jc4wj6agkp05haky-set-environment.drv
  /nix/store/s50idrivwlqgfyjryys6z9n856v43n67-etc-profile.drv
  /nix/store/vcc6c1qs0ypancg1cf2pj88pphs2xdjq-etc.drv
  /nix/store/lm678kpf4b7w2849kqhjmidl7sgz4fd5-nixos-system-nixos-23.05.5058.d2332963662e.drv
building '/nix/store/amiirgbp4p9f9br1wqwi8y311ci5iwsj-nixos-wsl-utils-1.0.0.drv'...
unpacking sources
unpacking source archive /nix/store/j2hr32shgjzcp6gnqm6zqvxxn3nxcyp8-utils
source root is utils
Executing cargoSetupPostUnpackHook
Finished cargoSetupPostUnpackHook
patching sources
Executing cargoSetupPostPatchHook
Validating consistency between /build/utils/Cargo.lock and /build/cargo-vendor-dir/Cargo.lock
Finished cargoSetupPostPatchHook
configuring
building
Executing cargoBuildHook
++ env CC_x86_64-unknown-linux-gnu=/nix/store/3hbxw05vfs6m1155xa6pvribs3bv777n-gcc-wrapper-12.2.0/bin/cc CXX_x86_64-unknown-linux-gnu=/nix/store/3hbxw05vfs6m1155xa6pvribs3bv777n-gcc-wrapper-12.2.0/bin/c++ CC_x86_64-unknown-linux-gnu=/nix/store/3hbxw05vfs6m1155xa6pvribs3bv777n-gcc-wrapper-12.2.0/bin/cc CXX_x86_64-unknown-linux-gnu=/nix/store/3hbxw05vfs6m1155xa6pvribs3bv777n-gcc-wrapper-12.2.0/bin/c++ cargo build -j 8 --target x86_64-unknown-linux-gnu --frozen --release
error: package `clap_lex v0.6.0` cannot be built because it requires rustc 1.70.0 or newer, while the currently active rustc version is 1.69.0
Either upgrade to rustc 1.70.0 or newer, or use
cargo update -p<EMAIL_ADDRESS>--precise ver
where `ver` is the latest version of `clap_lex` supporting rustc 1.69.0
error: builder for '/nix/store/amiirgbp4p9f9br1wqwi8y311ci5iwsj-nixos-wsl-utils-1.0.0.drv' failed with exit code 101
error: 1 dependencies of derivation '/nix/store/lm678kpf4b7w2849kqhjmidl7sgz4fd5-nixos-system-nixos-23.05.5058.d2332963662e.drv' failed to build

On main it is expected that you update to 23.11, otherwise use https://github.com/nix-community/NixOS-WSL/releases/tag/<IP_ADDRESS>

I'm sorry but what you said makes zero sense to me as a Nix newbie. I followed the instructions in the readme, they ended in error. Thus the bug report as either the instructions are wrong or something is broken.

I'll just drop it here in case it helps anyone just starting with Nix, here's how one can update the channel to 23.11:
sudo nix-channel --add  https://nixos.org/channels/nixos-23.11 nixos
sudo nix-channel --update
sudo nixos-rebuild switch

It should be mentioned in the README

did so in #357

@SuperSandro2000 I think the problem is also that the latest tag (<IP_ADDRESS>, the file I downloaded), points to the main branch instead of the <IP_ADDRESS> itself. Thus the breakage and confusing.

hmmm, maybe we can fix this when we offer proper channels but until then main is for nixos-unstable :)


usbarmory: use white LED as provisioning status indicator

blinking: unprovisioned
solid: provisioned

Tested and working on the device.

Codecov Report

Merging #34 into develop will decrease coverage by 2.43%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           develop      #34      +/-   ##
===========================================
- Coverage    53.43%   50.99%   -2.44%
===========================================
  Files           12       12
  Lines          335      351      +16
===========================================
  Hits           179      179
- Misses         156      172      +16

Impacted Files
Coverage Δ

usbarmory/src/main.rs
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Error: Key Validation Error: it cannot contain commas.

The problem is that the tool without encoding install-args, adding it to cache key. So install-args: --only main,ci will always fail.
Here is the error in my CI.

Hmm, interesting, I suppose this could be handled with just base64 encode (b64 contains these chars: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+), which should hopefully all be usable as cache keys.

Resolved in v1.1.3.
(The v1 and v1.1 tags were updated to match this revision, so no need for any changes in your workflow if you're just using @v1, however if you're using<EMAIL_ADDRESS>you will need to bump it up to 1.1.3)


Rewriting repo history to remove 'target/' dir could significantly improve repo size

TL;DR: Cleaning the target/ dir from some previous commits reduces the total repo size from ~210MB to ~110MB.
I was on a slow connection when cloning this repo and I realized it was decently large for a new repo:
$ du -hxs sniffnet/
209MB    sniffnet/

I then ran a command to see the largest 10 files in the history (expecting resources or fonts):
$ git rev-list --objects --all \
  | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \
  | sed -n 's/^blob //p' \
  | sort --numeric-sort --key=2 \
  | cut -c 1-12,41- \
  | $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest \
  | tail -n10

10ca1380679d  9.9MiB packet_sniffer/target/debug/deps/libsyn-1b755dd9a1cd0131.rlib
54d8337b22c7   12MiB packet_sniffer/target/debug/deps/libregex_syntax-9e6c6888eea69ccd.rlib
0995ee2a7d96   13MiB resources/fonts/full/sarasa-mono-sc-bold.ttf
67ebe0547390   13MiB resources/fonts/full/sarasa-mono-sc-regular.ttf
26238878ca0e   14MiB resources/fonts/full/sarasa-mono-sc-bold.ttf
9994b9f9c3da   14MiB resources/fonts/full/sarasa-mono-sc-regular.ttf
8ae5e938730b   14MiB resources/fonts/full/sarasa-mono-sc-regular.ttf
330ef6743ac5   15MiB packet_sniffer/target/debug/deps/libclap-6006cabbd19c8508.rlib
26ac37a46cf3   15MiB packet_sniffer/target/debug/deps/libclap-57046093200aadfb.rlib
557fd1a7a5f6   15MiB packet_sniffer/target/debug/deps/libsyn-97bf2b04b67d3019.rlib

I noticed some target/ references in there and realized this repo could probably benefit from rewriting the history to remove those objects from history.
So as a test, I ran the following commands using bfg:
sniffnet$ bfg --delete-folders target --no-blob-protection  .
[.. lots of output .. ]

sniffnet$ git reflog expire --expire=now --all && git gc --prune=now --aggressive

These are the results aftwards:
$ du -hxs sniffnet/
112M    sniffnet/

At this point you'd have to force push to main to actually keep these results.

Will this have some consequences when I'll merge one of the existing secondary branches to main?
I mean, I would have to re-do it afterwards right?

Yeah it's just any other force push to main, you'd need to rebase any in-flight work/PRs onto the main after doing the cleanup. There shouldn't be any conflicts because the cleanup changes only involve removing target/; which I'm assuming none of the in-flight work/PRs are doing anything with?
You can also test this locally to ensure there are no issue though, prior to force pushing anything. Actually, you can even do this on a fresh clone of the repo if you don't want to risk your main working directory just to ensure if anything bad happens locally you delete the fresh clone.
$ [ .. perform steps listed above .. ]
$ git checkout my-in-flight-pr
$ git rebase main

Assuming no conflicts, you just repeat this for every in-flight branch/PR.
At this point, if there are conflicts you can "abort"
$ git rebase --abort

Assuming no issues you'd just force push main and also force push all the PR branches to their respective remote/branch.
One other item that feels strange, but is actually not as scary as it sounds: if you have any clones who's main points to the "old" main doing a git pull would result in a bunch of conflicts/errors. The solution would be to just delete the local main branch and fetch/pull the new remote main. e.g.
$ git branch -D main
$ git fetch
$ git switch main

This is why people are usually so against force pushing, it causes a bunch of work 😄 However, in instances like this, where you're saving 100MB+ (or say redacting secrets that were accidentally committed) I personally think it's justified. But that's my subjective opinion.
Granted I know git can be opaque and it can make people nervous when you have in-flight work and you're messing with main. If this all feels too risky no worries, I wouldn't be offended or anything if you closed the issue to address some other time or just accept size cost 😄

So...

I've merged the secondary branches to the (old) main to avoid conflicts
I've locally rewritten main history
But.. when trying to rebase a secondary branch to the (new, local) main, I get a bunch of conflicts despite the secondary branches are not behind main (git merge main -> already up to date, but git rebase main -> conflicts)

If I'm understanding the actions you took, you shouldn't need to rebase the secondary branches into the new main, if they were already merged into the old main prior to rewriting the history. That will indeed create conflicts.
In order to keep the secondary branches you only need to do one of the options below:

Option 1

Rewrite local main history
(Optionally) rebase a secondary branch onto the new local main just as a test before force pushing
Force push the new local main to the remote
(If you did not do the secondary-branch rebase already as a test) Rebase the secondary branch onto main
Force push the secondary branch to it's remote
Merge the secondary branch like normal

Option 2

Merge the secondary branches into old main
Rewrite local main history
Force push main

With option two (which is what it sounds like you did?) there is no need to rebase the secondary branches later because they were already merged into main before rewriting the history.
With option one, that first rebase is just a test to make sure there will be no conflicts before you force push main.

Yep, option 2 is exactly what I did.
I have now the secondary branches with 600+ commit behind and 600+ commits after main.
I guess I just have to pull and push them, right?

I'm also wondering: if I push a big file to git and later remove that file because not needed anymore, will git keep references (and waste lots of space) forever? Is rewriting history the only solution to this problem?

Replying in reverse order 😄

I'm also wondering: if I push a big file to git and later remove that file because not needed anymore, will git keep references (and waste lots of space) forever? Is rewriting history the only solution to this problem?

Yep that's exactly what happens (and the reason I opened this issue). It's unfortunately, but also understandable why it works this way. There are also some unique circumstances where a large file can even get duplicated in history taking up even more space forever, but I can't remember the exact details on when or why this happens.

I have now the secondary branches with 600+ commit behind and 600+ commits after main.

If the secondary branch was merged into old main before you re-wrote the history, you actually don't need the secondary branch any longer.
To illustrate (I'm a visual person so images help me); assume we have a repo with 4 commits (A, B, C, and D) which is what the main branch currently looks like. We also have a secondary branch with two additional commits (E and F). Finally, let's assume commit B was the one were we accidentally committed a large file.

Note
Remember branches are kinda just like pointers to a specific commit.

Warning
Because in git, all commits must point to the their parent, we can't simply "only rewrite B", doing so requires that all child commits also be re-written.

Let me quickly go over Option 1 above for completeness sake.

Here we start with the repo as described above. Then we re-write history resulting in 3 commits on main being re-written as B2, C2 and D2.

Note
Although in the illustration it's easy to see A is being re-written as A2, in real git there isn't such an easily correlation because A would actually be some SHA2 hash and A2 would be some entirely different SHA2 hash.

Notice though that before rebasing, secondary still points to the "old" set of commits. Hence we "re-base" or change the base commit from D (old main) to D2 (new main).

Switching to Option 2:

We start with the same repo set up.
But next we merge secondary into main which results in a merge commit M. At this point normally we'd delete the secondary branch (remember it's just a pointer, we aren't actually deleting the commits).
Now we re-write history which results in a new set of commits B2, C2, D2, E2, F2, and M2.
Now if you still have secondary sitting around in git metadata you'd probably see something like 5 commits ahead, 5 commits behind of main which just saying, "I have 5 commits main doesn't have (B, C, D, E, and F), and main has 5 commits that I don't have (B2, C2, D2, E2, and F2" which actually doesn't matter because main as we know it already has the secondary branch commits we wanted from E2 and F2 resulting in a merge commit M2.
One final thing to keep in mind here that isn't depicted in the illustrations is that each "remote" is it's own island/view of the world. So while the illustrations were all working on your local copy (which is still a "remote" so to speak), you're not affecting the github remote (usually origin) or any of the PR remotes (assuming they're submitted by other users). All those other remotes are still only tracking what main looked like before. And once you force push main after re-writing history, all those remotes will likely show the same +600,-600 commits, or something similar until they effectively delete their main and re-pull the new main and rebase any non-merged work-in-progress.
I hope this helps! 😄

For the moment I'd prefer avoiding the procedure considering that the app will be updated soon and several contributors with an already existing fork will update the translation in their respective language.
Thank you very much for these insights however. You made me aware of problems I was not considering at all. I will come back on this issue for sure.