Automatic and manual unlocking of repositories in Gitlab in exam-mode fails

Describe the bug
We created an exam consisting of three blocks. Two of them contained text questions and one contained a programming exercise we imported from an existing one.
Right before the exam began, we got the message:
'When adding the write permissions for the student repositories, not all operations were successful. Number of failed operations: 2'
Unlocking all repositories manually (using course-management/2/exams/7/student-exams) then resulted in all prior successfully unlocked ones to be locked again and triggered another message 'When adding the write permissions for the student repositories, not all operations were successful. Number of failed operations: 462'.
Using the button on 'course-management/2/programming-exercises/91', it shows the appended image.
Since then, we were not able to unlock them using the frontend.
To Reproduce
see above.
Expected behavior
We wanted to have all repositories in Gitlab unlocked
Screenshots

Environment

 - OS: MacOS.
 - Server: Ubuntu 18.04. Artemis 4.9.4 runs using docker-compose
 - Source-Contol: Gitlab
 - Browser: Brave
 - Artemis: alpro.besec.uni-bonn.de
 - Gitlab: gitlab.christiantiefenau.de

Additional context
There are a lot of exceptions in the logs when triggering the button. They begin like this:
 artemis                    | 2021-02-10 13:56:50.535 ERROR 1 --- [nio-8080-exec-5] a.s.s.ProgrammingExerciseScheduleService : 'add write permissions to all student repositories' failed for programming exercise with id 91 for student repository with participation id 12377 artemis                    |  artemis                    | java.lang.NullPointerException: Cannot invoke "java.util.Map.containsKey(Object)" because the return value of "org.gitlab4j.api.GitLabApiException.getValidationErrors()" is null artemis                    |    at de.tum.in.www1.artemis.service.connectors.gitlab.GitLabService.addMemberToRepository(GitLabService.java:107) artemis                    |    at de.tum.in.www1.artemis.service.connectors.gitlab.GitLabService.configureRepository(GitLabService.java:91) artemis                    |    at de.tum.in.www1.artemis.service.ProgrammingExerciseParticipationService.unlockStudentRepository(ProgrammingExerciseParticipationService.java:321) artemis                    |    at de.tum.in.www1.artemis.service.scheduled.ProgrammingExerciseScheduleService.lambda$unlockAllStudentRepositoriesForExam$3(ProgrammingExerciseScheduleService.java:297) artemis                    |    at de.tum.in.www1.artemis.service.scheduled.ProgrammingExerciseScheduleService.invokeOperationOnAllParticipationsThatSatisfy(ProgrammingExerciseScheduleService.java:452) artemis                    |    at de.tum.in.www1.artemis.service.scheduled.ProgrammingExerciseScheduleService.lambda$unlockAllStudentRepositoriesForExam$5(ProgrammingExerciseScheduleService.java:299) artemis                    |    at de.tum.in.www1.artemis.service.messaging.InstanceMessageReceiveService.processUnlockAllRepositories(InstanceMessageReceiveService.java:98) artemis                    |    at de.tum.in.www1.artemis.service.messaging.InstanceMessageReceiveService$$FastClassBySpringCGLIB$$8cfdda8e.invoke(<generated>) artemis                    |    at org.springframework

It could be that our nginx config just has pretty low timeout set. I already noticed on the plagiarism check. If that should be the issue a note in the documentation should be added.

I will try having a higher timeout and then see if the next exam it is gone

I think that @1-alex98  is right, this error occurs when the timeout is too low. I had a similar issue on my local setup where I gave the Gitlab container too little memory. When the memory is full, Gitlab can't process the request and that exception is thrown.
@1-alex98 wrote some documentation in PR #3016 on how to increase the timeout. Let me know if that helps and if  I can close this issue

I closed this issue for now but feel free to re-open it if it still occurs.


add hints for go mod users in documentation

With more and more organisations using go mod if would be helpful to give a hint about what can go wrong.
I had to look at source code to figure out whats going wrong with the steps. Fortunately, it was (unexpectedly) small that allowed to quickly understand the process.

You saved me, I've been looking relentlessly for a solution for this


Integration Cannot Be Loaded or Deleted

I tried to delete the integration but it gave me the message, but it just stay there.
I looked at the log at found error message saying: unable to intstall package pyonwater.
Setup failed for custom integration eyeonwater: Requirements for eyeonwater not found: ['pyonwater==0.3.1'].
Unable to install package pyonwater==0.3.1: ERROR: Cannot install pyonwater==0.3.1 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible
I tried to redownload the package in HACS, but the problem still exists.
Thank you.

Hi @oggolc ,
Thank you for reporting the issue.
What version of HA you are using?
Could you provide the whole error message?

Thanks for the speedy response and thanks for asking which version of HA I am using.
I was using HA 2023.7 and I just updated to 2023.9. Then, problem solved!
Thank you!

Awesome! I'm happy to hear that the problem is solved.


[BUG] version 1.2.0 has C:\Users\Infothinker-0702 directories hard coded

I was having problems syncing so installed latest version 1.2.0 if windows setup
Syncing now works but no plots are shown in Farmer
In the log is this
2021-12-23T15:38:59.332 daemon main                   : ERROR    Error while handling message: Traceback (most recent call last):
File "C:\Users\Infothinker-0702\work\silicoin2\venv\Lib\site-packages\chia\daemon\server.py", line 199, in safe_handle
File "C:\Users\Infothinker-0702\work\silicoin2\venv\Lib\site-packages\chia\daemon\server.py", line 333, in handle_message
File "C:\Users\Infothinker-0702\work\silicoin2\venv\Lib\site-packages\chia\daemon\server.py", line 572, in get_plotters
File "chia\plotters\plotters.py", line 358, in get_available_plotters
File "chia\plotters\chiapos.py", line 16, in get_chiapos_install_info
File "pkg_resources_init_.py", line 466, in get_distribution
File "pkg_resources_init_.py", line 342, in get_provider
File "pkg_resources_init_.py", line 886, in require
File "pkg_resources_init_.py", line 772, in resolve
pkg_resources.DistributionNotFound: The 'chiapos' distribution was not found and is required by the application
who is user Infothinker-0702 ?? Its not my userid

me too,must clear all,NO uninstall！then install again.


dbg isn't supported

currently we don't support dbg expressions. so this
a=
  dbg "hi"
  1

gets misinterpreted
and this
a=
  dbg "hi"
  b= 1
  b

fails entirely

Solved by commit  faabad86b0d2bf11eae76694e044cfecf213468e


#150433412 feedback implementation

What does this PR do?

fix Application returns the error message  "sorry, limit and offset shoud be numbers" when a user includes only the limit or offset parameter issue.
fix Application returns errors with unnecessary array properties issue
fix Application returns "409"  when the password and confirm password values do not match issue
fix Application returns only the token when a user signs up Issue
fix Application could retutn more user friendly error messages than It currently does Issue
fix Application returns a "404" when a user tries to update his/her account or any other account Issue
fix file naming convention issue

Description of Task to be completed?
Not Applicable
How should this be manually tested?
Not Applicable
Any background context you want to provide?
Not Applicable
What are the relevant pivotal tracker stories?
Not Applicable
Screenshots (if appropriate)
Not Applicable
Questions:
Not Applicable

Coverage decreased (-1.8%) to 87.664% when pulling a9b35e77e75ac5b6a1e5bb0c268d09e67bbb0467 on chore/150433412/feedback-implementation into 99ae47f0f5f1c5eb501b8dce79933b42a6644611 on staging.


Is it possible to specify subprotocols?

I want to specify subprotocols when creating a client. Is this possible?
I have a python client that works (connects and gets messages from the url) ,I can do this in it like this:
    ws = websocket.WebSocketApp( connection_url,                             subprotocols=['graphql-ws'],                             on_open = on_open,                             on_message = on_message,                             on_error = on_error,                             on_close = on_close,)
No I get this error when I try to create a new client:
opened connection received: {"payload":{"errors":[{"message":"NoProtocolError","errorCode":400}]},"type":"connection_error"} Connection closed by remote peer Code: 1006 Reason:
subprotocls in the rfc. Not sure if this is implemented or not since it is specified as  This section is non-normative.
https://datatracker.ietf.org/doc/html/rfc6455#section-1.9

Hey,
Check out this example on how to specify a Sec-WebSocket-Protocol:
https://github.com/TooTallNate/Java-WebSocket/wiki/Specifing-a-Sec-WebSocket-Protocol
Best regards,
Marcel

Hi @marci4 ,
Thanks a lot for pointing me to the sample. My client connects successfully now.
Cheers,
Ali Fakhraee


#7504: add native transpose functionality into create_qkv_heads

Also partially addresses #7519
TODO: add batch > cores support
TODO: add a separate q and kv tensor api (next step)
TODO: add cross attention support (sequence length of Q greater than KV)

https://github.com/tenstorrent/tt-metal/actions/runs/8727092487


How to get the text-to-fsw?

Please if you can guide me how to take the normal human readable text word and sentence into the fsw format ?

https://github.com/sign-language-processing/signwriting-translation
a model is available at https://huggingface.co/sign/sockeye-text-to-factored-signwriting
but will probably retrain this soon.


Issue with locate_ts and dimensions of query

weird bug that I am looking into:
mda.streams::locate_ts(site_name='nwis_0165389205', var_src='baro_nldas', by='either')
Error in query_out[tolower(query_out$title) == tolower(query$title[1]),  :
  incorrect number of dimensions

query_out <- query_item_in_folder(text=query$title[1], folder=query$parent[1], limit=limit)
query_out <- query_out[tolower(query_out$title) == tolower(query$title[1]), ]

query_out comes back as empty here

This site has no ts'es, so I am not sure why this query wouldn't return NA.
chasing this down to the locate_x type of functions, including locate_metab_model and locate_ts.
I would think if no data comes back from one of these locate_ functions, it would return NA (I think?), so this simple query should return NA:
locate_metab_model('not_a_model', by="either") instead of triggering that query error.

I can't reproduce the problem. Definitely strange.
> mda.streams::locate_ts(site_name='nwis_0165389205', var_src='baro_nldas', by='either')
Setting endpoint to www.sciencebase.gov
[1] NA

> query_out <- sbtools::query_item_in_folder("baro_nldas", "nwis_0165389205")
> query_out
data frame with 0 columns and 0 rows
> query_out <- query_out[tolower(query_out$title) == tolower("baro_nldas"), ]
> query_out
data frame with 0 columns and 0 rows

> sessionInfo()
R version 3.2.4 Revised (2016-03-16 r70336)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252 LC_NUMERIC=C                           LC_TIME=English_United States.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.4             rLakeAnalyzer_1.7.6     magrittr_1.5            sbtools_0.15.3          unitted_0.2.5           lattice_0.20-33         R6_2.1.2                stringr_1.0.0
 [9] httr_1.1.0              plyr_1.8.3              dplyr_0.4.3             tools_3.2.4             grid_3.2.4              parallel_3.2.4          DBI_0.3.1               streamMetabolizer_0.9.3
[17] dataRetrieval_2.5.1     lazyeval_0.1.10         assertthat_0.1          readr_0.2.2             reshape2_1.4.1          LakeMetabolizer_1.4.1   tidyr_0.4.1             mda.streams_0.9.3
[25] rsconnect_0.3.79        curl_0.9.6              geoknife_1.2.1          sp_1.2-2                stringi_1.0-1           XML_3.98-1.4            jsonlite_0.9.19         lubridate_1.5.0
[33] foreign_0.8-66

Wonder if it is the difference in our versions of sbtools... I am sbtools_0.16.0

guessing it is here: https://github.com/USGS-R/sbtools/commit/0f454e131d7b49f32573c6ca3ec6e7c217f8e4a1

bet you're right. I just installed sbtools 0.16.0 and now get the same error you do:
> mda.streams::locate_ts(site_name='nwis_0165389205', var_src='baro_nldas', by='either')
Setting endpoint to www.sciencebase.gov
Error in query_out[tolower(query_out$title) == tolower(query$title[1]),  :
  incorrect number of dimensions

> query_out <- sbtools::query_item_in_folder("baro_nldas", "nwis_0165389205")
> query_out
list()

created a new issue for this ( #234 ) . For the time being, I will be using < 0.16.0 until we take care of that issue.


Floating SnackBar incompatible with certain FloatingActionButtonLocations

Is there an existing issue for this?

[x] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Create an app with a Scaffold and a FloatingActionButton
Set FloatingActionButtonLocation so that the button is at the top of the screen, such as FloatingActionButtonLocation.startTop.
Call a SnackBar with behavior of SnackBarBehavior.floating.

Expected results
Display a SnackBar on a visible portion of the screen. Either at the bottom of the screen, or below the FloatingActionButton.
Actual results
SnackBar tries to float above the FloatingActionButton, causing it to display off-screen (or above the SafeArea, and partially off-screen).
Code sample
Code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: MyHomePage(title: 'Snackbar Position Issue'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final String title;

  const MyHomePage({
    Key? key,
    required this.title,
  }) : super(key: key);

  void _showSnackBar(BuildContext context) {
    SnackBar mySnackBar = const SnackBar(
      content: Text('Snack Time'),
      behavior: SnackBarBehavior.floating,
      width: 300,
    );
    ScaffoldMessenger.of(context).showSnackBar(mySnackBar);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: const Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text('Press the Ice Cream to call SnackBar'),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          _showSnackBar(context);
        },
        tooltip: 'Call SnackBar',
        child: const Icon(Icons.icecream),
      ),
      floatingActionButtonLocation: FloatingActionButtonLocation.startTop,
    );
  }
}

Screenshots or Video

Screenshots of SnackBar visible halfway off-screen

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.3, on Pop!_OS 22.04 LTS 5.18.10-76051810-generic, locale en_US.UTF-8)
    • Flutter version 3.10.3 on channel stable at /home/user/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f92f44110e (23 hours ago), 2023-06-01 18:17:33 -0500
    • Engine revision 2a3401c9bb
    • Dart version 3.0.3
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /home/user/Android/Sdk
    • Platform android-33, build-tools 33.0.1
    • Java binary at: /home/user/Downloads/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2021.3)
    • Android Studio at /home/user/Downloads/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.78.2)
    • VS Code at /usr/share/code
    • Flutter extension version 3.66.0

[✓] Connected device (3 available)
    • Pixel 3a XL (mobile) • 94PAX0EFHR • android-arm64  • Android 12 (API 32)
    • Linux (desktop)      • linux      • linux-x64      • Pop!_OS 22.04 LTS 5.18.10-76051810-generic
    • Chrome (web)         • chrome     • web-javascript • Google Chrome 109.0.5414.74

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Hi @jdsareault
This is working as expected.  Snackbar isn't resized by itself for this type configuration.
The documentation for SnackBarBehavior.floating, states:

/// This behavior will cause [SnackBar] to be shown above other widgets in the
/// [Scaffold]. This includes being displayed above a [BottomNavigationBar]
/// and a [FloatingActionButton].

Putting FAB on top and then using this snack behavior will produce this error message. You can avoid using this behaviour for this location of FAB conditionally or resize the Snackbar yourself to avoid this error.

As per the offline discussion with @bleroux, it makes sense to put Snackbar in a floating state but at the bottom screen when FAB is at the top. This also requires updating the docs.
Assigning @bleroux

Reopening because the initial PR was reverted.
I will soon file a new PR.


Make a page for expenses of a particular group in react

Make a page for all expenses made in a particular group in react branch

I want to work on this issue


Cleanup: add JBDS section

@ALRubinger @inoxx03 mind taking a look?

Merged: https://github.com/openshiftio/appdev-documentation/commit/b9282741277414efb1a1b252d9295d547234972b

related to #167


The minimum computer hardware configuration

First , thank you very much for opening up this project . I want to follow your project on low computing platforms . what's the suitable cpu and gpu.

@cxmzdd
Thanks for your following. There are two parts in this project. The first one is the onboard computation of mapping, trajectory following, and odometry which I suggest using a Jetson Xavier NX or a better computer to meet the real-time requirements. The other one is the center station which is in charge of global mapping, data association, and global planning, I suggest using a relatively powerful PC. We don't evaluate the minimum requirements, I can only provide a reference that in 3-dog experiments, the PC is equipped with i7-10700 CPU with 32GB memory and RTX 2060 Super GPU. During the experiments, the CPU and GPU load is lower than 75%. Hope this information can help you.

Thanks for your answer. This work has any public paper? I try to find this work's paper for some details. But it fails.

@cxmzdd
This project is a system implementation of our global localization paper: "RING++: Roto-Translation-Invariant Gram for Global Localization on a Sparse Scan Map".


Is there an ITK "component" or "module" to use all FFT libraries?

From ITKConfig.cmake to aid in libraries using all ImageIOs and TransfromIOs there are the "ITKImageIO" and ITKTransformIO" CMake components. Is there are similar one for the FFT modules to enable usage in factories?
Currently SimpleITK uses these components to ensure all Transform and ImageIO factories are registered:
https://github.com/SimpleITK/SimpleITK/blob/master/Code/IO/src/CMakeLists.txt#L16
Is there a similar module for FFT factory registration?

@dzenanz @tbirdso

Yes, FFT factories are contained in the ITKFFT module

So the "ITKImageIO" and "ITKTransformIO" are meta modules in that they are not actual ITK modules. They were created as a convenience to use all the modules that create an item for a factory type. This was done in 4281aeed92584fb0233b228acb3cf81c4ea51f5b.
The Specific cmake code is here:
https://github.com/InsightSoftwareConsortium/ITK/blob/87fe0a13a9d7b06eefba3950e662c0949786a183/CMake/ITKModuleAPI.cmake#L44-L49
What is interesting here is that the exiting real "ITKFFT" module name is that same as the meta-module generated for the factory. The above CMake code may cause some side-effect, but I'm not certain.
Another thing that make the FFT factory different is that all the items are in the same module and library.

For now, all the FFT implementations are in the ITKFFT module. There is also the VkFFT work in progress, but that would be a remote module. For ITK 6, we could split ITKFFT into base classes in ITKFFT and separate modules for the Vnl and FFTW implementations. Then the meta module could be used for all FFT modules.


Parameter output_level incorrectly handled

Hi,
thanks for creating this neat action. While tracking done an issue in using it, I discovered, that the pester parameter "output_level" is not handled correctly. If you pass a (correct) value, this does not get passed to the pester call.
[-] Context blabla: .
 RuntimeException: Unsupported level out output ''

I will provide you a fix.
thx and regards,
Wolfgang

Done! v1.4.0


issues while running yolov4 custom model.

@jkjung-avt I am having an issue running the custom model. Please find the error output below:
python3 trt_yolo.py --usb 0 --model yolov4-custom-416 --category_num 1
[ WARN:0] global /home/nvidia/host/build_opencv/nv_opencv/modules/videoio/src/cap_gstreamer.cpp (933) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
Traceback (most recent call last):
File "/home/basit/project/tensorrt_demos/utils/yolo_with_plugins.py", line 289, in init
allocate_buffers(self.engine)
File "/home/basit/project/tensorrt_demos/utils/yolo_with_plugins.py", line 201, in allocate_buffers
assert size % 7 == 0
AssertionError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "trt_yolo.py", line 119, in
main()
File "trt_yolo.py", line 106, in main
trt_yolo = TrtYOLO(args.model, (h, w), args.category_num, args.letter_box)
File "/home/basit/project/tensorrt_demos/utils/yolo_with_plugins.py", line 291, in init
raise RuntimeError('fail to allocate CUDA resources') from e
RuntimeError: fail to allocate CUDA resources
I have also attached my config file for your reference.
yolov4-custom-416.zip

assert size % 7 == 0
AssertionError

This error (shape of the yolo model output does not match what's expected) is most likely because you did not mark the correct layers (names) as outputs.  Please refer to: https://github.com/jkjung-avt/tensorrt_demos/issues/334#issuecomment-765809470.

thank  you so much, let me check and then I will get back to you

Dear @jkjung-avt I am not using tiny yolo, still are the modifications done in referenced comment required. The changes suggested are already made except those for tiny yolo (do I need to make those) but the error persists.
Secondly, I am getting an error when I run onnx_to_tensorrt.py. the error is following
basit@basit-desktop:~/project/tensorrt_demos/yolo$ python3 onnx_to_tensorrt.py --m yolov4-custom-416 --category_num 1
usage: onnx_to_tensorrt.py [-h] [-v] --model MODEL
onnx_to_tensorrt.py: error: unrecognized arguments: --category_num 1
What I did here as a workaround was to remove the --category_num 1 from the command and it worked fine. I do hope that this is not the cause of the assertion error.

basit@basit-desktop:~/project/tensorrt_demos/yolo$ python3 onnx_to_tensorrt.py --m yolov4-custom-416 --category_num 1
usage: onnx_to_tensorrt.py [-h] [-v] --model MODEL
onnx_to_tensorrt.py: error: unrecognized arguments: --category_num 1

This should not happen.  Here's the relevant source code in "onnx_to_tensorrt.py":
https://github.com/jkjung-avt/tensorrt_demos/blob/94d06b356822dd230a969d8697dc8c3e55f0dfd6/yolo/onnx_to_tensorrt.py#L167-L169
Please make sure you pull the latest code in this repo.  You need to specify "--category_num 1" (or just "-c 1") for all of "yolo_to_onnx.py", "onnx_to_tensorrt.py" and "trt_yolo.py".

@jkjung-avt Thank you very much for your response, I will git pull the latest code and give a try

Thank you very much @jkjung-avt, turns out git pulling the latest code worked and everything is working perfectly. Thank you so much once again.


HUDs in one canvas

Currently we have different UIs that acts as HUD in different canvases. For example: minimap, chat, explore panel opener, emote wheel opener. Because of this design, we cannot build proper layouts in the UI. We cannot align elements. We cannot implement visual aspects in-between features.
The proposal consists on merging all these UIs into a single canvas so we can edit them as a whole in the editor.

This was addressed already when we added the side bar!


Graphs don't work without internet connection

Currently, Google Graphs are used to draw graphs for historical data.
However, the necessary JS files appear to be fetched at display time.  Thus, if the rig is offline at the time, graphs are unavailable.
Is there a way to tell HA to download the necessary JS files in advance and serve them locally?

Since I try and keep my Home Automation as local as possible I would like this as well.

Maybe we can jam on this at the PyCon sprints in a few weeks?  I'll have the bus, so you can literally step into our use case for offline graphs.  :-)
FWIW, I've been using grafana for graphing lately anyway.

Hey friends.  As I mentioned at PyCon, I'm now using Influx / Grafana for graphing, so I now longer have a finger on the pulse of whether this Issue outstanding.  Thanks again for being awesome!

This is still a thing, see related issue home-assistant/home-assistant-polymer#349

Work on this was started (home-assistant-polymer#429) but never finished, so still an issue...

home-assistant/home-assistant-polymer#429 is merged now, so this issue can be closed 👍.


How can I set my javadoc_argfile ?

I don't quite understand.

Before using your library (which works great so far because gradle resolves all the dependencies perfectly) I have used the javadoc command directly this way:
javadoc \
    -bootclasspath ~/Library/Android/sdk/platforms/android-25/android.jar:... \
    -linkoffline https://developer.android.com/reference ~/Library/Android/sdk/docs/reference \
    -d ~/software/java/doc/output \
    @javadoc_in/javadoc_argfile

javadoc_argfile is a file with default javadoc options for my project which is just a list of regular javadoc options in a file. So I can customize my Javadoc with "-stylesheetfile", "-protected" or other options.

Hmm if there's something equivalent in Gradle we could make it work.

At least I d like to have a way to set any Javadoc option by hand. To use an argfile would be an easy way for you to accomplish this: You just need to add 1 additional option.

Alright sounds fair. I'll close this then in favor of #44


Add a real health probe endpoint for worker and website

This can be configured into the ARM templates and used for spot worker health probe

Completed with 42c89e7abdd2fd2965c1847c72a862bb170b1e06


Error in getWifiRouterIP on iOS

Prerequisites
Check all boxes if you have done the following:

[x] Checked that your issue isn't already filed: https://github.com/tripflex/wifiwizard2/issues
[x] Make sure you fill out the Issue Type below

Issue type
Select all that apply

[ ] Bug
[ ] Enhancement
[ ] Task
[x] Question
[ ] Other

Description
ERROR: Method 'getWifiRouterIP:' not defined in Plugin 'WifiWizard2'
Steps to Reproduce

Add plugin
Add code
Compile
Test ;)

Expected behavior: [What you expect to happen]
The Gateway IP
Actual behavior: [What actually happens]
Error (method not exist)

Found this: https://stackoverflow.com/a/46724598
Might be easy to implement. Might be able to test it in 2 weeks.


Add an option to disable escape code stripping

Fixes #11.

@joepie91 Bump

Oops, sorry, this totally escaped me! Apparently GMail's Snooze feature is not to be trusted... I'll have a look at this tomorrow.

All issues should be resolved now :)

The TypeScript definition and type tests need to be updated

I have no idea how to test that.

Friendly bump :)


[Question] Cmd line, sometimes the "human prompt" don't match

Question
I have a question when running the command line version of LLaVA, sometimes it seems the prompt printed out isn't exactly my prompt, for example:

You can see in this image (the "human: " printed out is a paraphrase of my query), I wonder if you know where is this "human:" prompt printed out? I just want to make sure this command line can have the correct query input.

Hi, thank you for the feedback.
The previous implementation was not updated for v1 models.  Now it has been fixed to support all model variants.  Please pull the latest code base and try again. Thanks!

Thanks a lot @haotian-liu , will try it shortly!


cloud formation

testvpcc.txt
good afternoon, sir
this issue is related to AWS cloud formation
today's exercise in class room
I write the json file to create the vpc, subnet, internet gateway, routetable, security group and ec2 machine (RHEL) every thing is working fine. My code created the ec2 machine but the problem is  I can't log on to that ec2 machine.   So I attach my code to this please check the code and specify what are the corrections to do to log on to my ec2 machine
thank you sir

hi ,
As u said your ec2 machine created ,please check and open ssh port 22  to login from security group


[Ready to Review] Feature/separate date_last_login and date_last_request

Purpose
Issue: https://openscience.atlassian.net/browse/OSF-5523
We have a user field called date_last_login, but it actually is the date the user last sent a request.  So currently, we are not actually tracking date_last_login. date_last_login and date_last_request should be separated.  Tracking date_last_request separately will allow date_last_login to be used for things like loading the number of comments on your project since you last logged in.
Changes

Adds a User field called date_last_request which will track what date_last_login is tracking
Restricts date_last_login to be updated only when a user authenticates with CAS and on initial confirmation
date_last_request is updated when a user makes a request
Adds script to add date_last_request field, initially set equal to date_last_login

Side Effects
Requires a migration.

Please add tests for the migration script.
Also, I wouldn't consider this a blocker (as there are currently no tests involving date_last_login that aren't targeting mail functionality), but tests that make sure these fields get updated at under the right conditions would be appreciated.
Pass complete, no bugs found :star:

LGTM. Passing this on to RTM :zap:

@pattisdr Is this PR still relevant? Do we still need this field for the Dashboard?

This was for a feature that was originally going to be in Phase 1, but it was pulled out for a future phase.  We haven't decided if we will need this or not, but I think it's a useful field.
Originally, we were going to have comments since last logged in, activity since last logged in. Last we talked, it had changed to unread comments, unread activity, etc.  So this 'date_last_login' would probably not be used for that, but again, we haven't really decided what's going to happen with this.
This is a useful field though, it is strange to me that date_last_login is currently date_last_request.

OK, thanks for the update. I agree that date_last_login is a misnomer, since it's really date_last_request. That said, there is code--triggered emails, for example--that currently relies on date_last_login. Doesn't this code need to be updated?
That said, we can deprioritize work on this for now if we don't need it in the near future.

I'm going to close this for now. We can re-open when the need for the new field arises.

Sounds good.
On Mon, Apr 11, 2016 at 9:33 AM, Steven Loria<EMAIL_ADDRESS>wrote:

I'm going to close this for now. We can re-open when the need for the new
field arises.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/CenterForOpenScience/osf.io/pull/4987#issuecomment-208345463

--
Dawn Pattison
Developer
Center for Open Science
<EMAIL_ADDRESS>


Possible Refactor: re-think factory methods that create classes and class instances

As an introduction, please read the discussion in PR #181 under the question about the init function used in the apis_entities.tables.py factory function.
Description of the current pattern:
We use factory methods at several places in our code-base when generic versions of specific classes are needed.  (see a list of the places where it is used below).
But in the current implementation, the whole class and a single instance are created each time we would actually just need an instance of the generic class.
Also, there is often no clear distinction between code that should be used on a per-instance basis and computed at runtime (request time of an instance) and code that is applied to the whole class.
What is the issue with that:

the code is harder to reason about, because we treat classes like instances and we can do that because the class is re-created on each request and then garbage-collected
specifically, we have instance-scoped logic in the class body, that should actually live in the init method.
but also we re-create classes and instances for each request (after which they are garbage collected!), which is neither resource-aware, nor does it follow the OOP logic and the intended use of the libraries we make use of that provide those classes that we create at runtime.

Suggested Refactor:

refactor the classes themselves and make clear distinctions between instance-scoped logic and settings and class-scoped logic and settings.
either move the generic logic also in the init function, and get rid of the factory method (which in most cases should not be possible, I think, as generic settings are needed also in the class meta block)
or leave the factory methods as they are (but still, refactor the class body to be more semantically and logically clear), but on startup, create all possible variants of the generic classes, store them in a dictionary or another appropriate datastructure and then each time an instance of a variant of the class is needed, retrieve the pre-created class from the storing datastructure (not the factory method) and create a new instance of it.
this way, the classes would stay alive and are not garbage collected.

Where the pattern is used atm :
These I could find:
apis_core/apis_relations

in rel_filters.py - factory: get_generic_relation_filter
in tables.py - factory: get_generic_relation_listview_table

apis_core/apis_metainfo

in browsingviews.py - factory: get_entities_table

apis_core/apis_entities

in filters.py - factory: get_list_filter_of_entity
in forms.py - factory: get_entities_form
in tables.py - factory: get_entities_table

Yes! Please lets get rid of those factories!

(updated post to include convenience links to referenced communication & code)

Most of that stuff has been refactored by now -> closing


vendor, azure: Bump Azure SDK to Aug 2021

Supersedes: https://github.com/cilium/cilium/pull/23172
Fixes: https://github.com/cilium/cilium/issues/23083
Signed-off-by: Goverdhan Biradar<EMAIL_ADDRESS>Signed-off-by: Chris Tarazi<EMAIL_ADDRESS>

/test

/ci-aks


Automated cherry pick of #5054: fix: createdAt should not be synced when update

Cherry pick of #5054 on release/2.10.0.
#5054: fix: createdAt should not be synced when update

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@42623c4). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             release/2.10.0   #5060   +/-   ##
================================================
  Coverage                  ?   7.45%
================================================
  Files                     ?     418
  Lines                     ?   66812
  Branches                  ?       0
================================================
  Hits                      ?    4982
  Misses                    ?   61404
  Partials                  ?     426

Flag
Coverage Δ

#aFlag
7.45% <ø> (?)

Impacted Files
Coverage Δ

pkg/compute/models/guests.go
0.65% <ø> (ø)

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 42623c4...5587cde. Read the comment docs.

/lgtm
/approve


Improve docs regarding command output

Hi there. Just trying unformat, and am confused by its output.  After running 30 minutes or so, it just keep repeating stuff like:
149: ........................................ (26, 168)
150: ........................................ (26, 168)
151: ........................................ (26, 168)
152: ........................................ (26, 168)

What are those numbers?  Is it making progress? Is it stuck?
Might I suggest adding a paragraph in the docs explaining what's being output...
Thanks.

Thanks for the suggestion. It's not making progress. It's quite possible that there simply isn't a config file that perfectly matches your existing code but determining whether that's the case is harder to do.

Thanks for the suggestion. I will try and improve the docs accordingly.
Quick explanation: It's not making progress. It's quite possible that there simply isn't a config file that perfectly matches your existing code but determining whether that's the case is harder to do so it just keeps trying over and over.

Hey John that doesn't quite help yet, I think I'm in the same boat as Sam with wanting to know what the actual numbers mean.
First one is obviously iterations, but what are the two in brackets?

Those are scores of the best configuration found in that generation. The first is an estimate of the number of lines that would be deleted if that configuration was applied and the second is the corresponding Levenshtein distance. They are purely diagnostic values. The important thing to note is that if they change, progress is being made.


2 cases for crashing the program or "lost" try/catch.

[x] I have read the FAQ.
[x] I have searched in existing issues.

Environment

OS: Windows
scrcpy version: 1.18
installation method: Windows release
device model: Khadas VIM3
Android version: 9 (Pie)

Describe the bug

Crash when launching srccpy while the device is waiting for user input.
The application has brought up a modal MesageBox and is waiting for user input.
If you run scrcpy at this moment, then after a short timeout (~2-3 sec.) It crashes.
The log is here:
---cit---
INFO: scrcpy 1.18 https://github.com/Genymobile/scrcpy
INFO: Renderer: direct3d
INFO: Initial texture: 1080x1920
WARN: Device disconnected
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.IllegalStateException
at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2698)
at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:114)
at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:95)
at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:61)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
at com.genymobile.scrcpy.Server.main(Server.java:255)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:340)
---end---

If you run srccpy in advance (without the --lock-video-orientation key) and the MessageBox
output causes the screen to rotate, scrcpy crashes in the same place:
---cit---
INFO: scrcpy 1.18 https://github.com/Genymobile/scrcpy
INFO: Renderer: direct3d
INFO: Initial texture: 1920x1080
WARN: Device disconnected
java.lang.IllegalStateException
at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2698)
at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:114)
at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:95)
at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:61)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
at com.genymobile.scrcpy.Server.main(Server.java:255)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:340)
---end---

N.B. If srccpy running with --lock-video-orientation=initial option before program output this MessageBox, it's work correctly
Info: Host (windows) Resolution 1600x1200

It's a crash related to your device encoder: https://github.com/Genymobile/scrcpy/blob/master/FAQ.md#exception
Try with a lower definition.

When start srccpy with option -m 1024 (or lower) it start normally. -m 1200 (or higher) -- except.
Available encoders is OMX.amlogic.video.encoder.avc only.
May be possible call  codec.dequeueOutputBuffer in try-catch block and (if exception occured) close srccpy and show notification to user?

Addition information - when device change orientation, option '-m' not protect from exception. Help only option '--lock-video-orientation=initial' :). But AFTER image rotated we can call scrcpy with option -m and it start normally.


chore: update readme with how to configure via YAML

Update README with how to config via YAML after #39 was merged
/cc @WDaan

Neat!
One thing to note as well, not sure where to bring this up but for SSO login oidc the docs call it client_secret but in reality I only got it to work using client_token.

Would be interesting to see where that occurred for you as it should be client_secret https://github.com/flipt-io/flipt/blob/main/internal/config/authentication.go#L323
We actually had it wrongly written in the docs as client_token for a while: https://github.com/flipt-io/flipt-docs/pull/34
One thing to note is that the OIDC client_secret is different to the Flipt API client_token.
Maybe there is some mixup there.

Neat!
One thing to note as well, not sure where to bring this up but for SSO login oidc the docs call it client_secret but in reality I only got it to work using client_token.

Ah, so when configuring SSO providers I think it is named client_secret, like the value to put in your Flipt config.. this is the value given to you by your OIDC provider (ie Google). When making the actual request to authenticate the user /service with Flipt it is called client_token
Edit: what @GeorgeMac said ☝🏻


Follow VS Code's system of overruling for configuration

Note:
This issue has originally been posted in the Pyright repo: microsoft/pyright#836.
@erictraut recommended to report that issue here.
Environment data

Language Server version: 2020.7.2
OS and version: macOS Catalina 10.15.5
Python version (& distribution if applicable, e.g. Anaconda): Miniconda 3 with multiple environments (mostly py3.7.7)

Expected behaviour
Pylance configuration settings "python.analysis.(...)" respect the overruling concept of
VS Code even if a local pyrightconfig.json is present in a project folder.
Effective value for a setting
Reading the documentation for the WorkspaceConfiguration interface of VSCode:
The effective value (returned by get and excluding language settings) is computed by overriding or merging the values in the following order.

defaultValue
globalValue (if defined)
workspaceValue (if defined)
workspaceFolderValue (if defined)

Note: Only object value types are merged and all other value types are overridden.
Actual behaviour
When a pyrightconfig.json file is present in a project folder and is not containing any
setting for severity overrides, the severity override settings in the global user config file
Code/User/settings.json have no effect.
Use case
Global severity overrides
Define severities ("python.analysis.diagnosticSeverityOverrides") in a way following the hierarchy listed above.
Example:
Set diagnosticSeverityOverrides in global settings (Code/User/settings.json) since a user may always want to apply the same severity overrides for all projects.
Fine-tuned include/ exclude settings for best speed of type analysis
Set "include" and/ or "exclude" per workspace or folder (not only in pyrightconfig.json but also in VSCode's config system) since project directory names differ from project to project.
Example:
There might be a

project A with a sub directory ${workspaceFolder}/pkg,
project B with a sub directory ${workspaceFolder}/lib,
project X, Y, and Z each with a sub directory ${workspaceFolder}/backend.

As described at the top of this message:
For all projects the user may want to have identical severity overrides that
have been defined globally in Code/User/settings.json but:
The user may also want to fine-tune include/ exclude settings (see below):

For the projects A and B the include/ exclude settings may be defined as
folder settings.
For the other (backend) projects X, Y, and Z that are organised in one .code-workspace
the user may want to define include/ exclude workspace settings.

Folder settings for include and exclude
Project A:
${workspaceFolder}/.vscode/settings.json with something like
{
    "pyright.include": ["pkg"]
}

Project B:
${workspaceFolder}/.vscode/settings.json with something like
{
    "pyright.include": ["lib"]
}

Workspace settings for include and exclude
Projects X, Y, and Z:
web_applications.code-workspace with something like
{
    "folders": [
        {
            "path": "/path/to/X"
        },
        {
            "path": "/path/to/Y"
        },
        {
            "path": "/path/to/Z"
        },
    ],
    "settings": {
        "pyright.include": ["backend"]
    }
}

Summary
All configuration options shall follow VS Code's configuration system since it is
extremely useful and covers every(?) imaginable setup.
Fine-tuning include / exclude settings to try to ensure the best achievable analysis speed as described above is just one example use case.
Benefits
Following the standards of VS Code's great configuration system with its sophisticated
overruling strategy (hierarchy) makes it possible to distribute settings with global,
workspace, and folder scope to get the flexibilty often needed by us developers.
Here and with most other VS Code settings:

Be able to configure global settings in Code/User/settings.json

Be able to configure workspace settings at one location for multiple projects organised
in one .code-workspace.

Capability to fine-tune settings per project folder (.vscode/settings.json)
without the need to maintain an extra pyrightconfig.json file.
This is of interest for users who solely use Pylance as VS Code extension and
do not run pyright via its CLI (e. g. CI pipelines).

The exclude setting request is covered by https://github.com/microsoft/pylance-release/discussions/2581


Feature/iqmunicate 561

This PR introduces the logic for custom messages date dividers with a specific interval.
PR notes: Do not merge this until the upcoming release is LIVE.
Status: DONE.

Stress tested and finished. Current status: DONE.


CI: Add --no-log-colors to missed windows health check

Looking at the CI failure for #1087 (https://dev.azure.com/onivim/oni2/_build/results?buildId=8227&view=logs&j=16afaa31-88f2-57dc-4c6f-57177f9c64fc&t=11c2e412-6171-5c8e-1aae-001304ca28f3), I realized there was still another place I missed --no-log-colors for Windows in #1078 and #1079.
This fixes the remaining spot so hopefully no more hangs of that class in CI.

/azp run


Where is VB.NET version, please?

I am following the Visual Studio ASP.NET Identity tutorial here about creating Register and Log-in pages:
https://docs.microsoft.com/en-us/aspnet/identity/overview/getting-started/adding-aspnet-identity-to-an-empty-or-existing-web-forms-project
Problem is that the author's code (and general orientation) is in C#. Is there a version of this code , or these pages, in vb.net, please?

Hello @SteveHigh ... Last I heard (for example) VB.NET will be supported for .NET Core 3 later this year. At this time, all of our samples are C#.


[Epic] Roles: transaction drafters

Overview
The Safe UI is missing a way to manage transaction drafters (aka delegates)
Requirements

[ ] Implement a Settings page for transaction drafters management
[ ] Update the Client GW SDK to expose the CRUD /delegates endpoints

Timeline

Picking up the current PoC it should take around 3 working days to connect with the SDK endpoints (instead of calling Transaction Service directly).
Design rework will add to this estimation which should not blow 1 week of work

Client GW SDK has an open PR that should take 1 working day to finalize.

Designs
Requires @liliiaorlenko

Links
Notion doc
Original Problem Statement
Transaction Service API
Gnosis-Safe Delegation DAPP (external)

Does the timeline take into account the adjustments required on backend and allowance of transaction proposal by delegates?

Does the timeline take into account the adjustments required on backend and allowance of transaction proposal by delegates?

Only frontend work as we agreed in the meeting earlier. IIRC


fix!: add Send and Sync to Intervention

Add the Send and Sync traits to Intervention, this is the last data structure of this crate that is missing them.
The lack of these traits makes things more complicated with using this crate inside of async code.
Based on my tests everything seems to be working fine with these traits added.

Thanks for this!
Looks good to me - this actually made me realize that the implementation of Clone on Intervention is likely incorrect.
I think we can get this merged and published in a 1.0.0 release.

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

Project coverage is 93.8%. Comparing base (922b25f) to head (c03fd1f).

Additional details and impacted files

Files with missing lines
Coverage Δ

src/intervention.rs
65.8% <ø> (ø)

... and 1 file with indirect coverage changes

@flavio - would you mind rebasing this off the latest changes in main?
Thanks!

@rkrishn7 done!


Assert that a property is a value when we have already asserted that the key relates only to that value.

Rubbish title, sorry!! This might be a tricky one to explain. Let me give it a go.
So I have a utility type that can give me the keys of an object where the value is of certain type:
export type KeysOfValueType<T, U> = {
  [K in keyof T]: T[K] extends U ? K : never
}[keyof T]

We can use that like this

Now, if I want to use that to create a function where I pass in an object and a key for a property, I would hope that Typescript will know the type because we have already asserted it:
function innerLowerCase<
  T extends Record<string, string | number | Record<string, unknown>>,
>(obj: T, key: KeysOfValueType<T, string>) {
  const objString = obj[key]
  return objString.toLowerCase()
}

but Typescript can't assert that objString is a string, so we get the following:

I can add a Typeguard to make this work (which I what is have done in my actual use case), but it feels like something TS should be able to do?

@MartinJohns hey, you downvoted this a few hours ago now, is there a specific issue with it?

I just started downvoting all issues that completely ignore the issue template. 🤷🏼♂ This also sounds like a question, which is better suited on platforms like StackOverflow.

Okay, knowing that is more helpful. I can look at that.
RE: Yeah, did consider it but I'm not sure it is a question, I feel like it's a thing that TS isn't doing that maybe it should be? I might be wrong.


Reformulated match combinator

@MonoidMusician @cryogenian I'd like to know what you think of this formulation. I wanted match to support partial matches so it can be used with default. This seems to have very good inference properties because it's determined completely be the shape of the case record. The class walks the RowList and builds up an expected Variant shape based on the functions in the record. It then takes the Union of that to find the leftover unmatched cases. It requires much less type-level machinery compared to the old approach.

Can we have this as additional combinator, e.g. match'? Adding case_ for every match might be tedious.
Is it possible to have something like?
foo f = f # match { foo: \_ -> bar} `default` (\_ -> baz)

where default constructs record with missing cases automatically

I can make it a different combinator, sure (maybe onMatch or something). In that case match r = case_ # onMatch r. That's partly why I made the change here, because it keeps the API uniform and composable with each other.

where default constructs record with missing cases automatically

I specifically don't want to construct default cases like that though. By taking a continuation it's far more general (I actually need this signature for purescript-run), and composes with on combinators.

case_ # onMatch sounds awesome! :+1:

Yeah, I like this, nice work!


Can make it this package to null safety?

Hi Author,
First of all, thanks for creating this package, it is great use in my app, it is really big help it can make this project to null safety.

There is a fork (I guess) for this package with null-safety. Haven't tested it yet but maybe this will help somebody
https://pub.dev/packages/flutter_weather_bg_null_safety

I am also looking for the null safety package. It seems the above mentioned null safety link fails loading images.


Allow node-pre-gyp for Electron

As of https://github.com/mapbox/node-pre-gyp/pull/175, node-pre-gyp now understands “electron” as a runtime.
This doesn’t actually create and publish Electron builds—I’ll work on that next—but it does mean that nodegit will try to use a prebuilt binary and then simply fallback to source.
(Context: we’re investigating bundling nodegit in Atom, but CI times explode without nodegit binary support: https://github.com/atom/atom/pull/9213.)

Ha, I've actually been working on exactly this myself. Worth note that at the same time, it doesn't need to custom build for nwjs either, as that's already a valid runtime in node-pre-gyp as well.

@joshaber fyi you can run the test suite via npm run test and that will check linter errors as well.

Also this is amazing.
:heart:

Worth note that at the same time, it doesn't need to custom build for nwjs either, as that's already a valid runtime in node-pre-gyp as well.

Oh great point :+1: Removed that too.

Ha, I've actually been working on exactly this myself

@maxkorp Awesome :metal: Have you looked into packaging the binaries for Electron? It's not clear to me yet how all those pieces fit together.

This is ready for review now, I think :pray:

So this overall looks good to me. Something we've needed for a while. It would be helpful if we could also pass in arguments to force a build against a specific version of Electron or nwjs but that is really more for dev and custom build environments.
As long as we can publish binaries that are named correctly this should work. :+1:

It would be helpful if we could also pass in arguments to force a build against a specific version of Electron or nwjs but that is really more for dev and custom build environments.

Absolutely. I have an incoming PR related to that.


Feature: Change range defaults and add generate_series function

Features

[ ] Change the default stop argument for range to be non-inclusive (similar to DuckDB and many programming languages)
[ ] Add a generate_series function to allow the user to generate series inclusively (where the stop argument is the last value of the series)

API
Other
Description
Kùzu's range function is currently inclusive of the stop argument.
kuzu> RETURN range(1,3) AS r ;
-----------
| r       |
-----------
| [1,2,3] |
-----------
(1 tuple)
(1 column)
Time: 0.15ms (compiling), 0.30ms (executing)

This is not the case in DuckDB:
D SELECT range(1,3) AS r;
┌─────────┐
│    r    │
│ int64[] │
├─────────┤
│ [1, 2]  │
└─────────┘

For inclusive range, DuckDB provides an additional function generate_series, which behaves like our current range function in Kùzu.
D SELECT * FROM generate_series(1,3);
┌─────────────────┐
│ generate_series │
│      int64      │
├─────────────────┤
│               1 │
│               2 │
│               3 │
└─────────────────┘

We should make the range behaviour more consistent with other systems and offer the convenience function generate_series, so new users don't have to rewire their thinking when coming from DuckDB.

I think we should follow neo4j style of range function which is inclusive on start and end instead of following SQL.
https://neo4j.com/docs/cypher-manual/current/functions/list/

There is still generate_series(). So I'm keeping this issue open.


problem displaying the ripple on the outlined button

What is affected?
Component, Theming
Description
When I try to change the style of md-outlined-button I have displaying issues.
When I change this value :
.button-outlined {
  --md-ripple-pressed-opacity: 1;
}

there is a white border inside the button

The problem is because of mismatching border lines, which causes the ripple's border to not perfectly line up with a border on its parent.
Workaround
A workaround was found by overriding the ripple border-radius value:
.button-outlined::part(ripple) {
  border-radius: calc(var(--eds-button-outlined-border-radius) - 1px);
}

to do this I need to add the attribute part to md-ripple in the button component.
source: https://discord.com/channels/259087343246508035/1239956071762624563
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
1.4.1
Browser/OS/Node environment
node: 18.12.1
npm: 8.19.2
chrome: 124.0.6367.208
macos: 14.2.1

I have a local branch ready but I can't push it to create a pull request.
ERROR: Permission to material-components/material-web.git denied to Benoit-ROBIN.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

You won't be able to push your branch directly to this repository. Instead, create a pull request from a cloned copy of this repository.
GitHub has some guides on creating PRs from forks.


fix: add alert for notifications

Second approach without empty div.
Demo:

Voting to close this PR, since I'm quite happy with the approach that we merged in #39. Happy to discuss further, though.


Observability

This PR adds observability in Bytewax.
This does not use the python logging module, but allows for external configuration anyway.
What we gain is not having to keep the GIL when logging something, but it's not integrated with the python logging's module anymore.
By default, bytewax logs ERROR messages to stdout.
The logging to stdout is always on, and its level can be configured as an argument to the execution functions (run_main, spawn_cluster, cluster_main), or via the parse functions.
Logs are part of the tracing infrastructure. Every log is now structured, so we can use those logs and the additional instrumentation to send "spans" and "traces" to an opentelemetry compatible backend.
This PR adds support for two backends:

Jaeger
Opentelemetry collector

The Jaeger backend sends data directly to Jaeger. This makes the setup simpler if that's what you are using, but it only works with Jaeger.
The Opentelemetry collector backend sends data to the opentelemetry collector. This can be configured to send traces and logs to different backends, including Jaeger, and it's the most flexible way of configuring tracing, since you can change your tracing backend without touching the dataflow, just change the collector's configuration and everything should keep working.

With this latest commit I removed the StdOutTracingConfig since the only configurable parameter is the log level which can now be configured with kwargs in the execution functions, and also removed some code duplication across Tracer configs, so that we initialize the global subscriber in one place rather than in each tracing config.

The latest commit changes how we do the setup. Since the tracing/logging subscriber is a global that can be initialized only once per process, doing that in the execution functions is not right, and will fail if the user runs the execution function more than once (it happened in tests too).
With the latest commit, tracing has to be setup globally once from python:
from bytewax.tracing import setup_tracing

tracer = setup_tracing()

And the tracing_config and log_level parameters can be passed to the setup_tracing function, so I also removed the new code in bytewax.parse.


Custom Characters/icons for Checkbox Representation

The current implementation of the theme provides alternative checkbox states beyond checked and unchecked. I would like to request the ability for users to define and customize these states according to their preferences.
Requested Feature:
Custom Character for Checkbox Representation: Allow users to specify a character or text string to be displayed within the checkbox format (e.g., - [@]) in Obsidian markdown files.
Custom Icon Support: Enable users to upload an image file, or specify an emoji or Unicode symbol, to be used as an icon associated with each custom checkbox state.
Dynamic Icon Display: Modify the theme to dynamically display the appropriate icon or character based on the defined custom states within ObsidianMD markdown files.
Use Case Example: For instance, a user might define - [@] as a custom checkbox state and choose the devil face emoji 😈 to represent it. When editing markdown files in ObsidianMD, checkboxes formatted as - [@] would display the 😈 emoji instead of the default checkboxes. This could be used to mark particularly challenging tasks.
This feature would enhance customization options within the "minimal theme," allowing users to tailor checkbox appearances to better fit their personal or workflow-specific needs.

There have already been a couple of similar feature requests, however adding the ability for users to define their own would cover all cases, so users won't come asking for more inclusions

As mentioned in #526 I don't plan to add more options. I recommend using snippets for this.


CalAmp ignition

Hello,
I've successfully setup a CalAmp device under UDP protocol, it's all working well, except the ignition flag.
Here's what I get from the attributes column from a couple of my positions:
{"sat":8,"carrier":23,"gsm":-73,"modem":47,"hdop":11,"input":5,"status":0,"event":30,"acc0":12900,"acc1":3993,"acc2":500,"acc3":8842212,"acc4":8,"acc5":0,"acc6":0,"acc7":0,"acc8":127,"acc9":47448903,"acc10":3550886,"acc11":5040,"acc12":5040,"acc13":5,"acc14":0,"acc15":0,"distance":384.32,"ip":"<IP_ADDRESS>"}

{"sat":10,"carrier":23,"gsm":-69,"modem":47,"hdop":8,"input":5,"status":0,"event":30,"acc0":13100,"acc1":3987,"acc2":500,"acc3":8842212,"acc4":8,"acc5":0,"acc6":0,"acc7":0,"acc8":131,"acc9":47448903,"acc10":3550886,"acc11":10320,"acc12":10320,"acc13":5,"acc14":0,"acc15":0,"distance":566.91,"ip":"<IP_ADDRESS>"}

I can see that there are a lot of acc attributes, and that they stand for a lot of stuff according to CalAmp manual. But I don't understand why ignition is not showing up like the distance attribute or if I should I manually convert any of these acc values into the ignition? I couldn't correspond the acc number with the manual info. Which one is it? I'm using Traccar version 3.7
Thank you!

It might be one of those acc(umulator) values. I guess it's better to check with CalAmp.

Can I send you the manual I have so you can take a look? I couldn't figure it out..

I have all the information, but it's not very clear for me either.

Ok, thanks! I'll contact the manufacturer, and I'll post here the outcome.

tananaev, to decode ignition, you need convert the input signal (Input statuses of the unit; bit0=Ignition, bit2 on 2x00 & 4x00 =motion, bit5 on 1x00 = motion (1 byte)).
Input value is a binary value.
If input is 05 the binary value is 00000101 (bit0 = 1, bit2 = 1) and the decoded value is IgnitionOn and Input2 active.

How do you know that "bit0=Ignition"? I can't find anything about it in the documentation.

Hi, Calamp documentation is here https://puls.calamp.com/wiki/LM_Direct_Reference_Guide but it is private only for customers.
If you have access, you can download CalAmp LMU Toolbox program and decode the hex message.
The documentation is very large but I paste a fragment to you. Please refer for Inputs section.
Congrats for traccar, is good job.
Update Time (4 bytes)
The time tag of the message in seconds, referenced from Jan. 1, 1970
Time of Fix (4 bytes)
The last known time of fix from the GPS satellites. This value is reported in seconds from Jan. 1, 1970
Latitude (4 bytes)
The latitude reading of the GPS receiver, measured in degrees with a 1x10^-7 degree lsb, signed 2’s complement
Longitude (4 bytes)
The longitude reading of the GPS receiver, measured in degrees with a 1x10^-7 degree lsb, signed 2’s complement
Altitude (4 bytes)
The altitude reading of the GPS receiver measured in centimeters above the WGS-84 Datum, signed 2’s complement
Speed (4 bytes)
The speed as reported by the GPS receiver, measured in centimeters per second
Heading (2 bytes)
The heading value reported in degrees from true North
Satellites (1 byte)
The number of satellites used in the GPS solution
Fix Status (1 byte)
The current fix status of the GPS receiver bitmapped as follows:
Bit 0 – Predicted
Bit is set when the position update has a horizontal position accuracy estimate that is less that the Horizontal Position Accuracy Threshold defined in S-Register 142 (and the threshold is non-zero).
Bit 1 – Differentially Corrected
This bit is set when WAAS DGPS is enabled (S-Register 139) and the position has been differentially corrected
Bit 2 – Last Known
This bit is set when the current GPS fix is invalid but a previous fix’s value is available.
Bit 3 – Invalid Fix
This bit is set only after a power-up or reset before a valid fix is obtained.
Bit 4 – 2D Fix
This bit is set when 3 or fewer satellites are seen/used in the GPS fix. (i.e. with 3 satellites or less, an altitude value cannot be calculated)
Bit 5 – Historic
This bit is set when the message has been logged by the LMU.
Bit 6 – Invalid Time
This bit is set only after a power-up or reset before a valid time-sync has been obtained.
Carrier (2 bytes)
The identifier of the Carrier/Operator the wireless modem is currently using. For GSM, HSPA, and LTE networks, this is the MNC (mobile network code). For CDMA networks this is the SID (system identification number).
RSSI (2 bytes)
The received signal strength of the wireless modem in dBm. This value is signed in a 2’s complement format.
Comm State (1 byte)
The current state of the wireless modem bit mapped as follows
Bit 0 – Available
Bit 1 – Network Service
Bit 2 – Data Service
Bit 3 – Connected (PPP Session Up)
Bit 4 – Voice Call is Active
Bit 5 – Roaming
Bits 6-7 – Network Technology
00 = 2G Network (CDMA or GSM)
01 = 3G Network (UMTS)
10 = 4G Network (LTE)
11 = Reserved
HDOP (1 byte)
The GPS Horizontal Dilution of Precision - it is a unit-less value reported with a 0.1 lsb.
Inputs (1 byte)
The current state of the inputs, bit mapped as follows:
Bit 0 – Ignition
Bit 1 – Input 1
Bit 2 – Input 2
Bit 3 – Input 3
Bit 4 – Input 4
Bit 5 – Input 5
Bit 6 – Input 6
Bit 7 – Input 7
Unit Status (1 byte)
Status of key modules within the unit:
Bit 0 – LMU32: HTTP OTA Update Status (0=OK, 1=Error), LMU8: Unused
Bit 1 – GPS Antenna Status (0=OK, 1=Error)
Bit 2 – GPS Receiver Self-Test (0=OK, 1=Error) (LMU32 only)
Bit 3 – GPS Receiver Tracking (0=Yes, 1=No)
Bit 4 – Reserved, Currently Unused
Bit 5 – Reserved, Currently Unused
Bit 6 – Reserved, Currently Unused
Bit 7 – Unused
Event Index (1 byte)
The index number of the event that generated the report; values should range from 0-74. 255 represents a Real Time PEG Action request.
Event Code (1 byte)
The event code assigned to the report as specified by the event’s Action Parameter
Accums (1 byte)
The number of 4-byte values in the AccumList and the Accumulator Reporting Format Type (upper 2 bits). Refer to Appendix G, ‘Accumulator Reporting Formats’ for details.
Append (1 byte)
This bit-mapped byte is used to indicate the presence, when corresponding bit is set, of specific data types appended to the end of the Event Report following the list of accumulators. Each data type starts with a single length byte followed by the data. If multiple data types are present, they shall appear in order of the bits set in the ‘Append’ byte, starting with bit 0.
Bit 0 – Cell Info (see ‘Appended Data’ section below).
Bit 1 thru 7 – reserved, set to zero (0).
AccumList (4 bytes x ‘n’)
A list of ‘n’ 4-byte fields where ‘n’ is defined in the Accums field. The format for this list is dependent upon the Accumulator Reporting Format Type also defined in the Accums field. Refer to Appendix G, ‘Accumulator Reporting Formats’ for details.

I see it now. I guess it was not there before because I checked and couldn't find it on their wiki.

I have added support for ignition.


Missing Palauan word Ngerutecherchar

Missing Palauan word Ngerutecherchar created by<EMAIL_ADDRESS>on 2016-12-11 21:07:09

<EMAIL_ADDRESS>replied, Butecherchar

<EMAIL_ADDRESS>replied, butecherechar , n. butecherechar a ta er a bedengel a dellomel.
So Ngerutecherchar is just a variant word for butecherechar?
Anyone else confirm please?

<EMAIL_ADDRESS>replied, doesnt exist...ng butecherechar....

<EMAIL_ADDRESS>replied, Souang, can you confirm please that Ngerutecherchar is a word?  Maybe someone meant butecherechar?

<EMAIL_ADDRESS>replied, My medicine teacher identifies this plant as Ngerutecherchar. Maybe it's a slightly different plant or a name from different region for the same plant. In Melekeok we call it Ngerutecherchar.
ï£¿souang

<EMAIL_ADDRESS>replied, Thx Souang!Ulang, is this pic butecherechar or does it look different?

<EMAIL_ADDRESS>replied, On Sun, Dec 18, 2016 at 10:32 AM John Bent (Debugle) <<EMAIL_ADDRESS>wrote:

--- Write ABOVE THIS LINE to reply ---
Same
John Bent posted a new comment on Missing Palauan word Ngerutecherchar
http://debugle.com/projects/28361#issue=322216 :
Thx Souang!
Ulang, is this pic butecherechar or does it look different?
View this on Debugle http://debugle.com/projects/28361#issue=322216
Stop receiving email
http://debugle.com/issues/unsubscribe/6b0f9cd158a92ae615ef6a7a106b6af583c92116
notifications about this item.

<EMAIL_ADDRESS>replied, Telocha Ngeltelngaters a say Ngerutecherchar ðŸ˜Š We Belias we say Butecherchar, original.

<EMAIL_ADDRESS>replied, Souang, I uploaded this picture of ngerutecherchar.  Thanks!


Add support for docker-outside-of-docker

This commit adds support for running testcontainers inside Docker using the so-called "docker-outside-of-docker" approach: by mounting /var/run/docker.sock into the Docker container (using, for example, docker run -v /var/run/docker.sock:/var/run/docker.sock ...), one can spawn the test containers as sibling-containers.
To determine whether testcontainers is run inside a container, it checks whether a /.dockerenv file exists.
This PR also adds a simple Dockerfile that one can use to for testing. I have not, however, updated the .travis.yml to test this in CI - I'm open for suggestions on how to do so.
It also includes a small fix I made to make sure that Docker containers are stopped even when an exception is thrown:
    # in class DockerContainer:
    def __del__(self):
        """
        Try to remove the container in all circumstances
        """
        if self._container is not None:
            try:
                self.stop()
            except:
                pass

Hello @tcwalther! Thanks for submitting the PR.

In the file testcontainers/core/container.py, following are the PEP8 issues :

Line 69:13: E722 do not use bare except'
Line 73:80: E501 line too long (95 > 79 characters)

In the file testcontainers/core/utils.py, following are the PEP8 issues :

Line 35:80: E501 line too long (121 > 79 characters)

Looks good, thank you for this PR

@SergeyPirogov thanks a lot for merging. Would you be happy to publish a new version 2.3 on PyPI that includes this change?

It has been published a few days ago

That’s amazing, thanks a lot!


chore(main): release 1.0.6

:robot: I have created a release beep boop
1.0.6 (2024-11-12)
Bug Fixes

deps: bump golang.org/x/net from 0.29.0 to 0.31.0 (#41) (c7b8f3c)
deps: bump golang.org/x/oauth2 from 0.23.0 to 0.24.0 (#40) (205109d)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/shanduur/labeler/releases/tag/v1.0.6 :sunflower:


[CH-218]Clickhouse supports window function

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
Clickhouse supports window function now.
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
unit test
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
test by CH[[235]]

@PHILO-HE please check what is wrong with velox ?

This seems to be a random bug
22/12/26 02:03:40 ERROR Executor: Exception in task 0.0 in stage 68.0 (TID 73)
java.lang.RuntimeException: unordered_map::at: key not found
0. std::logic_error::logic_error(char const*) @ 0x16a3ae94 in /tmp/libch.so
1. std::out_of_range::out_of_range(char const*) @ 0xa7fa769 in /tmp/libch.so
2. std::__1::__throw_out_of_range(char const*) @ 0xa7fa71f in /tmp/libch.so
3. local_engine::StorageMergeTreeFactory::getStorage(DB::StorageID, DB::ColumnsDescription, std::__1::function<std::__1::shared_ptr<local_engine::CustomStorageMergeTree> ()>) @ 0xa891c0a in /tmp/libch.so
4. local_engine::SerializedPlanParser::parseMergeTreeTable(substrait::ReadRel const&) @ 0xa81486d in /tmp/libch.so
5. local_engine::SerializedPlanParser::parseOp(substrait::Rel const&) @ 0xa81bcdb in /tmp/libch.so
6. local_engine::SerializedPlanParser::parse(std::__1::unique_ptr<substrait::Plan, std::__1::default_delete<substrait::Plan> >) @ 0xa81aa22 in /tmp/libch.so
7. local_engine::SerializedPlanParser::parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xa824fb8 in /tmp/libch.so
8. Java_io_glutenproject_vectorized_ExpressionEvaluatorJniWrapper_nativeCreateKernelWithIterator @ 0xa8d3486 in /tmp/libch.so

	at io.glutenproject.vectorized.ExpressionEvaluatorJniWrapper.nativeCreateKernelWithIterator(Native Method)
	at io.glutenproject.vectorized.NativeExpressionEvaluator.createKernelWithBatchIterator(NativeExpressionEvaluator.java:57)
	at io.glutenproject.backendsapi.clickhouse.CHIteratorApi.genFirstStageIterator(CHIteratorApi.scala:171)
	at io.glutenproject.execution.GlutenWholeStageColumnarRDD.compute(GlutenWholeStageColumnarRDD.scala:113)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:337)
	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:337)
	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
	at org.apache.spark.scheduler.Task.run(Task.scala:131)
	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:506)
	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1491)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:509)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)

re-run again.

@PHILO-HE please check what is wrong with velox ?

Currently, velox doesn't support expression/literal bound type. There is a bug in velox validator. I am fixing it. Thanks!

@lgbo-ustc @PHILO-HE can we ingore the failed velox test cases first, after fixing these test cases, open them?

@PHILO-HE shoule we disable window support for velox at first or wait for your fix?

I have made some fix in velox. Just triggered the velox job again. Let's wait for the feedback. Thanks!


alert now has to be triggered manually

that's just an handy alert that I trigger to manually test the e2e connectivity from the deployed instance, through Prometheus, to the notifier
refactored Prometheus rules and produced messages, now based also on subscan
prometheusrules can be now active or not. If you deploy multiple instances, you don't want to deploy multiple prometheusrules (duplicated messages)


DFBUGS-867: [RDR] UI blocks a DR operation on an appset based workload

/lgtm

/LGTM

/cherrypick release-4.18

/cherrypick release-4.18-compatibility

/cherrypick release-4.18-compatibility


chore Print file size when hdfs file writer failed

Proposed changes
Issue Number: close #xxx
Add more information when hdfs file writer failed

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Rename JSON format's projects to projectResults

We have internal concepts of:

runs: each time the CLI runs. This is similar to what Terraform Cloud call runs.
projects: a project contains the infra-as-code and any configs (e.g. the terraform_binary version to be used) that are needed to run that project through Infracost.
project results: the JSON output of a project run. We currently include these in the projects array in our JSON format but it should be renamed to something like projectResults so it's clear that this is the results of a project run, not the project itself.

@alikhajeh1 should we also update any of the following for v0.9?

Rename metadata to projectMetadata
Move path into projectMetadata
Add name that creates a name from the repo URL/path?

In the end we decided to do this only for v0.9. We weren't sure about the projectResults change so thought it was best to leave it as is just now.

Move path into metadata
Add name that creates a name from the repo URL/path?


Keeping workers alive while navigating through scenes.

@devfd ,
I am using the worker for image upload, but when I navigate away from that scene, I loose the pointer to that worker in that case I won't be able to terminate it, this can result to memory leak. How can I keep a central worker manager.
What I have done now is to keep it outside the scenes on the Navigation file, and pass it as props into other routes/scenes, but this is not working. Its not throwing any error, and not working either.

I solved this already.


Option to change webinterface port

It would be cool to have an option to run the webinterface on a different port than the default one.

Nginx/apache handles the web interface, not the panel. Change your nginx/apache settings.


Update IDL to use requestLocalDispatch field

Pull Request Test Coverage Report for Build 113010a4-6072-48c3-bed5-c0240be8463b

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 74.683%

Files with Coverage Reduction
New Missed Lines
%

internal/internal_task_pollers.go
2
72.55%

Totals

Change from base Build 155253e5-0640-445d-bf01-f4cecd4b074b:
-0.02%

Covered Lines:
9366

Relevant Lines:
12541

💛  - Coveralls


Periodic Linking Issue on Windows

Description
We have sporadic failures where the linker on windows will fail to find a required dll with the following linker error.
LINK : fatal error LNK1171: unable to load mspdbcore.dll (error code: 1455)

This is a run where the failure occurred. This is a run where the failure did not occur, despite there being no material change to the actions workflow.
Area for Triage:

Question, Bug, or Feature?:
Bug
Virtual environments affected

[ ] Ubuntu 16.04
[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11
[ ] Windows Server 2016 R2
[x] Windows Server 2019

Image version
Virtual Environment
  Environment: windows-2019
  Version: 20210509.1
  Included Software: https://github.com/actions/virtual-environments/blob/win19/20210509.1/images/win/Windows2019-Readme.md
  Image Release: https://github.com/actions/virtual-environments/releases/tag/win19%2F20210509.1

Expected behavior
Successful linking.
Actual behavior
Linking fails randomly.
Repro steps
I can't provide a repro as this appears to happen at random.

Hello @iamrecursion,
We will investigate the issue.

@iamrecursion Can you please make sure your are using the same version of sbt for the failed and succeed builds?

They were both done with the same version, yes. Nothing in the project configuration changed between those two runs.

@iamrecursion
It is possible to restore the failed task "Build the PM Distribution" in the current repo? The existing branches does not have the task and it is not possible to investigate the problem.
The existing success log does not show the exact linker output and it is not possible to check for the link options.
It supposed we have some defaults of VC/sbt/graalvm changed and the required library is not in a path anymore

My apologies. This is the real job that fails. "Build the PM distribution" was purely a debugging task for me.

@iamrecursion
I see many Sleep 1 in your workflow. Can you please explain the purpose of it? I guess there's a download not completed in the time of the build step but can not identify it well.

@iamrecursion can you please remove the cache task from the build. It is the common place for unstable builds. For me the commenting out the cache step produced to success builds - not sure how stable it is in the real life.

@dsame
The sleeps were added because sbt was sometimes unstable and would crash on init and we just saw empirically that added them made it stable. The download-in-the-background hypothesis sounds interesting, but if I recall correctly it was not uncommon with sbt that the first few invocations (in a given run) did in fact work and only a subsequent one crashed on initialization - so in that case I doubt it could be a download, since the previous invocations did work and they should have crashed in such a case too, right?
I've created a PR (linked above) where I disabled the caches for the main CI, let's see how it affects the issue

here's the first run (currently still in progress). However I don't understand how SBT caches could affect libraries which are MSVC components.

@radeusgd at the moment i suspect the build uses mspdbcore.dll from the following paths (or does not use them but use some other paths):
/LIBPATH:C:\hostedtoolcache\windows\GraalVM\java11-windows-amd64-21.1.0\x64\lib\static\windows-amd64
/LIBPATH:C:\hostedtoolcache\windows\GraalVM\java11-windows-amd64-21.1.0\x64\lib\svm\clibraries\windows-amd64

and we have some 32/64 executable conflicts issues

@radeusgd at the moment i suspect the build uses mspdbcore.dll from the following paths (or does not use them but use some other paths):
/LIBPATH:C:\hostedtoolcache\windows\GraalVM\java11-windows-amd64-21.1.0\x64\lib\static\windows-amd64
/LIBPATH:C:\hostedtoolcache\windows\GraalVM\java11-windows-amd64-21.1.0\x64\lib\svm\clibraries\windows-amd64

and we have some 32/64 executable conflicts issues

Is some further information needed then to help with the debugging?

@dsame
It seems that the build with cache off also fails with the same issue.
Are the 32/64 executable conflicts due to GitHub env configuration or is it something that we can modify? Do you have a suggestion what can be done to fix this?

@iamrecursion @radeusgd
The upgrade of GraalVM native image tool causes the problem.  I'd suggest to try to rework the workflow in order to avoid this upgrade. Is it possible?
I confirmed the environment including the requested DLLs are the same for succeed and  failed builds and having a little if any ability to control the upgrade process see no way for further investigations.

Unfortunately we can't easily downgrade our version of GraalVM. We've found a way to make it slightly more reliable as it seems to be related to memory pressure, but we really need runners with more memory it seems.

@iamrecursion there is a way to increase swap size on Windows, it can help, I guess.
https://github.com/actions/virtual-environments/issues/2642#issuecomment-774988591

That's super helpful. We'll try that and see if it helps.

@iamrecursion
I mean you should have a new version of GraalVM native image in the build, this way you avoid its upgrad during the build

@iamrecursion
I mean you should have a new version of GraalVM native image in the build, this way you avoid its upgrad during the build

Oh, this could have been phrased in a confusing way indeed.
This message does not say that we are rebuilding the Native Image tool itself.
It is meant to say that we are rebuilding our application's native image, so essentially it just means that we are invoking the native-image build process, which is a part of our build pipeline.
The Native Image component is only installed at the very beginning.

Hi @iamrecursion,
is this issue still happening to your builds or did increasing swap size help?

Giving my 2 cents on this issue.
At the project I work on, we have a GitHub Workflow [1] that builds a Quarkus application using native-image. We were experiencing random linking failures on ~50% of our builds. After increasing the swap size following https://github.com/actions/virtual-environments/issues/2642#issuecomment-774988591, we didn't see any of those anymore and we've been building consistently ever since. (Thanks @miketimofeev!!)
[1] https://github.com/kiegroup/kogito-tooling-go/blob/main/.github/workflows/release.yml

So I am closing this issue, since increasing swap size did help here.
Feel free to contact us if you have any concerns, thanks.

Hi @iamrecursion,
is this issue still happening to your builds or did increasing swap size help?

It seems that on our CI incresing the swap size also did help, it is much more stable since then and most of the time we did not notice this linking failure after the change. Thanks for the help!


Too Many Requests (response code 429)

IP is blocked by the website after few hits. How to spoof the ip or solve this issue?

same here, Too Many Requests. Not like the script doesn't throwing errors anymore though:
current error:
PS D:\DOWNLOADS\Mobile-Phone-Dataset-GSMArena-master> py .\gsmarena_scraping.py                                         Traceback (most recent call last):
File "D:\DOWNLOADS\Mobile-Phone-Dataset-GSMArena-master\gsmarena_scraping.py", line 163, in
obj.save_specification_to_file()
File "D:\DOWNLOADS\Mobile-Phone-Dataset-GSMArena-master\gsmarena_scraping.py", line 129, in save_specification_to_file
phone_brand = self.crawl_phone_brands()
File "D:\DOWNLOADS\Mobile-Phone-Dataset-GSMArena-master\gsmarena_scraping.py", line 46, in crawl_phone_brands
table = soup.find_all('table')[0]
IndexError: list index out of range
@AwalDeep Could you make it run at the end ?

@krm1337
The error you are getting is because of the same issue I had mentioned above. You're getting empty list because IP is blocked and there is no data scraped.

code has been updated now guys will not get the issue of the too many requests.


stats: add iterate methods for Scope, and a lazy find-from-string implementation.

Commit Message: Adds iterate() functionality for stats scopes. This makes it possible to robustly find a stat by string in prod code, even if the caller does not know whether some segments of the name were created via StatNameDynamicStorage, so a new Stats::Utility API is added to encapsulate the lookup and caching of stats by string.
Note that the existing deprecated counterFromStatName only works for fully symbolic names.
Additional Description: This can potentially enable a hierarchal stats exploration admin interface (though we'd need to be able to iterate over sub-scopes too).
Risk Level: low -- these new capabilities are tested, but not called from prod code yet. They may prove useful at Google and in Nighthawk, per the referenced bug.
Testing: //test/...
Docs Changes: n/a
Release Notes: n/a
Fixes: #11799

@eziskind @oschaaf FYI

I think the messaging is reasonably clear about the slowness of the initial lookup in the doc for CachedReference. If you have any suggestions on how to improve the doc, would love to hear them.
The intended usage is during initialization when capturing a reference to stat which we only know by name.


can libsvm support continues feature?

for example
1 1:0.1 2:1 3:899.99
need I do a standardisation for the continues ? I don't think so

how can I deel with the null or NaN in the continue features?

The need of standardisation depends of your data. In general XGBoost accept continue value.
Why do you think libsvm format would be an issue ?


Need to update BenchGemmEx due to int8 gemm API change

int8 gemm_ex in GemmDriver,cpp,(BenchGemmEx) might need an update due to the API change in ROCm 4.2 (flags parameter)

Int8 support has been added


MS0104: open file by drag and drop

User can drag and drop a model, model element, mesh file to the application window.
The element should be loaded to the navigator and the visualizer as well.

completed except for the visualizer part
Note that windows prevent dnd when runing the software from QtCreator so copy the executable to msvc20xx/bin to see how it runs in deploy mode
https://stackoverflow.com/questions/37828617/drag-and-drop-not-working-if-application-lies-in-specific-directory
not tested on linux

@yasseerr
Well done! I still can not test it because of the error I get from the previous task.

This issue is closed now and will be open later if needed.


Add optional argument to split

Well detailed description of the change :
This PR adds a new optional argument to str.split() which determines the amount of times a string will actually be broken up by the delimiter. This allows us to keep the delimiter within the string after a certain amount of occurrences have already been found.
E.g
"Dictu is awesome!".split(" ", 0); // ['Dictu is awesome!']
"Dictu is awesome!".split(" ", 1); // ['Dictu', 'is awesome!']
"Dictu is awesome!".split(" ", 2); // ['Dictu', 'is', 'awesome!']

Type of change:

[ ] Bug fix

[x] New feature

[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Housekeeping

[x] Tests have been updated to reflect the changes done within this PR (if applicable).

[x] Documentation has been updated to reflect the changes done within this PR (if applicable).

Note
This may come in useful with regards to #473

I'm curious about your thoughts on this:
Keep basic functionality and expectations the same.
"Dictu is awesome!".split(" "); // ['Dictu', 'is', 'awesome!']

Add another method, like Go, to indicate the number of times to split.
"Dictu is awesome!".splitN(" ", 1); // ['Dictu', 'is awesome!']
"Dictu is awesome!".splitN(" ", 2); // ['Dictu', 'is', 'awesome!']

or
Have value indicating all instances of the seperator.
"Dictu is awesome!".split(" ", -1); // ['Dictu', 'is', 'awesome!']

Hey! Thanks for the comments!

Add another method, like Go, to indicate the number of times to split.

I think another method will probably end up with a lot of code duplication or macro abuse which are never fun to deal with (neither are strings in C at the best of times ;( )
.split(delim, occur) is also how it is in Python 😄

Have value indicating all instances of the separator.

This is something I don't mind too much about. Checking in Python a negative number seems to make it ignore the count and just split by all occurrences of the delimiter (like how you propose with -1). The current implementation treats negative numbers as not wanting to split (so essentially the same as passing 0). Probably a good idea as it means you can have a negative number as a default rather than having to have two flows in user code with:
// Flow 1
var count = cond ? 3 : -1;
".........".split(",", count);

// Flow 2
if (cond) {
    ".........".split(",");
} else {
    ".........".split(",", 3);
}

@briandowns I've updated the PR to make negative numbers split all occurrences now, thanks for the thought!

LGTM!


Create array rotation.cpp

i had done the pull request please see it.

already available in the repo.


Any chance of getting this boosted to latest? (v6.2?)

As above really. I really like your container as it plays nice with remote share links where as the official repo dosn't seem to play ball :(

Thanks for writing in. I'm afraid I'm no longer using it, hence the lack of activity. And it seems a lot has changed since then.

No worries i thought that might be the case :)
Did you move on to using something else? Or do you simply not self host anything to share files anymore?


Apex CPU governor impact?

This is very interesting indeed! Have you done any analysis on the impact it has on the Apex CPU Governor?

Hi there. Same issue. I it caused when getFile(filename) is called.
If the zip has like 20Kb, it will pass through, though really slow. 100kb (not so much I gues) zip just wont pass with CPU limit reached error. Any ideas?

Hello,  I'm running up against the max string length of 6000000 when generating .zip file.  Is it possible to get around this issue?  Thanks!

@qdriscoll, you see that error because you are hitting the Apex heap size limit. I recommend you clear large variables after you are done using them. For example after you add a file to a Zip archive you can set that variable to null.
Zippex sampleZip = new Zippex();
Blob fileData = Blob.valueOf('Sample text.');
sampleZip.addFile('sampleFolder/test.txt', fileData, null);
fileData = null; //REDUCE HEAP SIZE
Blob zipData = sampleZip.getZipArchive();

If that is not enough, you can also run your code asynchronously which will double the available heap size. And for even larger heap size you can use @future(limits='3xHeap').

@Savier9 it is extremely CPU intensive to inflate compressed Zip files. We are trying to add a few new optimizations to be able to handle larger files. @xoob has some ideas here: https://github.com/pdalcol/Zippex/pull/20 that we will be implementing soon.
In the meantime use asynchronous mode like queueable, batch or future to get a larger CPU limit. In future mode you can also use @future(limits='3xCPU') to get even larger limits. The simplest way to use asynchronous mode is by calling Zippex.unzipAttachment() and passing true in the fourth parameter.

We made the execution asynchronous and now we were able to unzipAttachement zip file successfully for file having less than 300kb per file inside Zip File, more than 300kb leads to CPU limit. @future(limits='3xCPU').
We are in need of processing file which is nearly 1Mb file inside Zip file. Please do provide us workaround for resolving CPU Time limit.

For creating Zip files, one solution would be to allow setting the compression mode to "store".  Such archives would be larger, but creating them will use far less CPU time.  Ideally, this would be an optional 4th argument to addFile().  If missing, it would behave as it does now, but specifying "store" would add that file to the archive without trying to compress it.
One practical application is when creating .xlsx files.  I'd gladly save some CPU time to create a larger file.


swarmbot eastereggs should show the cool secret commands

well then they wouldn't be a secrete would they?


Orphaned output in example

[Enter feedback here]
The output here doesn't refer to anything in the example that is actually used
output "AVD_user_groupname" {
  description = "Azure Active Directory Group for AVD users"
  value       = azuread_group.aad_group.display_name
}

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

ID: 3a0a97cf-1514-889c-edbc-9c10bd566231
Version Independent ID: 3a0a97cf-1514-889c-edbc-9c10bd566231
Content: Configure Azure Virtual Desktop using Terraform - Azure
Content Source: articles/terraform/configure-azure-virtual-desktop.md
Service: terraform
GitHub Login: @TomArcherMsft
Microsoft Alias: tarcher

@ImIOImI Thanks for your feedback. The AVD articles are out of date and are being rewritten over the next couple of months.