IT-4296 | Eager load missing relations on update

Fix for https://sentry.io/organizations/wnl-production/issues/3098375228/:
Illuminate\Database\LazyLoadingViolationException
Attempted to lazy load [parts] on model [Lib\MultistepProblems\Models\MultistepProblem] but lazy loading is disabled.

https://github.com/laravel/scout/pull/542
https://github.com/babenkoivan/elastic-scout-driver/issues/19

Did you consider applying the fix to upstream in https://github.com/ErickTamayo/laravel-scout-elastic/blob/master/src/Engines/ElasticsearchEngine.php ?

@kvas-damian no, it's mostly unmaintained and we went far enough that I don't consider ever going back to upstream.


[dev] Disable hardening

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hardening modes have been introduced in libc++ 18.
Checks for some UB are now present but were not before, making dependent projects raise when a UB is met if they have been built against libc++18.
For instance, based on those lines this is consistent with what is reported in https://github.com/man-group/ArcticDB/issues/1724#issuecomment-2258808241 (see _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS).
See: https://libcxx.llvm.org/Hardening.html#using-hardening-modes
See third items of this list: https://libcxx.llvm.org/ReleaseNotes/18.html#improvements-and-new-features
See elements of the implementation's documentation.
See elements of the implementation.
cc @h-vetinari

@conda-forge-admin, please rerender

Interesting lead. I would have expected hardening to provide actionable information and not just random segfaults.

It depends on the assertion handler's definition. By default, it is set to __builtin_verbose_trap, explaining the SIGTRAP observed here and there.


Removed the string "REST"

This list requires Azure service name and does not need string "REST".
In particular, Speech Services has REST API feature to use when the Speech SDK is not available.
Extra string "REST" leads to the misleading that access tokens are not available with Speech SDK.

@isnullnull : Thanks for your contribution! The author(s) have been notified to review your proposed change.

In particular, Speech Services has REST API feature to use when the Speech SDK is not available. Extra string "REST" leads to the misleading that access tokens are not available with Speech SDK.

Speech-to-text REST API for short audio

Use cases for the speech-to-text REST API for short audio are limited. Use it only in cases where you can't use the Speech SDK.

@PatrickFarley
Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


[SMALLFIX] Support getInodeList() for child descendant

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15699/
Test PASSed.

@gpang I've added unit tests for TempInodePathForDescendant

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15701/
Test PASSed.

@gpang I've addressed your comment. PTAL

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15718/
Test PASSed.

@gpang I've updated the PR, thanks.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15721/
Test PASSed.

Merged build finished. Test PASSed.


Do not show a progress bar when the output is piped (not a terminal)

Otherwise it gets weird in CI systems:

@jleclanche thanks! The task on the issue is created, we will investigate and try to fix this glitch.

Fixed in CLI 3. Try to use --no-progress option.


[Improvement] add "elevation total" in elevation profile pop up

Hello,
now you can browse your track with the elevation profile.
The pop up give you the current elevation, distance and slope.
I could be nice to have the current elevation total on this pop up.

Thanks for your work, killer app for MTB

Do you know that you can drag on the elevation profile to select a range? If you do it from the start up to any point, the stats of your selection are shown on the left of the profile.

Nope... so my "problem" is solve. Thanks for your time.


declared output erros while building

How can I fix these errors with tensorflow 1.14.0 and bazel 1.24
$ bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
WARNING: The following configs were expanded more than once: [cuda]. For repeatable flags, repeats are counted twice and may lead to unexpected behavior.
WARNING: /home/mh.naderan/tf/tensorflow-1.14.0/tensorflow/python/BUILD:3469:1: in py_library rule //tensorflow/python:standard_ops: target '//tensorflow/python:standard_ops' depends on deprecated target '//tensorflow/python/ops/distributions:distributions': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.distributions will not receive new features, and will be removed by early 2019. You should update all usage of `tf.distributions` to `tfp.distributions`.
WARNING: /home/mh.naderan/tf/tensorflow-1.14.0/tensorflow/python/BUILD:102:1: in py_library rule //tensorflow/python:no_contrib: target '//tensorflow/python:no_contrib' depends on deprecated target '//tensorflow/python/ops/distributions:distributions': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.distributions will not receive new features, and will be removed by early 2019. You should update all usage of `tf.distributions` to `tfp.distributions`.
WARNING: /home/mh.naderan/tf/tensorflow-1.14.0/tensorflow/contrib/metrics/BUILD:16:1: in py_library rule //tensorflow/contrib/metrics:metrics_py: target '//tensorflow/contrib/metrics:metrics_py' depends on deprecated target '//tensorflow/python/ops/distributions:distributions': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.distributions will not receive new features, and will be removed by early 2019. You should update all usage of `tf.distributions` to `tfp.distributions`.
WARNING: /home/mh.naderan/tf/tensorflow-1.14.0/tensorflow/contrib/learn/BUILD:17:1: in py_library rule //tensorflow/contrib/learn:learn: target '//tensorflow/contrib/learn:learn' depends on deprecated target '//tensorflow/contrib/session_bundle:exporter': No longer supported. Switch to SavedModel immediately.
WARNING: /home/mh.naderan/tf/tensorflow-1.14.0/tensorflow/contrib/learn/BUILD:17:1: in py_library rule //tensorflow/contrib/learn:learn: target '//tensorflow/contrib/learn:learn' depends on deprecated target '//tensorflow/contrib/session_bundle:gc': No longer supported. Switch to SavedModel immediately.
WARNING: /home/mh.naderan/tf/tensorflow-1.14.0/tensorflow/contrib/bayesflow/BUILD:17:1: in py_library rule //tensorflow/contrib/bayesflow:bayesflow_py: target '//tensorflow/contrib/bayesflow:bayesflow_py' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
WARNING: /home/mh.naderan/tf/tensorflow-1.14.0/tensorflow/contrib/BUILD:12:1: in py_library rule //tensorflow/contrib:contrib_py: target '//tensorflow/contrib:contrib_py' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
INFO: Analysed target //tensorflow/tools/pip_package:build_pip_package (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
ERROR: /home/mh.naderan/.cache/bazel/_bazel_mh.naderan/a6a33b5ca42465d31b51832fb008b42b/external/local_config_cuda/cuda/BUILD:168:1: declared output 'external/local_config_cuda/cuda/cuda/include/thrust/detail/dispatch/is_trivial_copy.h' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely)
ERROR: /home/mh.naderan/.cache/bazel/_bazel_mh.naderan/a6a33b5ca42465d31b51832fb008b42b/external/local_config_cuda/cuda/BUILD:168:1: declared output 'external/local_config_cuda/cuda/cuda/include/thrust/iterator/detail/is_trivial_iterator.h' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely)
ERROR: /home/mh.naderan/.cache/bazel/_bazel_mh.naderan/a6a33b5ca42465d31b51832fb008b42b/external/local_config_cuda/cuda/BUILD:168:1: declared output 'external/local_config_cuda/cuda/cuda/include/thrust/system/detail/generic/type_traits.h' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely)
ERROR: /home/mh.naderan/.cache/bazel/_bazel_mh.naderan/a6a33b5ca42465d31b51832fb008b42b/external/local_config_cuda/cuda/BUILD:168:1: not all outputs were created or valid
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 3.481s, Critical Path: 2.85s
INFO: 15 processes: 15 local.
FAILED: Build did NOT complete successfully

@mahmoodn ,
Please refer this link.
Also provide the other platform details like operating system, architecture.Thanks!

See:
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.1 LTS
Release:	18.04
Codename:	bionic
$ uname -a
Linux 1080Ti 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
$ python --version
Python 2.7.15+
$ bazel version
Build label: 0.24.1
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Tue Apr 2 16:29:26 2019<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>

configure
$ ./configure
WARNING: Running Bazel server needs to be killed, because the startup options are different.
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".
You have bazel 0.24.1 installed.
Please specify the location of python. [Default is /usr/bin/python]:

Found possible Python library paths:
  /usr/local/lib/python2.7/dist-packages
  /usr/lib/python2.7/dist-packages
Please input the desired Python library path to use.  Default is [/usr/local/lib/python2.7/dist-packages]
/home/mh.naderan/.local/lib/python2.7/site-packages/
Do you wish to build TensorFlow with XLA JIT support? [Y/n]:
XLA JIT support will be enabled for TensorFlow.

Do you wish to build TensorFlow with OpenCL SYCL support? [y/N]:
No OpenCL SYCL support will be enabled for TensorFlow.

Do you wish to build TensorFlow with ROCm support? [y/N]:
No ROCm support will be enabled for TensorFlow.

Do you wish to build TensorFlow with CUDA support? [y/N]: y
CUDA support will be enabled for TensorFlow.

Do you wish to build TensorFlow with TensorRT support? [y/N]:
No TensorRT support will be enabled for TensorFlow.

Found CUDA 10.1 in:
    /usr/local/cuda/lib64
    /usr/local/cuda/include
Found cuDNN 7 in:
    /usr/local/cuda/lib64
    /usr/local/cuda/include

Please specify a list of comma-separated CUDA compute capabilities you want to build with.
You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases your build time and binary size, and that TensorFlow only supports compute capabilities >= 3.5 [Default is: 6.1]:

Do you want to use clang as CUDA compiler? [y/N]:
nvcc will be used as CUDA compiler.

Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]:

Do you wish to build TensorFlow with MPI support? [y/N]:
No MPI support will be enabled for TensorFlow.

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native -Wno-sign-compare]:

Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]:
Not configuring the WORKSPACE for Android builds.

Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See .bazelrc for more details.
	--config=mkl         	# Build with MKL support.
	--config=monolithic  	# Config for mostly static monolithic build.
	--config=gdr         	# Build with GDR support.
	--config=verbs       	# Build with libverbs support.
	--config=ngraph      	# Build with Intel nGraph support.
	--config=numa        	# Build with NUMA support.
	--config=dynamic_kernels	# (Experimental) Build kernels into separate shared objects.
Preconfigured Bazel build configs to DISABLE default on features:
	--config=noaws       	# Disable AWS S3 filesystem support.
	--config=nogcp       	# Disable GCP support.
	--config=nohdfs      	# Disable HDFS support.
	--config=noignite    	# Disable Apache Ignite support.
	--config=nokafka     	# Disable Apache Kafka support.
	--config=nonccl      	# Disable NVIDIA NCCL support.
Configuration finished


input type submit doesnt have full zone click

When i use an input type submit in order to create this action for a form the system generates a button with the input type submit inside, you can see it easily with any browser HTML inspector.
When i click the button (i mean, inside the button but OUTSIDE the input type submit text) the form doesnt send because in the DOM i'm clicking the  element generated by materialize but no the submit input of the form.
How to reproduce:
Create a form with an input type submit
Add a javascript event for the form on submit with an alert for example
Click over the text of your submit button (this should work perfectly)
Now click in the button but outside the text
Sorry for the bad explanation

Or you can just link a codeopen.

Ok thats a great idea, here is the codepen:
http://codepen.io/anon/pen/eJprxv
To reproduce the issue click first over the SEND text inside the button and you should see an alert, now click inside the button but outside the SEND text and you should see nothing

Replace your input by :

Send

Ok, that works great. Thanks!
Maybe it should appear as a tip in the form page of materialize docs

You're welcome.
Don't forget to close your issue.

Hello!
New message, please read http://www.jonshugart.com/star.php?wk7
<EMAIL_ADDRESS>


Update appsettings.json

updated the jason file with a bracket
Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

testing pull request build before merge


elementary-planner: 2.5.7 -> 2.6.9

Motivation for this change
Also add a symbolic link planner -> com.github.alainm23.planner
Things done

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

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

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

Result of nixpkgs-review pr 119339 at e59e979c run on x86_64-linux 1

1 package built successfully:

elementary-planner

1 suggestion:

warning: unclear-gpl
gpl3 is a deprecated license, please check if project uses gpl3Plus or gpl3Only and change meta.license accordingly.
Near pkgs/applications/office/elementary-planner/default.nix:80:5:
   |
80 |     license = licenses.gpl3;
   |     ^

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

1 package built:

elementary-planner


[FEATURE] Add more intelligent xAlign for tooltip

Currently xAlign property for tooltip has three different variables: left, right and center. But such realisation is not very flexible and gives little control on tooltip allignment.
Current Behavior
Currently with this config I can make tooltip to align automatically:
tooltips: {                     mode: 'index',                     intersect: false,                     yAlign: 'center',                    ... }
But when tooltip as xAlign-ed to center it covers the current data points beneath it so they are not visible. It's not very handy, because I want to see the points position that I have selected.

Current options for xAlign - left and right stick the position of the tooltip, but it becomes cropped if hovered on left- or right-most parts of the canvas.
Expected Behavior
It would be better if tooltip had more adjustable alignment facility so that selected points were not hidden by the tooltip and were positioned whether to right or to left from the selected data points if area of chart allows it.
Possible Solution
The more or less working solution I've found so far is   this on SO . But those guys suggest total copy-paste from chart.js tooltip source and monkey-patch it through plugin system, which needs a lot code duplication - only to alter the determineAlignment function I need to fetch all tooltip's code.
Possible solutions can be

Allow to modify determineAlignment  function with chart.js options API
Adding additional xAlign variants like floatLeft and floatRight to suggest the tooltip on how to align oneself, and if it's not possible to align left or rigth without cropping it - than alignment goes on auto mode (as it's now)

Any comments are valueable, thank you!

Please relate if this feature could be useful - I can contribute and make a PR, but I want to be sure I am not the only guy who found this feature reasonable or at least not a fiddle-faddle :)

You are not the only guy. The way how modules are written is not flexible at all. There is number of scoped functions that cannot be used or overriden from outside. This is fast (not bullet-proof) monkey-patch to override two-line function fillLineOfText . :(
function getAlignedX(vm, align) {
	return align === 'center'
		? vm.x + vm.width / 2
		: align === 'right'
			? vm.x + vm.width - vm.xPadding
			: vm.x + vm.xPadding;
}

Chart.Tooltip.prototype.drawBody = function(pt, vm, ctx) {
  var bodyFontSize = vm.bodyFontSize;
  var bodySpacing = vm.bodySpacing;
  var bodyAlign = vm._bodyAlign;
  var body = vm.body;
  var drawColorBoxes = vm.displayColors;
  var labelColors = vm.labelColors;
  var xLinePadding = 0;
  var colorX = drawColorBoxes ? getAlignedX(vm, 'left') : 0;
  var textColor;

  ctx.textAlign = bodyAlign;
  ctx.textBaseline = 'top';
  ctx.font = Chart.helpers.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);

  pt.x = getAlignedX(vm, bodyAlign);

  // Before Body
  var fillLineOfText = function(line) {
    if (bodyAlign == 'left') {
      let cols = line.split(':');
      line = cols.slice(0, cols.length-1).join(':') + ':';
      let rightText = cols.slice(-1);
      ctx.textAlign = 'right';
      let x = getAlignedX(vm, 'right');
      ctx.fillText(rightText, x, pt.y);
      ctx.textAlign = 'left';
    }
    ctx.fillText(line, pt.x + xLinePadding, pt.y);
    pt.y += bodyFontSize + bodySpacing;
  };

  // Before body lines
  ctx.fillStyle = vm.bodyFontColor;
  Chart.helpers.each(vm.beforeBody, fillLineOfText);

  xLinePadding = drawColorBoxes && bodyAlign !== 'right'
    ? bodyAlign === 'center' ? (bodyFontSize / 2 + 1) : (bodyFontSize + 2)
  : 0;

  // Draw body lines now
  Chart.helpers.each(body, function(bodyItem, i) {
    textColor = vm.labelTextColors[i];
    ctx.fillStyle = textColor;
    Chart.helpers.each(bodyItem.before, fillLineOfText);

    Chart.helpers.each(bodyItem.lines, function(line) {
      // Draw Legend-like boxes if needed
      if (drawColorBoxes) {
        // Fill a white rect so that colours merge nicely if the opacity is < 1
        ctx.fillStyle = vm.legendColorBackground;
        ctx.fillRect(colorX, pt.y, bodyFontSize, bodyFontSize);

        // Border
        ctx.lineWidth = 1;
        ctx.strokeStyle = labelColors[i].borderColor;
        ctx.strokeRect(colorX, pt.y, bodyFontSize, bodyFontSize);

        // Inner square
        ctx.fillStyle = labelColors[i].backgroundColor;
        ctx.fillRect(colorX + 1, pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);
        ctx.fillStyle = textColor;
      }

      fillLineOfText(line);
    });

    Chart.helpers.each(bodyItem.after, fillLineOfText);
  });

  // Reset back to 0 for after body
  xLinePadding = 0;

  // After body lines
  Chart.helpers.each(vm.afterBody, fillLineOfText);
  pt.y -= bodySpacing; // Remove last body spacing
}

Fiddle


[PY] refactoring - move devices-related functions from tvm.runtime.ndarray

Hello,
I'm not sure whether it needs RFC, but it was little messy in python runtime code (related to my answer, not main thread in this post https://discuss.tvm.apache.org/t/pre-rfc-more-meaningful-names-in-rpc-module-in-python/12618). I have moved device, cpu, cuda, gpu, opencl, cl, vulkan, metal, mtl, vpi, rocm, ext_dev functions from tvm.runtime.ndarray to tvm.runtime.devices and reimported them in tvm.runtime, so we can use following statement:
import tvm.runtime
runtime.cpu(0)

In previous version there was mix of following:
import tvm
tvm.cpu()

from tvm.runtime import ndarray as _nd
_nd.cuda(0)

Thanks @pfk-beta , the original rationale was that device is closely coupled with ndarray itself(as ndarray is the only places that device get allocated).
Re-exposing the devices under tvm.runtime namespace would indeed be a readability improvement. From UX's pov we intentionally expose tvm.cpu/tvm.cuda not for internal development but for users, so we would like to keep those exposures to avoid API breaking.
For the same reason(although weaker as there are less usages here), we would like to keep nd.device usages when possible. Personally i think putting devices definition as separate file or in ndarray do not have a big difference, although in this case it does bring a minor readability gain.
One simple approach is to re-expose nd.cpu etc in the runtime namespace, and use runtime.device in most of the places you mention.  This would be the least surgical change while retains the readability part.

Re-exposing the devices under tvm.runtime namespace

You mean devices - functions, not module which I created, right? They were already exposed, I just standrized imports and usage of them. Even python api documentation list these functions in tvm.runtime (https://tvm.apache.org/docs/reference/api/python/runtime.html)

From UX's pov we intentionally expose tvm.cpu/tvm.cuda not for internal development but for users, so we would like to keep those exposures to avoid API breaking.

That is why, I didn't remove devices functions from top tvm module. I think we should put this informations in guideline for python developers, which want to contribute to TVM. Because I refactored mix of usage, and I don't want do this again :) Is there such guideline, or should we create one?

Thanks @pfk-beta . I agree this is a positive change towards readability. Please check the linter error(all new files needs ASF header). The overall convention of using tvm.runtime.device sounds good. Although I do not think we should prevent developers from using tvm.device itself as this is also what intended for the users

Although I do not think we should prevent developers from using tvm.device itself as this is also what intended for the users

To clarify, you mean using tvm.device.cuda or tvm.cuda?


Small nit as Kindle, and Kobos support epub formats

This is not correct, see https://standardebooks.org/help/how-to-use-our-ebooks#kindle-epub


Powerbiembedded

Coverage decreased (-0.06%) to 41.839% when pulling d95f5ffcb578e3a0bd3998d6a3cbb2116061e767 on lmazuel:powerbiembedded into 08719af5dafa64026bd7f152a615e1c8fbc02b2f on Azure:dev.


i18n(zh-cn): Update integrations-guide/index.mdx

Description (required)
Update integrations-guide/index.mdx
Related issues & labels (optional)

#10448
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

zh-cn/guides/integrations-guide/index.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Add graphic for hospitalNotification H_V_6 usecase - Correction

ATT: add timestamps and reference MedComCorePractitioner and MedComCorePractitionerRole

is handled


Debugging in VS Code

This is only documentation about Debugging in VS Code for Vue CLI & webpack. Please adding the vite alternatives. Currtly, we only debug by console.log. which is very ugly. we don't know how to set break points and debug in code editor?

Refer：https://github.com/vitejs/vite/blob/main/.github/contributing.md#repo-setup
After vite is set to globally, you can breakpoint debugging on the source code.

Hi,
I'm still not very clear about it. What i mean is to set breakpoints and debug my own project rather than vite itself.

Hi,
How to debug project created with vite?

Hi,
@ygj6,How to debug project created with vite?What i mean is to set breakpoints and debug the project created by vite rather than vite itself.

@softboy99 please avoid sending multiple messages to an issue. I'll move this to a GitHub Discussion, and you can also join the chat at Vite Land to ask questions.
You can also check this article, that will guide you through the process https://maximomussini.com/posts/debugging-javascript-libraries/


Feito

This pull request includes significant changes to the 21.css, intex.html, mediaqueries.css, and style.css files to update the design and content of the webpage. The changes focus on updating colors, modifying text content, and enhancing the structure of the HTML.
Design and Color Updates:

Changed the border, background color, and text color in various CSS classes from green and black to blue and white in 21.css, mediaqueries.css, and style.css files. This includes .text-first a, .text-sev, .text-rd, and other similar classes. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]

Content Updates:

Updated the title of the webpage from "Trade-page" to "Jakamba Academy" in intex.html.
Changed the main image and text content to focus on Forex Trading instead of Smart Money in intex.html. This includes updating image sources, section headings, and descriptive text. [1] [2] [3] [4] [5] [6] [7]

Structural Enhancements:

Added a new section to highlight the unique aspects of the Forex Trading course and removed redundant sections in intex.html.
Simplified the HTML structure by removing unnecessary nested elements and improving the readability of the code in intex.html. [1] [2] [3] [4] [5]

O código ficou mais visível, o site está muito bem apresentado


SAK-29052 - Assign/Lesson prereq, group creation issue

There were only 2 lines added, the check for "if (_checkGroup.getProperties().get("lessonbuilder_ref") == null) {"
and the closing brace.  Because of the indentations it is showing up in diff as a larger change.

Don't merge.  This created more problems than the original issue it was meant to solve.


KNOX-1744 - Add rewrite rules to fix executor stdout/stderr links in Spark History Server UI

Testing Done:
Deployed on a cluster with Knox and ensured that the URLs are rewritten

@moresandeep


update(RayGun): Send files from both sources in same message

What this PR does 📖
1. Now is possible to select files from Storage and from Local Disk and send them on same message
https://github.com/Satellite-im/Uplink/assets/63157656/421f9cb1-2ea7-4209-80de-bc5e3db52787
Which issue(s) this PR fixes 🔨

Resolve #1172

Special notes for reviewers 🗒
Additional comments 🎤
This PR need to await merge from #1168 and #1175

Blocked until #1175 is merged

Looks like there is an issue when compiling on MacOS and Windows. I saw from comments above that this ticket is blocked so probably this is expected to happen at this moment:

Looks like there is an issue when compiling on MacOS and Windows. I saw from comments above that this ticket is blocked so probably this is expected to happen at this moment:

Thats not OS related but was related to a it being mapped to a Option<_> instead of filtered using filter_map as well as due to the reference from Location::Disk not being cloned. I pushed a quick fix for that

all the above was tested in macOS, m1

linter is failing 🔨

when you have no files in files appears like this maybe we could add a message saying ''no files available'' or something

clicking on home and go to files button doesn't do anything
macOS, m1
these still happens with the latest

but not against fixing them in other PR

linter is failing 🔨

lucas and i spoke in discord 🔨

when you have no files in files appears like this maybe we could add a message saying ''no files available'' or something

clicking on home and go to files button doesn't do anything
macOS, m1
these still happens with the latest

@stavares843 I understood first problem. This I think we can for a next PR.
But second one I think it is a bug but I didn't understand, can you explain me better?

I think she means to say that shes already at home so when clicking home it doesn't do anything, maybe we should disable the home button when we're already at the home / root level?


Subnav responsiveness quickfix

…pear on windows machines unless content overflows
JIRA

https://lobsters.atlassian.net/browse/DANG-455

Description

This relates to a prior PR, which has already been merged https://github.com/lob/ui-components/pull/198.
The problem: on Window's machines the x scrollbar was showing even when content was not overflowing, and this was ugly.
The solution: changed overflow-x-scroll to overflow-x-auto so bar only shows when there is actually content to scroll.

Reviewer Checklist
This section is to be filled out by reviewers
Testing

[ ] This code was tested by somebody other than the developer. Do not merge until this has been done.

sorry for not realizing this yesterday!


Performing inference with CPU

thanks for your code!
I have two questions:

Its possible to perform inference just with CPU?
Why in the inference process the support images are also used.
In the code the outputs are:
outputs = model(img, supp_class_ids=support_class_ids_final, category_codes=all_category_codes_final)
its necessary the arguments supp_class_ids and category_codes.?

No, the codebase does not support that. But I think it should be pretty easy to implement that by yourself.

Because for inference, we still need prototypes for all classes. During inference, all_category_codes_final are computed by averaging all support instances for each of the given class.


about update to latest, which picolibc in project tree

Hi,
The project which I test is mnv2_first. the build command is as following.
source /opt/Xilinx/Vivado/2020.1/settings64.sh
make V=1
PLATFORM=common_soc
TARGET=qmtech_wukong
USE_VIVADO=1
UART_SPEED=3000000
TTY=/dev/ttyUSB0
USE_VIDEO_FRAMEBUFFER=1
IGNORE_TIMING=0
bitstream prog load
After update to picolibc, the error which show is console.h, uart.h.
these errors could be add "-I$(SRC_DIR)/playground_util" and
"-I$(LITEX_HW_DIR)/base" in SHARED_FLAGS of common/Makefile.
the error follow the makefile update is as below.
opt/CFU-Playground/proj/mnv2_first/build/src/stdio.c: In function 'readchar':
/opt/CFU-Playground/proj/mnv2_first/build/src/stdio.c:30:17: error: implicit declaration of function 'getchar' [-Werror=implicit-function-declaration]
30 |   return (char) getchar();
|                 ^~~~~~~
/opt/CFU-Playground/proj/mnv2_first/build/src/stdio.c:18:1: note: 'getchar' is defined in header '<stdio.h>'; did you forget to '#include <stdio.h>'?
17 | #include <stdio.h>
+++ |+#include <stdio.h>
18 |
cc1: all warnings being treated as errors
Does any one meet the following error after update to picolibc?
BR, Akio

@akioolin , thank you for writing up the issue.
I have not been able to reproduce a problem using your command, but let's figure out what is causing the error that you see.
Let's start with some simple things to check:

Try running  ./scripts/setup again
In the command above, change bitstream prog load to clean bitstream prog load to make sure we're not mixing old and new files in the build directories.

Another thing to check is the RISC-V toolchain.  Which are you using?   I tested with
riscv64-unknown-elf-gcc (SiFive GCC 8.3.0-2020.04.1) 8.3.0

Thanks,
Tim

Hi, Tim:
Many Thanks. after doing what Tim said, the errors is gone.
the gcc which I used is SiFive GCC 10.1.0-2020.08.2.
this version of GCC is work fine for me.
I think the root cause is the version of third_party package doesn't update.
BR, Akio


(feat): read_elem_as_dask method

My thinking in terms of the naming for this would be to use this for xarray as well but we don't have to.

[x] Closes #1430 and closes #1105 via our careful handling of the file descriptor
[x] Tests added
[ ] Release note added (or unnecessary)

One thought: should there be options for read_elem_as_dask? Like chunk_size or so?

That's a good point.  I will think on this a bit.  What we have now is fairly geared towards one type of chunking.  So maybe stride should be exported, but not sure the best way to do it, and I am not sure just allowing kwargs on read_elem_as_dask is the way to go

I am not sure just allowing kwargs on read_elem_as_dask is the way to go

yeah, I’ve gone away from that. Having a <thing>_kwargs: SomeTypedDict parameter works in some cases, but just doing things manually is often best.

I think I have a clearer idea of how this should work.

I actually do not have a clear idea of how to do this.  I didn't realize read_elem doesn't take any kwargs - I was confusing that with read_elem_partial.  We'd have to change all of the reader functions to accept some sort of kwargs.  I could see us going down the path of dataset_kwargs for write_elem but I don't know if that's really a successful model: https://github.com/scverse/anndata/issues/523 is still an open issue.

Adding dataset_kwargs also constitutes a breaking change because of callback for the experimental read_dispatched...although not sure how strice we are about this

Doesn’t need to be breaking, we can use inspect to check if the callback supports the argument and only pass it in if it does.

I don't love passing dataset_kwargs as the way to specify chunks. dataset_kwargs in write_elem is generally splatted right into create_dataset, while the argument here is not doing that. I think a read_elem_as_dask just having an chunks keyword argument could be nicer.

The question for me then is (a) whether we are prepared to go forward with an API that might have increasing number of arguments and (b) whether it makes sense to special-case this function in the Reader code.  The argument has to go through there and there is currently no mechanism is Reader.read_elem for this.

The only thing I'm unsure of is the discovery of dataset_kwargs in the callback since the typing on callback suggests it should be all positional https://github.com/scverse/anndata/blob/main/src/anndata/experimental/_dispatch_io.py#L15 i.e., maybe we should just check for the length of the args instead of name?

(a) whether we are prepared to go forward with an API that might have increasing number of arguments

So long as it's exported from experimental, yes. I think a meta argument would also make sense here.

So we could leave the dataset_kwargs as-is elsewhere and then make chunks only for read_elem_as_dask

That's what I was thinking

The only thing I'm unsure of is the discovery of dataset_kwargs in the callback

Yeah. I think we can skip thinking about this a bit here since none of these calls are recursive, right?

The only thing I'm unsure of is the discovery of dataset_kwargs in the callback since the typing on callback suggests it should be all positional

It’s simply that Python typing is sadly too primitive to reflect named arguments.
As a rule of thumb, most functions should have 0-2 positional arguments, some 3, and almost none 4.

As a rule of thumb, most functions should have 0-2 positional arguments, some 3, and almost none 4. Ideally that’s enforced by using * (and /)

Right I agree, but my python was marginal when I wrote this.  So there is no real API except that purely positional type hint.  What do we think should be done?

I would be in favor of making everything positional except dataset_kwargs and then making this very clear in the docs.  I don't consider this breaking because (a) it's experimental and (b) we (I) never made this clear in the first place.

maybe define that call protocol and use it. Something like this, but I’m not sure about the iospec thing, I think that’s not part of the public API.
from typing import Protocol, TypedDict

class DatasetKwargs(TypedDict, total=False):
    chunks: tuple[int, ...]

def WriterCallback(Protocol):
    def __call__(
        self,
        write_func: Callable[[StorageType, str, Any], None],
        store: GroupStorageType,
        key: str,
        elem: Any,
        *,
        dataset_kwargs: DatasetKwargs = ...,
        iospec: IOSpec = ...,
   ) -> None: ...

maybe define that call protocol and use it

Yup

Something like this, but I’m not sure about the iospec thing, I think that’s not part of the public API.

That's a good point.  We should probably export it from experimental then as well.  I can do this in a separate PR along with the protocol then

I just checked, the iospec parameter is part of the public API of the callback.

I though you were referring to the object IOSpec itself so people could type-hint and/or inspect its contents to know what to do with it.

That too of course! If it‘s part of a public API, it needs to be public.

@flying-sheep If you know of a place where we have everything that can be stuck in an AnnData object listed, please share.  Typing write_func or read_func without Any would require this, but we can also just leave Any.  I'll proceed with Any but that might not be such a bad thing to have anyway lying around.

@flying-sheep If you know of a place where we have everything that can be stuck in an AnnData object listed, please share. Typing write_func or read_func without Any would require this, but we can also just leave Any. I'll proceed with Any but that might not be such a bad thing to have anyway lying around.

Maybe not, could possibly get away with generics...

If it works, sure! If not, Any is acceptable when gradually adding type info. When you don’t know the type of an existing API, it’s too much to ask to go on a wild goose chase for it.
On the other hand when I’m writing completely new APIs I’m supposed to know the actual type, so if I added Any, it would be out of lazyness or because I wouldn’t know what I’m doing.

just not using the dispatch system for read_as_dask? There's no need for it to support recursion or callbacks since it can only be used on the sparse and dense arrays.
Subclassing the Reader with DaskReader which allows extra arguments to it's methods?

Marvelous idea

OK now I’m done lol


Removed discovery env-vars.

These env-vars are now auto-generated by fab and catapult.
This PR was assigned somewhat randomly.  Feel free to re-assign.
https://clever.atlassian.net/browse/INFRA-1554
https://github.com/Clever/salt/pull/1773

lgtm


ASP.NET Core Routing Support

I am closing this one and will pick it up later once we have finished the execution engine.


Windows support

Would be nice if this would officially support Windows. So far, there's only a release for "desktop Linux" and "Raspberry Pi 4", not for Windows.

I've started working on a Rust version that I hope will make supporting Windows easier. If you have any C++ experience on Windows, any tips would be appreciated.

Well I need this as a library in my C++ program, so I certainly like this being C++ more than Rust ;)
Windows support should be easy, should be just a matter of using cmake to generate Visual Studio project files.

The only two dependencies are espeak-ng and the onnxruntime, so the Visual Studio Project could probably be created by hand pretty easily. It's been so many years that I wouldn't know where to start anymore :smile:

You could try WSL or Docker.

Windows support is still a work in progress

so ive got this working in WSL for windows.
C:\Windows\System32>wsl --version
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>-1
WSLg version: 1.0.65
MSRDC version: 1.2.5620
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.22621.3374

i have a RTX 4060 laptop GPU 8GB VRAM
64GB RAM
Ryzen 7 7840hs
CPU will train 1 x epoch in approximately 51 secs
GPU will train 1 x epoch in approximately 26 secs
im still tweaking some things to streamline an install on windows, as there were many moving parts so to speak,
but ive got it fully working, so it can be done, and when it works, its pretty sweet.
so i'll re-post a link shortly
as i've included troubleshooting all the various warning messages as well, which most tutorials skip over,
and ive tweaked some of the pytorch lightning .py files to include timestamps during training to make the output more readable.
~

INSTALL WSL

Open CMD, as administrator, and type:

wsl --install Ubuntu-22.04

Create a User and Password

Test WSL by running this command:

wsl --version

should return a WSL version thats 2.0 or higher (WSL 1.0 wont work for this)
Example output:
WSL version: <IP_ADDRESS>        <<<<< Higher than 2.0, we're good
Kernel version: <IP_ADDRESS>-1
WSLg version: 1.0.65
MSRDC version: 1.2.5620
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.22621.3374

run this command to update Ubuntu

sudo apt update

.
.
.
.

INSTALL CUDA TOOLKIT

install the Cuda Tool Kit within the WSL

sudo apt install cuda-toolkit-11-8

.
.
.
.
INSTALL PIPER TTS & PIPER-TRAIN

firstly, make sure you're at your root directory with this command

cd ~

create a new directory, such as "training"

mkdir training

navigate into the new directory

cd training

download piper tts (which includes the piper-train as well)

git clone https://github.comrhasspy/piper.git

create a virtual environment

python3 -m venv .venv

activate the virtual environment

source .venv/bin/activate

install specific version of pip

python3 -m pip install pip==23.3.1

install specific version of numpy 1.24.4

python3 -m pip install numpy==1.24.4

navigate into the piper src folder

cd ~/traning/piper/src/python

backup the existing requirements, and replace them with these:

pip==23.3.1
numpy==1.24.4
torchmetrics==0.11.4
wheel==0.45.1
setuptools==75.6.0
cython>=0.29.0,<1
librosa>=0.9.2,<1
piper-phonemize==1.1.0
onnxruntime>=1.11.0
pytorch-lightning==1.9.0
onnx

install the requirements

pip3 install -e .

install specific torch cuda version

pip install torch==2.0.0+cu118 torchaudio==2.0.0 -f https://download.pytorch.org/whl/torch_stable.html

hopefully, your pip list should look like this:

absl-py                  2.1.0
aiohappyeyeballs         2.4.3
aiohttp                  3.11.7
aiosignal                1.3.1
async-timeout            5.0.1
attrs                    24.2.0
audioread                3.0.1
certifi                  2024.8.30
cffi                     1.17.1
charset-normalizer       3.4.0
cmake                    3.31.1
coloredlogs              15.0.1
Cython                   0.29.37
decorator                5.1.1
filelock                 3.16.1
flatbuffers              24.3.25
frozenlist               1.5.0
fsspec                   2024.10.0
grpcio                   1.68.0
humanfriendly            10.0
idna                     3.10
Jinja2                   3.1.4
joblib                   1.4.2
lazy_loader              0.4
librosa                  0.10.2.post1
lightning-utilities      0.11.9
lit                      18.1.8
llvmlite                 0.43.0
Markdown                 3.7
MarkupSafe               3.0.2
mpmath                   1.3.0
msgpack                  1.1.0
multidict                6.1.0
networkx                 3.4.2
numba                    0.60.0
numpy                    1.24.4
nvidia-cublas-cu11       <IP_ADDRESS>
nvidia-cublas-cu12       <IP_ADDRESS>
nvidia-cuda-cupti-cu11   11.8.87
nvidia-cuda-cupti-cu12   12.4.127
nvidia-cuda-nvrtc-cu11   11.8.89
nvidia-cuda-nvrtc-cu12   12.4.127
nvidia-cuda-runtime-cu11 11.8.89
nvidia-cuda-runtime-cu12 12.4.127
nvidia-cudnn-cu11        <IP_ADDRESS>
nvidia-cudnn-cu12        <IP_ADDRESS>
nvidia-cufft-cu11        <IP_ADDRESS>
nvidia-cufft-cu12        <IP_ADDRESS>
nvidia-curand-cu11       <IP_ADDRESS>
nvidia-curand-cu12       <IP_ADDRESS>
nvidia-cusolver-cu11     <IP_ADDRESS>
nvidia-cusolver-cu12     <IP_ADDRESS>
nvidia-cusparse-cu11     <IP_ADDRESS>
nvidia-cusparse-cu12     <IP_ADDRESS>
nvidia-nccl-cu11         2.21.5
nvidia-nccl-cu12         2.21.5
nvidia-nvjitlink-cu12    12.4.127
nvidia-nvtx-cu11         11.8.86
nvidia-nvtx-cu12         12.4.127
onnx                     1.17.0
onnxruntime              1.20.1
packaging                24.2
pillow                   10.2.0
pip                      23.3.1
piper-phonemize          1.1.0
piper_train              1.0.0        /home/turner/PiperTTS/src/python
platformdirs             4.3.6
pooch                    1.8.2
propcache                0.2.0
protobuf                 5.28.3
pycparser                2.22
pyDeprecate              0.3.2
pytorch-lightning        1.9.5
PyYAML                   6.0.2
requests                 2.32.3
scikit-learn             1.5.2
scipy                    1.14.1
setuptools               75.6.0
six                      1.16.0
soundfile                0.12.1
soxr                     0.5.0.post1
sympy                    1.13.1
tensorboard              2.18.0
tensorboard-data-server  0.7.2
threadpoolctl            3.5.0
torch                    2.0.0+cu118
torchaudio               2.0.0+cu118
torchmetrics             0.11.4
tqdm                     4.67.0
triton                   2.0.0
typing_extensions        4.12.2
urllib3                  2.2.3
Werkzeug                 3.1.3
wheel                    0.45.1
yarl                     1.18.0

you can run this script to confirm your cuda version within your VENV

import torch
import os

def print_cuda_details():
    if torch.cuda.is_available():
        # GPU device details
        device_id = torch.cuda.current_device()
        device_name = torch.cuda.get_device_name(device_id)
        total_memory = torch.cuda.get_device_properties(device_id).total_memory / (1024**3)  # GB
        memory_allocated = torch.cuda.memory_allocated(device_id) / (1024**3)  # GB
        memory_cached = torch.cuda.memory_reserved(device_id) / (1024**3)  # GB
        multiprocessors = torch.cuda.get_device_properties(device_id).multi_processor_count

        # CUDA and PyTorch versions
        cuda_version = torch.version.cuda
        pytorch_version = torch.__version__

        # Device properties
        device_properties = torch.cuda.get_device_properties(device_id)
        compute_capability = device_properties.major, device_properties.minor

        # Display the details with improved formatting
        print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
        print(f"")
        print("Checking CUDA information within the python environment...")
        print(f"")

        print("###########################################################")
        print(f"CUDA Available:         TRUE")
        print(f"Using GPU:              {device_name}")
        print("###########################################################")
        print(f"")

        print(f"CUDA Version:           {cuda_version}")
        print(f"PyTorch Version:        {pytorch_version}")
        print(f"Device ID:              {device_id}")
        print(f"Total Memory:           {total_memory:.2f} GB")
        print(f"Memory Allocated:       {memory_allocated:.2f} GB")
        print(f"Memory Cached:          {memory_cached:.2f} GB")
        print(f"Multiprocessors:        {multiprocessors}")
        print(f"Compute Capability:     {compute_capability[0]}.{compute_capability[1]}")
        print(f"")

        # Device Name
        print(f"CUDA Device Name:       {torch.cuda.get_device_name(device_id)}")
        print(f"")

        # CUDA Path (from environment variables)
        cuda_path = os.getenv('CUDA_PATH', 'Not set')
        print(f"CUDA Path:              {cuda_path}")

        # CUDA Toolkit Directory (check via environment variable if available)
        cuda_toolkit_dir = os.getenv('CUDA_HOME', 'Not set')
        print(f"CUDA Toolkit Dir:       {cuda_toolkit_dir}")

        # Environment Variables
        print(f"\n")
        print("=================================================")
        print("--- Below are OS SYSTEM Environment Variables ---")
        print(" not just whats available within the python VENV")
        print("=================================================")
        print(f"")

        print(f"{'CUDA_HOME:':<25} {os.environ.get('CUDA_HOME', 'Not set')}")
        print(f"")

        print(f"{'CUDA_VISIBLE_DEVICES:':<25} {os.environ.get('CUDA_VISIBLE_DEVICES', 'Not set')}")
        print(f"")

        print(f"{'LD_LIBRARY_PATH:':<25} {os.environ.get('LD_LIBRARY_PATH', 'Not set')}")
        print(f"")

        print(f"{'PATH:':<25} {os.environ.get('PATH', 'Not set')}")
        print(f"")

        print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    else:
        print("##############################################################")
        print("CUDA is NOT available! You may need to reinstall Pytorch/Torch")
        print("Falling back to using CPU.")
        print("##############################################################")
        print(f"")

        # Provide details for CPU-based configurations
        print(f"PyTorch Version:        {torch.__version__}")
        print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")

# Call the function to print details
print_cuda_details()

which outputs this
Checking CUDA information within the python environment...

CUDA Available:         TRUE
Using GPU:              NVIDIA GeForce RTX 4060 Laptop GPU

CUDA Version:           11.8
PyTorch Version:        2.0.0+cu118
Device ID:              0
Total Memory:           8.00 GB
Memory Allocated:       0.00 GB
Memory Cached:          0.00 GB
Multiprocessors:        24
Compute Capability:     8.9

you should still be in the "/traning/piper/src/python" folder,
if not, change to it:

cd ~/traning/piper/src/python

run the build_monotonic_align.sh script

./build_monotonic_align.sh

./build_monotonic_align.sh fails:
/home/wilbur/bin/pipertrain/piper/src/python/piper_train/vits/monotonic_align/core.c:18:10: fatal error: Python.h: No such file or directory
   18 | #include "Python.h"
      |          ^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1


Mac MPS FP16 fixes

This PR is to allow FP16 precision to work on Macs with MPS. In addition, it centralizes the torch fixes/workarounds required for MPS into a new backend utility mps_fixes.py. This is conditionally imported in api_app.py/cli_app.py.
Many MANY thanks to @StAlKeR7779 for patiently working to debug and fix these issues.

Thanks for working on this! I'm looking forward to generating my my m1.
Are the methods patched totally nonfunctional on mps, or just didn't fully work for what invoke does?
My concern is that we alter some functionality in a dependency by monkeypatching torch.
Would it be feasible to have an mps_fixes module that exports wrappers for each of these torch functions, and we use those wrapper torch functions instead?
I wonder if this could be implemented as a @mps_compat decorator… that'd be a very clean way to handle it. It's opt-in and explicit instead of non-negotiable and invisible, and still easy to rip out once the root causes in torch are addressed.

Thanks! The methods patched are non-functional in FP16 precision on MPS at the very least, and yeah I'd love any ideas to minimize future work to remove these as they become no longer necessary. We did initially have a decorator func to do the wrapping but there were some concerns there, but it sounds like your idea is better than what we had, too.

@StAlKeR7779 has a good point (in our chat) - the effect of the monkey-patching on any dependencies who use torch, is that torch works for them on MPS, so my concern is actually a good thing :)


Support Private Helm repositories

Is your feature request related to a problem? Please describe.
Currently we are developing integrations with cloud native services (eg: gcp cloud storage, gcp cloud database...), in order to have these services available on epinio service catalog.
As these helm-charts can contain some private data, we must use private helm repositories.
Describe the solution you'd like
Make epinio support private helm repositories.
Additional context

GKE standard v1.25.
Epinio 1.8.0
Using GKE Workload Identity

Even setting up the epinio-server ServiceAccount with Artifact Registry Reader permission, we receive an error when we set the Artifact Registry privately:
❌  error creating service: service create failed: Internal Server Error: error deploying service helm chart: failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden
To allow helm pull chart from private repo, we must run helm registry login before try to install it.
Here is the options available for helm login on GCP Artifact Registry
To reproduce

Store a helm-chart on a private repo
Add the service on epinio catalog
Try to create the service (epinio service create....)

Looking at the helm-client (https://github.com/mittwald/go-helm-client), it already supports private helm-charts.
As a suggestion, one possible solution can be add a new parameter on the epinio service definition (secret) where it points to a k8s secret.
apiVersion: application.epinio.io/v1
kind: Service
....
spec:
  ....
  helmRepo:
    name: orbit-service-chart
    url: https://orbit-service-chart.s3.amazonaws.com
    secret: K8S_SECRET_NAME
 ...


port zero-cost-rescript example

There are some breaking changes when porting over https://github.com/bobzhang/zero-cost-rescript from reason-react.
Good data points for some legacy api usage (also good for writing migration guide).

done in that repo

Closing this issue, as it is about the past transition from reason-react to @rescript/react that happened 1 1/2 years ago.


when i finished training the cuda mem is stilled occupied  , how to free the mem?

This is for bugs only
Did you already ask in the discord?
Yes/No
You verified that this is a bug and not a feature request or question by asking in the discord?
Yes/No
Describe the bug

I have the same problem. The cleanup() doesn't clean the memory:
https://github.com/ostris/ai-toolkit/blob/58f9d01c2bd7edfb5de0ff61dd564481705cdb89/toolkit/job.py#L44
I have added:
del job.process
del job
gc.collect()
torch.cuda.empty_cache()
reducing the memory but I still have some memory leak.
Another memory problem I have is that I try to make two trainings in parallel using two gpus, but the one using cuda:1 always use some memory in cuda:0 when executing the line:
https://github.com/ostris/ai-toolkit/blob/58f9d01c2bd7edfb5de0ff61dd564481705cdb89/extensions_built_in/sd_trainer/SDTrainer.py#L1635
I suspect the problem is with the bitsandbytes optimizer although I'm not sure.


Magic pod 0.54.1

There is already another step named "Magic Pod UI test", but we'd like to add drastic change to input parameters and cannot keep backward compatibility. So we will announce the existing step as deprecated (I will submit another PR).
What to do if the build fails?
At the moment contributors do not have access to the CI workflow triggered by StepLib PRs. In case of a failed build, we ask for your patience. Maintainers of Bitrise Steplib will sort it out for you or inform you if any further action is needed.
New Pull Request Checklist
Please mark the points which you did / accept.

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

New Step
Thank you for the new Step share! The CI check might will fail due to our extended validation engine. Nothing to worry about yet, we will get back to you shortly.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

CI check looks failed.  Can we have any information about the failure?

The issue is that you need to create a step-info.yml file with maintainer: community. Here's an example from when I did this in my step: https://github.com/non-binary/bitrise-steplib/commit/cc28eab3890019f55517006d36c232fac2c391b4.

Thank you, updated.  But there is still a problem?

I had to trigger the build from the API (I am a bitrise employee). It now returned green. :)


Closes #6037, fixing FreeBSD compilation

See https://github.com/numba/numba/issues/6037

@esc hey, here's another small change, for FreeBSD compatibility. This time, without build errors. I'll have to use my fork again until this gets merged.

@karolyi thank you very much, I have added it to the queue for review.

@karolyi Congratulations on your first contribution to Numba!


Fix build issues

Issue addressed
Fixes #124
Explanation
Scripting
Checklist

[ ] Updated tests or added new tests
[ ] Branch is up to date with master
[ ] Tests & pre-commit hooks pass
[ ] Updated documentation if needed

Additional Notes (optional)
No.

@Jaapel, Thanks for laying the groundwork. I copied some stuff out of your PR #126 and added it here. I made a separate PR as I really tried to uniformly understand what happened and how to solve it (e.g. with the env variables of gdal).


Option to rotate through soundtracks

i.e. if it's 4:00pm play the 4:00 song from Animal Crossing, then Wild World, then New Leaf, then loop.
It would keep it from getting quite so repetitive.

I love this idea, but I feel like it might work better if it switches every 10 minutes or so - doing it each song would probably have the same jarring effect that looping without loop points does.

yeah good call. low priority anyway

Is this feature request something we should implement? I'm not that sure about its usefulness, but it's not  a hard opinion.

This has been a request from various reviewers of the extension, and honestly myself too.

In that case let's go for it! What about letting users select # of loops before changing to a different game music. Or would that be too obscure for them?

I'd say we aim to maximise customizability and freedom, so yeah why not.


Talao wallet (prod) : email pass and email proof does not work (universal link)

Does not work.
"Talao wallet is not installed on your device" for both IOS and Android
https://app.talao.co/app/download


Node version (<IP_ADDRESS>) flagged as vulnerability

The latest version of the pipeline agent comes with Node v<IP_ADDRESS> in the externals/node directory. This is getting flagged by our vulnerability reporting tool. Are there plans to update the node version to the latest version? Is there any harm in removing the externals/node folder?

Hi @craigeaw there are plans to gradually migrate node version, but it could take some time since it depends on tasks migration https://github.com/microsoft/azure-pipelines-tasks/issues/15183
If you are not using tasks which are still not migrated to Node 10 - I believe it's fine to remove this node version from externals, probably the better option would be just use 'Alternate Agent Downloads' from agent release page which don't have node 6.

@anatolybolshakov this is good info, thank you! I didn't see the alternate agent downloads before. I think that should satisfy our needs for now.


Handle AdvertiseBlock in Inbound service

Is your feature request related to a problem? Please describe.
The inbound network service should handle AdvertiseBlock messages.
Describe the solution you'd like

[ ] Clone handles for the outbound network and the chain verifier to be moved into the response future;
[ ] Download and verify the advertised block;

Describe alternatives you've considered
The procedure above exposes us to a DoS risk, because we blindly download an entire block whenever anyone tells us to.  This is in contrast to the sync process, where we generally download blocks from different peers than the ones who told us about them.
After the first alpha release, we should:

[ ] Download only the block header;
[ ] Pre-verify the proof of work in the block header;
[ ] If successful, download and verify the full block.

This is more effort because we need to have a way to pre-verify the proof of work, which requires additional verification plumbing.  So we should do this better alternative after we get something working.
Additional context
Part of #889.

On a little further reflection, the request processing design we use helps us a little bit with DoS resistance.
How? Well, recall that each peer connection is handled in a separate task.  This task waits for messages to arrive, tries to interpret them as a response to a previous outbound request, or otherwise tries to interpret them as a new inbound request.  It then sends that request to the inbound service and waits for the response.
In Tower's programming model, the bulk of the processing work is done while driving the response future.  Because the response futures for inbound requests are driven by the connection task and processed sequentially, work generated by a peer connection is performed as part of that peer's connection task.
This means that we are already naturally applying backpressure on a per-peer basis, so even before we implement the better DoS resistance strategy, we only risk one thread per peer connection.

I just added a note that the more complex solution should be implemented after the first alpha release.

I put a note in a comment above about one way that we could structure driving the tasks in a way that gives us a little bit of stopgap defense against DoS risk.  But after talking with @oxarbitrage about another piece of complexity involved in implementing this feature, I think that it might be better to take a different approach.
When a new block is mined and spreads across the network, we're likely to get block advertisements from every single peer that we're connected to, as they each accept the block and gossip it to their peers.  This means that deduplicating requests is pretty critical, in order to avoid downloading and verifying the same block potentially hundreds of times. However, as soon as we're deduplicating requests, we're also (logically) decoupling the processing of those requests from their source.  This means that we should operationally decouple the processing, by spawning a new task.  So the strategy I sketched above doesn't really fit the problem.
Similar code to what we need already exists in the sync module, which contains a Downloads<ZN, ZV> structure that takes a network service (of type ZN) and a verifier service (of type ZV) and queues download requests.  It handles deduplication as a side effect of handling cancellation, by:

maintaining a lookup table cancel_handles: HashMap<block::Hash, oneshot::Sender<()>>;
checking the lookup table before requesting a new hash;
cleaning up the lookup table when resolving a result as part of its Stream impl.

So, one option could be to try to reuse this code, making the Downloads set accessible from outside of the sync module and using it inside the Inbound service.  But this approach would have a number of downsides:

there are a bunch of sync-specific metrics in the Downloads set that we'd have to make generic;
we'd need to change the duplicate block behavior slightly, because in the inbound service case, a duplicate download request is expected (multiple peers gossiped the same block), but in the sync case, a duplicate download request means that we've got confused about what we're trying to download somehow;
there's a some behavior that's needed for the sync case that we don't need in the inbound case (for instance, we don't need a stream of results).

We could try to solve each of these issues by making the Downloads code slightly more general, handling both cases and situations.  But this would mean that it would be harder to understand the code in each case, because the reader would have to determine, for instance, which parts were relevant to the way the Downloads was used in the sync case, or in the inbound service case.  And, the logic for the two settings would be coupled together, and become more difficult to change in the future.  Since we know we want to change the inbound logic later (to download headers first and then full blocks), this doesn't seem like a good idea.
Instead, we should just use the sync::Downloads code as a reference for a new inbound::Downloads structure used in the Inbound service, along the following lines (sketch code):

Copy the sync::downloads module to a new downloads submodule of components::inbound, stored in src/components/inbound/downloads.rs;

Delete the AlwaysHedge and impl hedge::Policy code;

Change the comment on the Downloads struct from
/// Represents a [`Stream`] of download and verification tasks during chain sync.

to
/// Manages download and verification of blocks gossiped to this peer.

to clarify that its role is different;

Change
pub async fn download_and_verify(&mut self, hash: block::Hash) -> Result<(), Report>

to
pub async fn download_and_verify(&mut self, hash: block::Hash) -> Result<bool, Report>

and have the function return Ok(false) if the block was already queued (the first if condition) and Ok(true) if it is newly downloaded, and add a note to the method docs explaining the return value.  (This way, duplicate requests are not treated as errors, but we can still surface errors that occur if, e.g., the network service fails).

Change the sync.* metrics keys to gossip.* metrics keys;

Delete the cancel_all and in_flight methods, which aren't needed any more;

Add a ZS type parameter to the structure, with the bound
ZS: Service<zs::Request, Response = zn::Response, Error = BoxError> + Send + 'static,
ZS::Future: Send,

add a chain_state: ZS parameter to the Downloads struct, and a use zebra_state as zs; at the top of the file next to the zn declaration;

After the first self.cancel_handles.contains_key check, add another check that the hash is not already contained in the chain, using the newly added chain_state service.  If it is, return Ok(false), since we shouldn't download blocks we've already validated.

Now we can add a
downloads: Downloads<_, _, _>,

field to the Inbound service. To see how we should use it, we should think about the processing lifecycle of downloads tracked by the Downloads structure. Requests are created by download_and_verify, which inserts into the pending task list and cancel handle map, and removed by the Stream::poll_next implementation, which removes completed tasks.  In the case of the inbound service, we don't really care about whether the task succeeded or not -- we're not going to report that to the peer that advertised the block, or anyone else -- but we do need to clean up completed tasks.
This means we need to call <Downloads as Stream>::poll_next somewhere. This is a poll method that requires a &mut Context, so we have to call it from somewhere that we already have a &mut Context.  The only place we can put it is in <Inbound as Service>::poll_ready, and this also makes sense semantically, because poll_ready is supposed to do all the bookkeeping work required to get the service ready to receive a new request.  Each poll_next gives the result of a single task, so we need to call it in a loop until there are no more results:
// Clean up completed download tasks
while let Poll::Ready(Some(_)) = self.downloads.poll_next(cx) {}

We also need to figure out what layers are appropriate to apply to the services used by the download set.  For instance, in the sync code, we have a Hedge layer and some retry logic for block downloads, because we need to be more resilient to failures or latency.  In this case, I don't think that we need any layers to start, because it's not essential that every gossip request succeeds (if we fail to process a gossiped block for some reason, we'll catch up in the next sync iteration within a minute or two).
Then in the <Inbound as Service>::call implementation, we can queue downloads and output some diagnostics, maybe something like
if self.downloads.download_and_verify(hash).await? {
    tracing::info!(?hash, "queued download and verification of gossiped block");
} else {
    tracing::debug!(?hash, "gossiped block already queued or verified");
}

Closed by https://github.com/ZcashFoundation/zebra/pull/1328 and follow up to implement alternative solution now open at https://github.com/ZcashFoundation/zebra/issues/1393


Missing 'mars.api' Files for Experimentation

Hello,
First, I want to express my deep admiration for the excellent work you've done on the MARS environment. The work is truly impressive, and I appreciate all the effort and dedication that went into creating it.
As I work with the provided baseline model, I noticed that the mars.api files seem to be missing or unavailable. Without these files, it appears challenging to fully utilize the environment, especially for implementing and testing new algorithm designs. Could you kindly clarify if there are plans to release these files or if there’s an alternative way to access them?
Thank you for your time and support. I greatly appreciate the opportunity to work with such a fantastic env and look forward to your response.

Thank you for your interest in our work and for bringing this to our attention. We have now uploaded the mars.api files.

Thank you for your interest in our work and for bringing this to our attention. We have now uploaded the mars.api files.

Thank you for the quick response and for uploading the mars.api files!


v0.8.5 integration w/l10n support

Adds recursive submodule fetch now that seedsigner-translations and seedsigner-screenshots(not used here) are included as submodules in the main code repo.
Cleans up their unnecessary dirs and files.
Expands image size to accommodate the larger build result.

Note that seedsigner-screenshots is configured in the main repo's .gitmodules to NOT be included in recursive submodule fetches. So the rm for it included here is unnecessary but should be harmless. But better to have and not need it than perhaps someday needing it and not having it?

No problems for me today building this for pi0 and against app-repo:keith's and app-branch:multilanguage

ACK and tested


[bug]: prompt text fields in "text-to-image", "image-to-image" and "unified canvas" pages cannot be resized.

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
12GB
What version did you experience this issue on?
3.6.0rc1
What happened?
The prompt text fields in the "text-to-image", "image-to-image" and "unified canvas" pages appear without resize handle in the lower right corner and thus cannot be resized anymore.
please consider to add a scrollbar, too.
Screenshots
No response
Additional context
No response
Contact Details
<EMAIL_ADDRESS>

The prompt boxes auto-resize now.
https://github.com/invoke-ai/InvokeAI/assets/4822129/7c26f193-301c-4cd2-8c68-906189de5a0e

ok, i did not recognize this, but nevertheless this is a degradation compared to previous versions, in which it was possible to stretch the field vertically such that the complete prompt text was visible. now, the text field grows, but after a couple of lines it stops growing and don't show the complete text anymore. And it has no scrollbar for convenient text positioning.


Dependency on Scribe brings an SLF4J binding to the classpath, which conflicts with  other backends

Libraries should not depend on an SLF4J binding (dependency on slf4j-api is ok). Bringing in that binding to the classpath imposes a backend on the application.

I'll investigate this, but I believe the Java ArangoDB driver that this builds on is using SLF4J, so I incorporated scribe-slf4j to better manage it.

Libraries should always write logs to a facade (the de-facto standard is SLF4J), never to a backend. It's the application that plugs in the backend that does the actual writing of the logs to a destination.

I can't say I 100% agree, but it doesn't harm anything to change it, so I removed it. :)
Do you have any need to have a new release sooner than later?


What is the name of the function that starts the file upload?

I have an upload modal, but I'm finding that users are not successfully uploading because after they choose the file to upload, they just hit "Finished" and exit out of the modal without ever clicking the "upload" button.  Obviously I could just validate the modal and require them to upload before they hit exit, but it seems like it would be a more fluid user experience if I could just trigger the upload when they exit the modal.  I wanted to just call the "upload" function when the user clicks the confirmation button, but I don't know the name of the function to call!
edit: is it just  Uploader.startUpload ?

Sorry for the very late answer, I guess you figured it out by now.  But just for completeness it is it can be found here Uploade.startUpload.

no worries, thanks for the response, I always appreciate your work on this project


Email notification about upcoming maintenance

Hello,
Currently it seems that the system is not able to send emails about  upcoming maintenance.
I have double checked the checkbox to notify users is checked at the new maintenance creation form.
Other emails notifications are working fine.
Cheers
Yves

Hi @Yves911.
So I can confirm the system currently does send emails notifying about upcoming maintenance and if your other emails are working I would suggest the issue probably lies in one of the following: Currently the notification system for maintenance is rather basic and so it only notifies people who are globally subscribed #26. It also won't send out emails during another maintenance windows #11
I'll double check the code to check I'm not missing any other situations where it doesn't send them. Let me know if neither of the above is the issue and we'll look into it further.

@Yves911 did you make any progress looking into this?

Hi @sedan07 i made few additional tests with no luck : no emails for upcoming maintenance.

Hi @Yves911 ,
what do you have configured in your .env file for the QUEUE_DRIVER?

is the queue listener running php artisan queue:listen ?
is there output from the command php artisan queue:failed ?
alternatively you can check your database for entries in the jobs table as well as the failed_jobs table?

@qwertiko you were right listener wasn't running : php artisan queue:listen after this command i got emails about scheduled maintenance
Thanks !

Hello, I would like to know more about maintenance notifications, when I use php artisan queue:listen some of the requests run other do nothing.

@MathisG-Recia
php artisan should show you a bunch of commands you can use, among others the following related to the queue:
queue
  queue:failed         List all of the failed queue jobs
  queue:failed-table   Create a migration for the failed queue jobs database table
  queue:flush          Flush all of the failed queue jobs
  queue:forget         Delete a failed queue job
  queue:listen         Listen to a given queue
  queue:restart        Restart queue worker daemons after their current job
  queue:retry          Retry a failed queue job
  queue:table          Create a migration for the queue jobs database table
  queue:work           Start processing jobs on the queue as a daemon

perhaps the queue:failed option will give you some details. If the queue is empty, obviously nothing would happen. Also if your queue driver is not configured correctly. I spotted that some queue drivers did not work for me at all.

This is my configuration:
CACHE_DRIVER=database
SESSION_DRIVER=database
QUEUE_DRIVER=database
I noticed that when I had a mistake in the queue that after it no longer worked. I have use php artisan queue:restart but this do nothing. Now when I create a maintenance the queue does nothing.


Spec for #2160 - Generate a configuration file

Summary of the pull request
Spec for generating a configuration file
References and relevant issues
https://github.com/microsoft/devhome/issues/2160
Detailed description of the pull request / Additional comments
Validation steps performed
PR checklist

[ ] Closes #xxx
[ ] Tests added/passed
[x] Documentation updated

Waiting on images


Use fibers to minimize redundant work

⚠ EXPERIMENTAL ⚠
Perform compilation in a resumable fiber, to prevent the current situation of aborting and restarting the compilation for a single item.

[x] Save fiber and resume it
[ ] Retry after yielding fiber
[ ] Tests

This change is not compatible with the presence of the compilation stack. It might be worth removing this stack.


Plan to integrated into diffusers

Is there any plan to integrate the DynamicCrafter model into the diffusers library?

Hi. Personally, I'd like to integrate DynamiCrafter into the diffusers library. However, I haven't been able to do that recently because I've been busy with other projects. I hope our community can help.


Long live prettier 🎉


[AutoDiff] fix array subscript lookup when there are multiple

The differentiation transform sometimes tries to call the wrong subscript when there are multiple subscripts.
This concretely causes problems when you import TensorFlow because this subscript has different conformances in its generic signature than the correct subscript, so you get an assertion failure while trying to construct a substitution map for it:
Assertion failed: (conformances.size() == numConformanceRequirements), function Storage, file /Users/danielzheng/swift-debug/swift/lib/AST/SubstitutionMap.cpp, line 46.

@swift-ci please test


[CVE-2023-1732] go.mod has an indirect reference to circl v1.1.0 that needs to be updated to v1.3.3+

go.mod has an indirect reference to github.com/cloudflare/circl v1.1.0. This needs to be changed to v1.3.3+ to resolve CVE-2023-1732

Thank you for raising this. We already updated cicrl in PR https://github.com/DataDog/datadog-agent/pull/17418 (fix).
Please feel free to reach out to Datadog support if you have any additional questions.


add branching workflow

Split out branching workflow from hackathon branch

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Typing error when adding an element to a generic Map not catched by Typescript

🔎 Search Terms
map generic subtyping (Not sure about the correct terms for my issue)
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ

⏯ Playground Link
https://www.typescriptlang.org/play/?ts=5.7.0-dev.20240924#code/MYewdgzgLgBA5gUygeQE4GFUIIZQTAXhgB4BpAGhgDUA+ACgFsAuGAWWwAczLbKBrBAE8WFGA2wCWdAJSEa1aSypyYAbwBQMLTAA2SGAjBRUgwmIB0iKHQGDpAbk3aAlgDMYdQ8dMFfMAK5gACYIrs5gCEGyGtqxBkYmZuICMo5x2gzmEEg2QpReJg5OWgC+xTBYUP6oYPHejiWO6qCQsHjQLOxc0KjhcJSq2Cxg-gwARgiolGPDoxOoJfJEEQDubJyOVmiYOHh07VCUAOSuICBHlDIqdIMsAIwl0kUA9M8wAHLIMACiAEq-yF+lAAQgBVAAqMAA6gD3gBxGDggCaAAVvgBCTHNcAQEB6cw6EBwfYIaCWHInM5HJ72GCvFSqABE2EZ9xKQA
💻 Code
const getOrCreate = <K, V>(m: Map<K, V>, key: K, make: () => V): V => {
    let entry = m.get(key);
    if (entry === undefined) {
        entry = make();
        m.set(key, entry);
    }
    return entry;
};

const test: Map<string, {a: number, b: number}> = new Map;
getOrCreate(test, 'foo', () => ({a: 1}));
// NO ERROR, BUT WRONG TYPE!!!
console.log(test.get('foo')); // => {"a": 1}

🙁 Actual behavior
I was able to add a value to a map that was in contradiction with its typing.
🙂 Expected behavior
A compilation error somewhere. Maybe the code example is not great, but in any case, something should be reported.
Additional information about the issue
Alas, I keep finding issues like this. I'm less and less confident in Typescript. I'm working on a large code base, and I'm worrying that there might be other issues like this undetected.
About Typescript, this might be for historical reasons, or because it's hard to retrofit typing to a dynamic language, but there should some options to warn about all sort of possibilities for typing holes. It's important to be able to feel confident about the typing.

Covariant properties + aliasing + mutation is a known source of unsoundness:
const x = { a: "abc" };
const y: { a: unknown } = x;
y.a = 123;
x.a.toUpperCase(); // 💥

This just is how it is, see #9825 and #55451 and #55763.

Thanks for the pointers.
Couldn't Typescript add an option to be warned about these cases? I'm sure it would report lot of things, mostly false-positive cases, but at least this could be reviewed.

Alas, I keep finding issues like this. I'm less and less confident in Typescript.

You should be aware that having a sound type-system is explicitly not a goal of TypeScript, but instead having a balance between correctness and productivity. There will always be unsound type holes in the language. The language has gotten much much better over the years tho.
If you need a perfectly safe type system you might want to look into other languages that can transpile to JavaScript.
TypeScript Design Goals

there should some options to warn about all sort of possibilities for typing holes

That's fairly unrealistic. If they can be safely identified, then they're likely either going to be fixed, or intentional for some use cases and errors wouldn't make sense. Also note that TypeScript has no concept of warnings, only errors. The best option you have is to use a longer and enable all sorts of rules.

If you're doing mutation, you need to be much more careful when writing generic signatures. In this case I'd write
const getOrCreate = <K, V>(m: Map<K, V>, key: K, make: () => NoInfer<V>): V => {

which generates an error as expected at the incorrect call site

I was not aware of NoInfer. It better matches the safety and convenience I was looking for. Thanks. It doesn't help my constantly degrading feeling about Typescript, but that's interesting to know.
We can close this issue since it is obviously not going to change anytime soon (or ever).


Long data in JSON formatter freezes the app, when you relaunch reloads same JSON and freezes again.

I've pasted a huge JSON data to format but the app stopped responding, and I killed it, when I relaunch the app, it reloads the same JSON data and freezes again. Is there a clear cache function?
Removing the app didn't work.

I've pasted a huge JSON data to format but the app stopped responding, and I killed it, when I relaunch the app, it reloads the same JSON data and freezes again. Is there a clear cache function?
Removing the app didn't work.

There is a stopgap. Just remove this file (~/Library/Preferences/com.yuki.DevToys.plist)


typescript: Split function definition args

Thanks for the great plugin!
As typescript function args tend to be wordy due to type annotations, it is usually desired to split them:
Before split:
function someFn(a: TypeA, b: TypeB<number>, c: {prop: string}, d: [number, string]): void {
    // implementation
}

After split:
function someFn(
    a: TypeA,
    b: TypeB<number>,
    c: {prop: string},
    d: [number, string]
): void {
    // implementation
}

Thank you for the kind words :).
It came as a surprise to me, but it seems I already have some basic typescript support, thanks to #90 :). However, when I tested it with https://github.com/leafgarland/typescript-vim, it didn't look like it was setting the right splitjoin definitions.
I've pushed a commit to master that should fix this. For this particular example, it seems like it's working fine (with the javascript splitters and joiners), but I don't write typescript myself, so it's possible I'm missing something. Let me know how the plugin behaves and I might make some adjustments.

Thanks for the fix Andrew, works perfect!


ERROR: SerializationException: The constructor to deserialize an object of type 'StringIntDictionary' was not found.

Hi
I'm trying to use the library to save file to disk. I'm serializing object that has 2 dictionaries using your library. I can save them without no errors but when i try open the file and deserialize I get this error from Unity 2019.2.19f1 on Win 10.
Error: SerializationException: The constructor to deserialize an object of type 'StringIntDictionary' was not found.
Rethrow as SerializationException: The constructor to deserialize an object of type 'StringIntDictionary' was not found.

Here is the code for saving and opening the file:
Save to Disk code:
public void saveGameToDisk (string saveGameName, thxdss gameObjectToSave)
{
Debug.Log ("Start Writing File");

try
{
    BinaryFormatter bf = new BinaryFormatter ();

    FileStream file = File.Create (Application.persistentDataPath + "/" + saveGameName + ".dat");

    gameObjectToSave.initDB = true;

    bf.Serialize (file, gameObjectToSave);

    file.Close ();
}
catch (Exception ex)
{
    Debug.Log (ex.Message);
}

}
========================================================
Restore from Disk
public thxdss getLocalSaveGame(string saveGameName)
{
    thxdss localData = new thxdss();

    if (File.Exists(Application.persistentDataPath + "/" + saveGameName + ".xxx"))
    {
        Debug.Log ("there is file...");

        FileStream file = File.Open(Application.persistentDataPath + "/" + saveGameName + ".xxx", FileMode.Open);

        file.Position = 0;

        file.Seek(0, SeekOrigin.Begin);

        BinaryFormatter bf = new BinaryFormatter();

        localData = (thxdss)bf.Deserialize(file);

        file.Close();

        return localData ;
    }
    else
    {
        Debug.Log("No Local Save game file is found ALERT !!!");

        return null;
    }
}

I can provide more info if needed.
Thank you in advance !

@YHSX88 Had the same error. Try to override all contructors.
` public StringStringDictionary() : base() { }
public StringStringDictionary(IDictionary<string, string> dict) : base(dict) { }
protected StringStringDictionary(SerializationInfo info, StreamingContext context) : base(info, context) { }`

@szynall thanks for advice .. but I switched to another solution but it will be nice, maybe someone else is using the library.


gekko --import mode fails to find correct file

when gekko runs, an error shows that the file for the specified exchange cannot be found
example setup:
config.watch = {
// see https://github.com/askmike/gekko#supported-exchanges
exchange: 'Poloniex',
currency: 'USDT',
asset: 'BTC'
}
command: node gekko -i
expected: the import imports stuff  :)
result: error
cause:
the importer.js module tries to assemble the filename with the  exchange name, here:
https://github.com/askmike/gekko/blob/stable/core/markets/importer.js#L31
easy fix would be the to change filenames to match the exchange name(lazy me did that). probably the best is to use the stub property for the file fetching.

probably the best is to use the stub property for the file fetching.

What stub do you mean?

Closing for inactivity.


ci: suppress memleak reports from gc stack_chunk_alloc

What problem is this PR intended to solve?
Update CI memleak suppressions, related to:

https://github.com/Shopify/ruby_memcheck/issues/6
https://github.com/sparklemotion/nokogiri/issues/2389

yaa baank aqccount


Multi vescs

Hi,
Will multi vesc be a feature anytime soon?
Best regards

I would also appreciate multi-vesc support please :-)


[GUI] Error filtering templates

There are 10 templates with "medidor" in the name.

4 in page 1:

4 in page 2:

2 in page 3:

Filtering result should be displayed on 2 pages. But the result is in 3 pages.

The "medidor 3" template appears alone on page 2:

I couldn't reproduce it, is still occurring? @betefaber

Filtering continues with problems.
templates registered:

filtering by "e":

expected result: teste, TesteTemplate e TesteTemplate2

filtering by "este":

expected result: teste, TesteTemplate e TesteTemplate2

filter is case sensitive:

filtering by "teste":

filtering by "Teste":

templates registered:

filtering by "e", 6 templates per page: does not show all filtered templates

filtering by "e", 12 templates per page: displays all filtered templates

Two tests were performed:

filter by "medidor": 10 templates meet the filter
filter by "este": 4 templates meet the filter

The 1st test was successfully executed, but in the 2nd test, with 6 templates per page, the result is incorrect.

Test 1: filter by "medidor"

registered templates:

filtered templates, 12 per page:

filtered templates, 6 per page:

Test 2: filter by "este"

registered templates:

With 6 templates per page, the result shows only 1 template when it should show the 4 templates that meet the filter

But if 12 templates per page are selected, the result is correct.

Test blocked by issue #982.

Test OK.

Tested on version 58.2-201903121


Lychee

Hi,
will you please give me some information on how to use the Lychee api?
Thanks a lot

You can find an example here: https://gist.github.com/tobru/9171700

I am using postman extension for chrome browser... :)
Sent from Samsung tablet
-------- Original message --------
From: Tobias Brunner<EMAIL_ADDRESS>Date: 13/02/2015  8:05 PM  (GMT+03:00)
To: electerious/Lychee<EMAIL_ADDRESS>Cc: Fshamri<EMAIL_ADDRESS>Subject: Re: [Lychee] Lychee (#303)
You can find an example here: https://gist.github.com/tobru/9171700
—
Reply to this email directly or view it on GitHub.

There's currently no public API documentation, so the only way to find out is to inspect the requests made by the Front-End. Let me know if you have specific questions.
A documentation is planned.

Will follow your suggestions.
Thanks


New description text needed for NTP

NTP description should consist of the following text:
# NTP:
* Computers and network devices have a perversely strong need to have good agreement about what constitutes the current time (accurate precision time is critical for authentication related purposes, accurate event logging, and a host of other things)
* Most computers stay synchronized using Network Time Protocol (NTP). Oversimplifying greatly, NTP sets the local time by checking the time as reported by multiple trusted high-precision network-accessible clocks.
* Just like DNS, NTP is a UDP-based service, and shares the same weaknesses that DNS does (particularly problems with spoofed traffic, traffic amplification, and unnecessarily promiscuous access to servers).
* It is thus hardly surprising that NTP is being abused for DDoS attacks...

This is now added.


⚠ Bofrost.de has degraded performance

In 606f0b7, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1547 ms

Resolved: Bofrost.de performance has improved in a7e8d09 after 7 minutes.


handle system dependent line endings gracefully

I've added this on my windows system to handle the differences in line endings gracefully.
mvn install that also includes test ran successfully.

eclipse CLA is valid for @ahus1


Update the decision tree based on CFSA input.

Opened PR: https://github.com/codefordc/cfsa-referral/pull/17

#17 Has been merged. Closing


Flashcards and Memory Aids

Introduce a feature in TutorAI for creating and reviewing flashcards, aimed at aiding memory and helping students memorize key concepts, terms, and definitions. This feature should allow users to create their own flashcards, possibly using information extracted from their uploaded PDF course materials. The system should include functionalities for easy review, tracking progress, and possibly employing spaced repetition techniques to optimize learning and memorization.
Acceptance Criteria:

[ ] Flashcard Creation Tool: Enable users to create digital flashcards with front (question or term) and back (answer or definition).
[ ] Integration with PDF Content: Allow for the easy creation of flashcards from extracted content in uploaded PDFs.
[ ] Review System: Implement a user-friendly system for reviewing flashcards, with options to mark comprehension levels.
[ ] User Interface: Integrate this feature within TutorAI with a focus on ease of use and accessibility.
[x] Integration with pipeline

Docs: to our preliminary control flow for this feature: https://docs.google.com/document/d/1QZTS332E_qq207iKlm-WfS-otfUfPH8jUMfeTgB5sWc/edit
We will create sequence diagram afterwards


[release-1.22] k3s server --disable traefik does not correctly remove existing Traefik

Backport fix to branch release-1.22:

https://github.com/k3s-io/k3s/issues/5103

Validated using release-1.22 branch commitid efe99dc0fac32a4c79aec99b945350719e6e5aee

Started k3s without disabling anything. Edited the config.yaml to disable traefik and restarted k3s. It was properly removed from the manifests folder and disabled.

Using the same setup as above, I then edited config.yaml to re-enable traefik. This re-enabled successfully after restarting k3s.

Using the same setup, I then edited the config.yaml to disable both traefik and coredns. Both disabled successfully after restarting k3s.

I also attempted this in a multi-server-node setup. I did not disable anything on any of the server nodes when first running k3s, then I disabled on only one of the server nodes and restarted k3s. The disabled services stopped running in the cluster. However, after restarting the second node's k3s service (still without the config.yaml updated to disable anything) the services restarted. These config disable params must match on all nodes before restarting the k3s process when performing this disable flow.

Correct, if you don't disable it on all the nodes, it'll come back when any of the nodes without it disabled are restarted.


database Wunderpuss is up and running. Also set up basic server funct…

…ionality, as well as folder structure.

Let's go


Nested panels

I'd like to have a sliding panel inside a panel, like phonographs now playing screen, I can get the two panels, however the second panel doesn't intercept drag events. Clicking on the panel opens it but the recyclerview inside isn't scrollable, the first panel works perfectly.

you probably need to set on panel as the scrollable view of the other panel and create a custom scrollable view helper

@tokudu Thanks, im kind of a newbie, could i get an example?

I'm in the same boat...

Can someone please help me with this situation? I am stuck in the same situation.


Added missing samples to migrated topics

Title
Added missing samples to Migrated topics
Summary
Inserted missing C# and VB code samples into migrated topics and made other small fixes.
Fixes #1718
Suggested Reviewers
@mairaw2

This was mistakenly entered against this depot instead of against dotnet/docs.

Closing due to mistake.