[tests] Use helix's retry mechanism for flaky tests

In particular:
Aspire.EndToEnd.Tests: https://github.com/dotnet/aspire/issues/2850
Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.Tests, and
Aspire.Microsoft.EntityFrameworkCore.SqlServer.Tests get aborted with
timeout:
Aborting test run: test run timeout of 600000 milliseconds exceeded.
Related: https://github.com/dotnet/arcade/tree/main/src/Microsoft.DotNet.Helix/Sdk#test-retry
cc @eerhardt @joperezr @davidfowl
Microsoft Reviewers: Open in CodeFlow

I'll check that this does work before we merge.

Retry works:

The second time is also a fail because the simulated error always fails.

Ideally the retries can be removed at some point in the future!

Ideally the retries can be removed at some point in the future!

Agreed. We need to stabilize the EndToEnd tests so they pass consistently. We are currently getting random failures when calling dotnet run on the AppHost project, but we don't have enough logging to figure out what the error is.
The idea here is to minimize the impact on devs so they see these random failures less often while we add more logging and stabilize these tests.


Deploy mongodb clustrer

Describe your issue here
' (Failed to allocate instance [container:1i742]: Bad instance [container:1i742] in state [error]: Allocation failed: No healthy hosts meet the resource constraints: [instanceReservation: 1, instanceReservation: 1, 27017:27017/tcp portReservation, instanceReservation: 1].)
I have tried, by rancher, it only succeed deploy one mongodb node.

Useful
Info

Versions
Rancher v1.6.10 Cattle: v0.183.22 UI: v1.6.23

Access
localauth admin

Orchestration
Cattle

Route
catalog-tab.launch

With what scale did you start the item? By default it is 3, which will need 3 hosts to launch successfully. Closing as not a bug, but we can still discuss.

You can have a try. I have 4 hosts to match the default 3. So please fix it and then close. Thanks

I have had the same problem. 3 hosts available, only successfully deployed on 1 host. The remaining 2 post the message yankunsam posted above.

same problem

we got the same problem too.

some progress on that?
I tried to use @mdchao2010 s attempt, but that failed also with  No healthy hosts meet the resource constraints: [instanceReservation: 1, instanceReservation: 1, 27017:27017/tcp portReservation, instanceReservation: 1].)
I hope thats correct:

version: '2'
volumes:
  mongodata:
    driver: local
services:
  mongo-datavolume:
    image: busybox
    entrypoint:
    - /bin/true
    volumes:
    - mongodata:/data/db**
    labels:
      io.rancher.scheduler.affinity:host_label: role=database

If I get that working: I will give a try to update the Plugin to "MongoDB Version 3.6". So please help us to fix that

@exocode try this on your mongodata volume:
    volumes:
    - /data/db

for those who run into the same problems. I am experimenting with a own rancher-compose.yml and docker-compose.yml which seems to start successfully (connection to a container not tested yet).
In order to get it working I removed the exposing ports (these made problems) as well I updated the mongodb image to version 3.6. My next steps are to manage a persistent storage based on xfs instead of ext4, which is highly recommended by the mongodb company itself.
Any suggestions are welcome
mongo-cluster:
  restart: always
  environment:
    MONGO_SERVICE_NAME: mongo-cluster
    CATTLE_SCRIPT_DEBUG: true
  entrypoint: /opt/rancher/bin/entrypoint.sh
  command:
  - --replSet
  - "rs0"
  image: mongo:3.6
  labels:
    io.rancher.container.hostname_override: container_name
    io.rancher.sidekicks: mongo-base, mongo-datavolume
  volumes_from:
    - mongo-datavolume
    - mongo-base
mongo-base:
  restart: always
  net: none
  labels:
    io.rancher.container.hostname_override: container_name
    io.rancher.container.start_once: true
  image: rancher/mongodb-conf:v0.1.1
  stdin_open: true
  entrypoint: /bin/true
mongo-datavolume:
  net: none
  labels:
    io.rancher.container.hostname_override: container_name
    io.rancher.container.start_once: true
  volumes:
    - /data/db
  entrypoint: /bin/true
  image: busybox

.catalog:
  name: "MongoDB Replica Set"
  version: "3.2-rancher1"
  description: "MongoDB Replica Set"
  uuid: mongodb-1
  minimum_rancher_version: v0.46.0
mongo-cluster:
  scale: 3
  retain_ip: true
  metadata:
    mongo:
      yml:
        replset.name: "rs0"

deploy sucessfully. But how to connect to the cluster from outside?

that's the big question. Create a new service called "test" within this stack with the following settings:

image: ubuntu -->> 14.04.3
ports: 27017 -->> 27017
links: mongo-cluster -->> db
click "create"
After this service spins up you will be able to go to the hosts, click the "test_1" service and "exec shell" and type "ping -c 3 db".

As you can see the service db pings back.

My question is now, how to upload existing data? :-)
How to make the volumes persistent? (I am trying this now with Rexray and Virtualbox) - you can follow the progress here: https://github.com/rexray/rexray/issues/1194

thanks @exocode

Maybe you @galal-hussein can help us to bring the community driven MongoDB up again. It seems that the exposed port 27017 raises that issue. Also a version 3.6 tag would be nice.
Only one Stack: MongoDB-community -  mongo-cluster-1 comes up. The cluster-2 and cluster-3 stuck because of the already exposed port.
(Failed to allocate instance [container:1i2665]:
  Bad instance [container:1i2665] in state [error]:
    Allocation failed:
       No healthy hosts meet the resource constraints:
          [instanceReservation: 1,
          instanceReservation: 1,
          27017:27017/tcp portReservation,
          instanceReservation: 1].)

Thank you in advance

Kinda crazy that this seems to still be an issue. Any update would be most appreciated.

version: '2'
volumes:
  mongodata:
    driver: local
    per_container: true
services:
  mongo-datavolume:
    image: busybox
    entrypoint:
    - /bin/true
    volumes:
    - mongodata:/data/db

add per_container: true can solve the problem.

This still seems to be an issue. Has there been any progress on this?


1.0.0

The initial version of the AWS API Gateway extension with the traditional approach.

Hi Satish,
I made the following changes

Added ApiNamePredicate.
I retained the createMetricStatsMapForUpload(NamespaceMetricStatistics namespaceMetricStats) as it is since I am also customizing the metricPath and I might have to add RestApiIds in the path later, which is similar to how EC2 does.
Also when you review, please take a closer look at the metrics' statType and metric qualifiers.


How to wait for an async call to finish?

As title. I'm trying to run commands only after the buffer_hunk_stage() call is completed. I want to restore the view of the current window.

Oh interesting requirement, don't think there's a straight forward way as of now to know for sure. I'll probably add an additional parameter to pass callbacks on certain VGit commands.

@tanvirtin:
If this can be easily done, please do so. The following is a workaround I'm currently using because of the lack of this functionality:
vim.keymap.set('n', '<Leader>ga', function ()
  local view = vim.fn.winsaveview()
  vim.cmd('VGit buffer_hunk_stage')
  vim.cmd('sleep 50m')
  vim.fn.winrestview(view)
end, NOREF_NOERR_TRUNC)

Nice, thanks for the feedback and clarification on why you needed to do this. The centering is happening because of the edit command that gets executed. I am more inclined to make the current view not center after such actions rather than passing callback.

@tanvirtin That's great. Thanks for your acknowledgment. Wait for the update!

I just removed the hot-fix from my previous comment. Now it's simple and intuitive. Thank you!


Not compatible with 1.21 while it says it is on Modrinth

Incompatible mods found!
net.fabricmc.loader.impl.FormattedException: Some of your mods are incompatible with the game or each other!
A potential solution has been determined, this may resolve your problem:
- Replace mod 'Archers Expansion' (archers_expansion) 1.0.1-1.21.1 with any version that is compatible with:
- minecraft 1.21
More details:
- Mod 'Archers Expansion' (archers_expansion) 1.0.1-1.21.1 requires version 1.21.1 of 'Minecraft' (minecraft), but only the wrong version is present: 1.21!
at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:51)
at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:196)
at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:146)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Fixed with version 1.0.2 - 1.21.1

Thank you!!


Add [data-pressed] attr to Menu + Popover triggers

To avoid style conflicts with data attrs—particularly with Tooltip—we decided to add a [data-pressed] attribute to Menu + Popover trigger components when they’re opened via click. We will keep the [data-open] attribute alongside this.
Search keywords:

Hello! @colmtuite 👋
Is this issue still available to work on? If so, I’d love to take it up and start working on it. Please let me know if there are any specific guidelines or prerequisites I should be aware of before getting started.


image-type require isn't working for linked react-native

Hi all,
I'm using forked and linked version of react(i.e. npm link). For index.ios.js file I used --root flag and it worked fine, until I decided to add image to the project. If before I could make require('image!background') and put background.png into iOS/Images.xcassets folder, then now I can't do it anymore, got "Unknow module" issue. Any workarounds here?

Adding flag --assetRoots solved my issue:
"scripts": {
  "start": "node_modules/react-native/packager/packager.sh --root=./ --assetRoots=./iOS/Images.xcassets"
}


Do not reinstall the CLI tools if they are already installed on macOS

Check installed() inside of the install function before running the cli setup commands. Fix #5305.

Hi @seanchristians, thanks for the PR. I believe installed() is already checked before triggering the first time installer screen. Do you know what /usr/local/bin/ollama is pointing to in your case? This might help debug why https://github.com/ollama/ollama/issues/5305 is happening.

Hi @jmorganca, my installer script runs this command: /bin/ln -F -s /Applications/Ollama.app/Contents/Resources/ollama /usr/local/bin/ollama. It is targetting the correct ollama executable within the installed application.
I submitted this PR because installed() is not checked before triggering the first time installer screen.
Please consider re-opening this PR.


Convert to use only numpy numerics

What is wrong.

take the integer<PHONE_NUMBER>
pack to LE (little-endian) bytes: struct.pack('<I',<PHONE_NUMBER>)
unpack it as a LE float32: struct.unpack('<f', b'...')[0]
pack that back as a LE float32: struct.pack('<f', ...)
unpack that back into a uint32: struct.unpack('<I', b'...')[0]

Assert that the result is the same as the input........... it isnt...
>>> struct.unpack('<I', struct.pack('<f', struct.unpack('<f', struct.pack('<I',<PHONE_NUMBER>))[0]))[0]
2145386496

But with numpy everything works as expected.
>>> numpy.frombuffer(numpy.frombuffer(numpy.uint32(2141192192).tobytes(), numpy.float32)[0].tobytes(), numpy.uint32)[0]
2141192192

Not entirely sure what is happening under the hood, but python isn't preserving the bytes representation for NAN values and numpy does it right.  There are also a lot of other benefits we get for free from this conversion, primarily better/easier typing, native value.tobytes() methods, native overflow wrapping and proper bounds checking.

For fun, I tracked down the reason for this.  It's made apparent by the fact that using double-width values preserves the bits:
In [56]: struct.unpack('>Q', struct.pack('>d', struct.unpack('>d', struct.pack('>Q',<PHONE_NUMBER>))[0]))[0]
Out[56]:<PHONE_NUMBER>

Apparently, python stores float values internally as doubles.
When you do struct.unpack('<f', ...), an actual 32-bit float only exists as long as is needed to set the ob_fval in the internal PyFloatObject struct equal to that 32-bit value.  When that happens, the internal hardware of the processor probably does some rounding or magic to convert the 32-bit nan value into a 64-bit one.
By the time the internal double gets converted back to a float for packing, the extra bit has showed up in the highest-order fractional place of the internal float representation.
Here's a small C program that duplicates the issue:
#include<stdio.h>
#include<string.h>

float make_float(
    unsigned char b0,
    unsigned char b1,
    unsigned char b2,
    unsigned char b3
) {
  float x;

  unsigned char *p = (unsigned char *)&x;

  p[0] = b0;
  p[1] = b1;
  p[2] = b2;
  p[3] = b3;

  return x;
}

void print_bits(unsigned char p) {
  printf(p & 1 ? "1" : "0");
  printf(p & 2 ? "1" : "0");
  printf(p & 4 ? "1" : "0");
  printf(p & 8 ? "1" : "0");
  printf(p & 16 ? "1" : "0");
  printf(p & 32 ? "1" : "0");
  printf(p & 64 ? "1" : "0");
  printf(p & 128 ? "1" : "0");
}

void print_bytes(unsigned char *p, unsigned int n) {
  for (unsigned int i = 0; i < n; i++) {
    print_bits(p[i]);
    printf(" ");
  }
  printf("\n");
}

int main(void) {
  float x = make_float(0x00, 0x00, 0xa0, 0x7f);
  double y = x;
  float z = y;

  printf("%f\n", x);
  print_bytes((unsigned char *)&x, 4);

  printf("%f\n", z);
  print_bytes((unsigned char *)&z, 4);
}

Its output:
Davids-MacBook-Pro ~
$ ./a.out
nan
00000000 00000000 00000101 11111110
nan
00000000 00000000 00000111 11111110

Done in https://github.com/ethereum/py-wasm/pull/83


Release 0.16.1 - broke geodesic shell

what

Release https://github.com/cloudposse/geodesic/tree/0.16.1 broke shell

How to reproduce

make build - Build geodesic module from geodesic:0.16.1
make install - Install geodesic module
$CLUSTER_NAME - run into shell

Expect

Got shell command line

Exists

goruha@goruha-laptop ~/projects/cloudposse/example.com (feature-collect-logs●●)$ example.com                                                  [ruby-2.5.1p57]
# Mounting /home/goruha into container
# Starting new example.com session from r.cfcr.io/example.com:latest
# Exposing port 39257

When I click Ctlr+D I got

goruha@goruha-laptop ~/projects/cloudposse/example.com (feature-collect-logs●●)$ example.com                                                  [ruby-2.5.1p57]
# Mounting /home/goruha into container
# Starting new example.com session from r.cfcr.io/example.com:latest
# Exposing port 39257
^C04da1f47d29c:~#

What broke?
It's not clear to me from the description

Okay, @vadim-hleif was able to reproduce this. It's related to the curl test for metadata api.


can I customize and fix the sun position

Hello, can I customize and fix the sun position

Yes you can change the "north" parameter to give the position of your home. Based on the latitude and longitude you have put as Home Assistant parameter, the sun elevation and postion will be calculated automatically.
Example of north parameter:
north:
  x: -1
  z: 0

And the reference axis are like this:

OK, thank you

Yes you can change the "north" parameter to give the position of your home. Based on the latitude and longitude you have put as Home Assistant parameter, the sun elevation and postion will be calculated automatically.
Example of north parameter:
north:
  x: -1
  z: 0

And the reference axis are like this:

Hello!
Can you please elaborate on the settings of this parameter?
What's the range? For each axis?
For instance, this is my house:

The way I have drawn it, it is rotated 42º to the left, so the sun is 42º to the right

What values should I use?
Thanks in advance!


ChunkedWriteHandler::queue should account outbound pending bytes

ChunkedWriteHandler::queue should account outbound pending bytes
Motivation:
ChunkedWriteHandler::queue can grow too much in some pathological cases
eg slow disk/network and huge backlog of write&flush tasks.
Offloading pending bytes into ChunkedWriteHandler::queue would make
less effective the back-pressure mechanism provided by
Channel::isWritable, because ChunkedWriteHandler::queue writes aren't
accounted as ChannelOutboundBuffer::pendingBytes.
Modifications:
Replace ChunkedWriteHandler::queue with a PendingWriteQueue
Result:
Channel::isWritable now correctly propagate memory (back-)pressure.

This is a POC to start a discussion on how to handle the case on https://github.com/netty/netty/issues/3413#issuecomment-548501688 .
I think that @doom369 would be interested into improving ChuinkedWriteHandler. On the above comment there'is the "pathological case" I have talked about.
Currently this PR is introducing a best effort method that try both to limit the size of ChunkedWriteHandler::queue and limit the amount of pending bytes on ChannelOutboundBuffer, by flushing immediately the read chunks.
The downside I see are:

it introduces unwanted flushes ie not requested by the user
is just best effort: a streaming chunked input with no next chunk will prevent ChannelOutboundBuffer::queue to be drained and the size invariant to be preserved

@netty-bot test this please

Let me close this for now... @franz1981 please when you think its ready


Hanazeder_server v1.1.1 does not start with werkzeug>3.x

I updated my Docker images and came across the problem.
The server no longer starts with version 3.x of the werkzeug library.
Traceback (most recent call last): File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/usr/local/lib/python3.10/site-packages/hanazeder_server/mqtt.py", line 6, in <module> from quart import Quart File "/usr/local/lib/python3.10/site-packages/quart/__init__.py", line 5, in <module> from .app import Quart as Quart File "/usr/local/lib/python3.10/site-packages/quart/app.py", line 46, in <module> from werkzeug.urls import url_quote ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.10/site-packages/werkzeug/urls.py)
If I go to version 2.2.2 of Werkzeug, I get the following error message.
hanazeder  | Traceback (most recent call last): hanazeder  |   File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main hanazeder  |     return _run_code(code, main_globals, None, hanazeder  |   File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code hanazeder  |     exec(code, run_globals) hanazeder  |   File "/usr/local/lib/python3.10/site-packages/hanazeder_server/mqtt.py", line 9, in <module> hanazeder  |     from hanazeder_server.MqttClient import MqttClient hanazeder  |   File "/usr/local/lib/python3.10/site-packages/hanazeder_server/MqttClient.py", line 1, in <module> hanazeder  |     from asyncio_mqtt import Client, ProtocolVersion, Will hanazeder  |   File "/usr/local/lib/python3.10/site-packages/asyncio_mqtt/__init__.py", line 3, in <module> hanazeder  |     from .client import Client, Will, ProtocolVersion hanazeder  |   File "/usr/local/lib/python3.10/site-packages/asyncio_mqtt/client.py", line 591, in <module> hanazeder  |     _PahoSocket = Union[socket.socket, mqtt.WebsocketWrapper] hanazeder  | AttributeError: module 'paho.mqtt.client' has no attribute 'WebsocketWrapper'. Did you mean: '_WebsocketWrapper'?
Dockerfile
`FROM python:3.10-alpine3.16
RUN apk update &&
apk add usbutils bash wget
RUN pip3 install --no-cache-dir --upgrade pip &&
pip3 install --no-cache-dir hanazeder_server
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]`
entrypoint.sh
`#!/bin/sh
python -m hanazeder_server.mqtt --serial-port /dev/..... --mqtt-server 192.168.x.x`

Hi,
I assume that's due to loose version specification in pyproject.toml. If you remove all the carets (the "^") in the section [tool.poetry.dependencies] it should always stick to the old versions. It should look something like this:
[tool.poetry.dependencies]
python = "3.7"
asyncio-mqtt = "0.12.1"
hanazeder = "1.3.0"
quart = "0.18.0"

I don't have access to a Hanazeder unit anymore, do you think you could test that? You'd have to create the docker image from the local python sources instead of downloading a fixed version of hanazeder_server via pip install.


Wrong "No webmention targets" under certain conditions?

First of all, thanks for this lovely product.
One thing I'm curious is these two similar mentions are treated differently on Bridgy.

https://twitter.com/stasis55/status/1379764319043252228
https://twitter.com/tomitsuki_t/status/1482882727351586816

Bridgy successfully ties the first one to my webpage, and sends it accordingly.
However, Bridgy says "No webmention targets" for the second one.
What does make this difference? Is it a bug or some limitation?
Sorry for a noob question. Any helps will be appreciated. Thanks.

Thanks for the kind words! And sorry for any confusion. When other people tweet links to your site, Bridgy generally only sends webmentions if they're not replies, like the second one here. There may be more going on here though, I'l look.

Twitter on Bridgy is inconsistent occasionally because the API we use is best effort only and buggy. Details in https://brid.gy/about#Twitter+responses . We're looking into migrating to their v2 API, which is still under construction.

Fixed! This turned out to be partially the same root cause as #237, and the fix was 9de2966. Bridgy has now backfed the second tweet here, as you expected. Thanks for reporting, and for your patience!

Thanks a lot😍
I've also confirmed it worked!


Standardizing behaviour where dims are out of range

In base, dimensions greater than ndims are generally ignored when reducing, for instance
julia> a = rand(2,2)
2×2 Matrix{Float64}:
 0.712466  0.857588
 0.382224  0.0991466

julia> sum(a, dims=3)
2×2 Matrix{Float64}:
 0.712466  0.857588
 0.382224  0.0991466

julia> minimum(a, dims=3)
2×2 Matrix{Float64}:
 0.712466  0.857588
 0.382224  0.0991466

julia> a = fill(1, 2, 2)
2×2 Matrix{Int64}:
 1  1
 1  1

julia> mean(a, dims=3)
2×2 Matrix{Float64}:
 1.0  1.0
 1.0  1.0

Currently, we handle out-of-range dimensions somewhat inconsistently -- sometimes throwing a "dimension not found" error and sometimes not. And while our tests ensure we match Base for all cases with dimensions in range, we don't test over dimensions that don't exist.
I could imagine arguments as to why we should either always error, or always match base, but we should probably standardize one way or another. Thoughts?

The linked PR seems to work well enough and I think shouldn't have any runtime performance cost -- I'll probably merge in a few days if there are no objections by then


Running the code without databricks

Hi in the train_dolly.py, a lot of MAGIC commands were there which is used in databricks notebooks. Do we need to run those commands separately if we are not using the databricks framework.
If yes, can you also suggest how/what to modify this to run on a single/double GPU as I have access to those.

Yes, you need to run those commands. They're largely just shell commands, and you can skip (for example) the tensorboard integration.
@matthayes I wonder if we could replace the .py files that are notebooks with .ipynb, as Databricks will readily understand those too.

Sure will run them as shell commands instead.

Do I need to make some changes to run on single/double GPUs instead of the Apache cluster as mentioned in the readme?

This code does not use a cluster, single machine with multiple GPUs

Start a 12.2 LTS ML (includes Apache Spark 3.3.2, GPU, Scala 2.12) single-node cluster with node type having 8 A100 GPUs (e.g. Standard_ND96asr_v4 or p4d.24xlarge).

Ohh I misunderstood this.

Hey, I have transformed the databricks notebook into shell commands at https://github.com/youkaichao/dolly#train-the-model . Maybe it can help :)

Hey, I have transformed the databricks notebook into shell commands at https://github.com/youkaichao/dolly#train-the-model . Maybe it can help :)

great works! this make a pr would be better.

Hey, I have transformed the databricks notebook into shell commands at youkaichao/dolly#train-the-model . Maybe it can help :)

great works! this make a pr would be better.

Not sure if the authors like it. It seems the databricks notebook is their internal format.

Hey, I have transformed the databricks notebook into shell commands at https://github.com/youkaichao/dolly#train-the-model . Maybe it can help :)

Great work, btw , small typo : the following shell cmd in your "Train the model" section needs to be corrected-
export deepspeed_config = `pwd`/config/ds_z3_bf16_config.json
to (no spaces around the equal sign)
export deepspeed_config=pwd`/config/ds_z3_bf16_config.json

Yes, you need to run those commands. They're largely just shell commands, and you can skip (for example) the tensorboard integration.
@matthayes I wonder if we could replace the .py files that are notebooks with .ipynb, as Databricks will readily understand those too.

"Wishful thinking" question: Would this model run on a single GPU (Nvidia GTX 1080, 8GB RAM )  home machine with 32 GB RAM and AMD Ryzen 600X 6-Core Processor  4.20 GHz?

I'm sure everyone finds that just fine - it's open source, it's just an example you can tweak, there is no "internal Databricks format", it's just .py or .ipynb files. The idea was to give you a notebook but it's just a slug of python and shell code, however you want to run it.
This was targeted at 8 x A100 40GB so that it runs in more like 30 mins. Someone on another thread  tweaked deepspeed for 32GB V100s. I think 8GB is too little, or would take far too long with enough deepspeed tweaking if it does. Per the blog, you can just e-mail<EMAIL_ADDRESS>for weights - not public here because they are based on data with a non-commercial license. Or I see people have already just posted then on Hugging Face, you can grab those without training if you're sure the non-commercial data source is OK. Or just run it in the cloud and grab the weights, it's not expensive.

I wonder if we could replace the .py files that are notebooks with .ipynb, as Databricks will readily understand those too.

I prefer to keep it as .py files as it's easier to view and edit in an IDE.

Can we run directly on our system without Databricks  ?

Yes. You may just need to adapt the code in the .py file a little bit as it's notebook code, which can execute things like shell commands too. Pull out the apt-get install commands and so on at the top and execute them first separately (or otherwise ensure those CUDA packages are available). The rest should be just Python code you can run.

@srowen Can you please share the step-by-step guid to running it on CPU machine?
My machine config is:
OS:                      Ubuntu 18.04.6 LTS
RAM:                   58 GB
CPU(s):              16
Python version: Python 3.8.16


Help style, content & spelling updates

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Pester test is included
[X] Help & other text grammar, spelling & style cleanup

Purpose

To clean up grammar, style, spelling and other issues related to comment-based help and other text in functions.

Thanks to you both!


update mui style dependency

[x] I have followed (at least) the PR section of the contributing guide.

Duplicate of #32151


spelling: talbe -> table

spelling change on a single word

Thanks!

English is not my native language, if you find any error or any text that doesn't make sense or can be improved, please let me know.


Bug report huawei matpad11.5s maybe has some compatibility issues

Describe the bug
当我使用windows电脑向华为matpad11.5s发送文件时，无法显示，我安装的版本是LocalSend-1.16.1-android-arm64v8，其他状态均可以

反向传输
电脑通过链接传输给平板

When I use a Windows computer to send files to Huawei Matpad 11.5s, they cannot be displayed. The version I have installed is LocalSend-1.16.1-android-arm64v8, and all other statuses are fine

Reverse transmission
The computer transmits data to the tablet through a link

To reproduce
无
Expected behavior
可以在软件中传输文件
Can transfer files in software
Screenshots
No response
Desktop (please complete the following information)
No response
Smartphone (please complete the following information)
No response
Additional context
No response

非常抱歉，问题得到了解决，问题出在电脑上，安装最新版的LocalSend-1.16.1-windows-x86-64并不适合在我的电脑上，这个问题是我在尝试手机和电脑互传软件时发现的，我使用LocalSend-1.15.3-windows-x86-64解决了这个问题
I'm very sorry, the issue has been resolved. The problem lies on my computer. Installing the latest version of LocalSend-1.16.1-wwindows-x86-64 is not suitable for my computer. This issue was discovered while trying to transfer software between my phone and computer. I used LocalSend-1.15.3-windows-x86-64 to solve this problem

Hi, I get the same problem in my HuaWei matepad whoes os is HarmonyOS 4.2.0. I cannot send any files from my phone or pc to it. I don't know if I need to set some permissions.

So this is to be done
On Fri, 27 Dec 2024 at 2:31 PM, Jo Carllyle @.***>
wrote:

Hi, I get the same problem in my HuaWei matepad whoes os is HarmonyOS
4.2.0. I cannot send any files from my phone or pc to it. I don't know if I
need to set some permissions.
—
Reply to this email directly, view it on GitHub
https://github.com/localsend/localsend/issues/2100#issuecomment-2563481372,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLHMSJP66FJ6TMGS7ADJSRL2HUJO7AVCNFSM6AAAAABSUJT4V2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRTGQ4DCMZXGI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hello, I am also experiencing the same issue on my Huawei MatePad, which runs on HarmonyOS 4.2.0. I am unable to send any files from my phone or computer to it, but I can send files from the MatePad to other devices. I am not sure if I need to set some permissions.
You can try using different versions like 1.15.3

Ok, I'll check it out.
On Sun, 29 Dec 2024 at 9:05 AM, 爱梦 @.***> wrote:

Hello, I am also experiencing the same issue on my Huawei MatePad, which
runs on HarmonyOS 4.2.0. I am unable to send any files from my phone or
computer to it, but I can send files from the MatePad to other devices. I
am not sure if I need to set some permissions.
You can try using different versions like 1.15.3
—
Reply to this email directly, view it on GitHub
https://github.com/localsend/localsend/issues/2100#issuecomment-2564600476,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BLHMSJIRVKFWORYHK52PS3T2H5UWZAVCNFSM6AAAAABSUJT4V2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRUGYYDANBXGY
.
You are receiving this because you commented.Message ID:
@.***>


tpm2_get_impl_type() is specific to IBM's Software TPM

When using the Microsoft TPM simulator, kmyth applications classify it as a hardware TPM. As the current check examines the vendor string and tests whether or not it is "IBM", this is not surprising. The check, however, should probably also include the Microsoft simulator (and any others, if possible).

Pull Request #36 addressed this issue with a solution supporting future extension (based on a potentially changing set of available TPM 2.0 simulators).


chore: change mention of Nuxt's framework from React to Vue

What kind of changes does this PR include?

Minor content fixes (broken links, typos, etc.)

Description

What does this PR change? Give us a brief description.

This PR changes a mention of React in the Nuxt guide to more accurately say "Vue", since Nuxt is the Vue meta-framework.

LGTM, thanks for picking up on this @crutchcorn!


Deploy User Assignment App as part of the user name distribution

use https://github.com/RedHatGov/username-distribution
or https://github.com/RedHat-Middleware-Workshops/username-distribution

I think this setup should live in the serverless-workshop-code repo.  So I'm going to close this issue in favor of using this ticket I just opened https://github.com/RedHatGov/serverless-workshop-code/issues/15


cannot change the x-axis for line graph

As a user, if there is an option to select a different column for the x-axis, then i would like to be able to select that column.

possibly introduced with
https://github.com/influxdata/influxdb/pull/18787

Fix looks good but I can't edit the x-axis range. it's defaulted to be huge (looks like 0-15,000) so all my points which are <100 get squished the side

@sjwang90
im not sure where the problem is located, where do you normally access the x-axis range? Im not familiar with this functionality

Don't quite remember where it was prior but would be similar to how there is a y-axis range.  This is a for a scatterplot but I see similar missing x-axis ranges for a line graph as well.

I see, so this functionality is supposed to exist

for the x axis as well? Like we used to see the exact same ui but it was obviously all X-axis

min/max on the x axis doesn't make sense for graph types where time is on the x-axis, as the min/max is defined by the dataset returned.
For graphs like scatter or histogram, where x-axis isn't time, then the X-axis domain should be configurable.
That seems different than this issue though, so let's open a new one for this.


Fix false positive with lambda argument in super type entry (indent)

Description

Fixes #1188
Checklist

[x] tests are added
[x] CHANGELOG.md is updated

@t-kameyama I've temporarily ignored the failing test; you can rebase and your PR build should pass. thanks!


[Request] add userSearchBase and groupSearchBase to security/RBAC config

As an additional hint for MDS / Confluent Server Authorizer's LDAP configuration, add the following parameters with their defaults (to keep same functionality within current examples):

userSearchScope: 1
groupSearchScope: 1

These configuration should go into services.mds.provider.ldap.configurations section (here).
The user may continue to refer to the LDAP Authorizer documentation for clarification on these properties.

I don't think we should be adding default configs to properties / YAML file.
You wouldn't do it with other deployments.
The addition makes the YAML file looks over bloated.
If a user wants to investigate what properties can be used he can check the API reference
https://docs.confluent.io/operator/current/co-api.html#tag/Kafka

I don't think we should be adding default configs to properties / YAML file.
The addition makes the YAML file looks over bloated.

By that logic, we should remove the following defaults:
groupNameAttribute: cn
groupMemberAttribute: member
Pointing the user to the docs doesn't provide a good user experience, especially when they are asking for a complete example.


Demo App Storyboard

@breakpointer commented on Wed Feb 13 2019
Overview
As a developer so I know how to build the demo app, I want to review a story board to understand the requirements and how the app will be used.
Reference

Existing epic tickets

Questions

What is needed for SxSW and what is not

Assumptions

Can be done with wireframe drawings

Acceptance

A set of screens that shows the app logic and illustrates the users interaction

Duplicate of #159


Lagging gif movements when many gifs are loaded

Hi, thank you very much for this package!
When I requested more than 100 gifs and displayed them using grid view on a scrollable page, the gifs that are shown starts to lag and the gif movements are no longer smooth. Do you happen to what is the reason for the lag? Do you know how I can improve its performance?
Thanks in advance!

Try to load the previewThumbnails only and try to run in release/profile mode, which is much faster and realistic case when app will be launched

Try using builder methods of GridView/ListView which helps in lazy loading and thus saves resources.

For further queries:
Please try asking this in Flutter's main Github repo as Tenor does not depends on Flutter and hence have nothing to deal with performance.


Create a Direct-Debit Direct PayIn

Hello,
I want to create a 'Direct-Debit Direct Payin' with the SDK as described on the api documentation.
    await api.PayIns.create({
      AuthorId: authorId,
      CreditedUserId: userId,
      CreditedWalletId: walletId,
      DebitedFunds: { Currency: 'EUR', Amount: 500 },
      Fees: { Currency: 'EUR', Amount: 0 },
      MandateId: mandateId,
    });

But i get the error:
No overload matches this call.
It assumes I want to create a 'CreateBankWireDirectPayIn'.
There is no overload for DirectDebitDirectPayIn or similar.
Also I can not use PaymentType: 'DIRECT_DEBIT'.
SDK version: "mangopay2-nodejs-sdk": "^1.16.0"
Thank you for your help
EDIT: Changed DIRECT-DEBIT to DIRECT_DEBIT

Hello @melops-hh,
I had a look at your last question.
To add the information MandateId and StatementDescriptor you should add a PaymentDetails parameters with a PayInPaymentDetailsDirectDebitDirect object (visible in lib/models/PayInPaymentDetailsDirectDebitDirect.js).
You should also set ExecutionType to DIRECT.
Let me know if it helps.

Hello @melops-hh,
Did you solved your issue (create a 'Direct-Debit Direct Payin') ?

Hi @fredericdelordm,
I got the same error using Typescript. I think the type for a Direct-Debit Direct Payin is missing. It probably needs to be added here: https://github.com/Mangopay/mangopay2-nodejs-sdk/blob/3793a734ff66fe02e1577009f6f59851db2d7eb5/typings/index.d.ts#L2849
The code from the tests at https://github.com/Mangopay/mangopay2-nodejs-sdk/blob/3793a734ff66fe02e1577009f6f59851db2d7eb5/test/services/Mandates.js#L191 also shows the same error: No overload matches this call.
The last overload gave the following error.
Type '"DIRECT_DEBIT"' is not assignable to type '"BANK_WIRE"'

Hello @fredericdelordm,
thank you for your response. I recognized I forgot to mention that we are using typescript.
I still get the same error message.

Hello @melops-hh,
Could you have a look at this thread : https://github.com/Mangopay/mangopay2-nodejs-sdk/issues/221.
It might resolve your issue.


Rerender the calendar when events has changed

I would expect the calendar to rerender when the events have changed.
This my render function:
return (

Schedule

        <BigCalendar toolbar events={this.state.dates} />

);

I have an event logged in the componentDidMount function:
scheduleStore.on("updated", () => {
    this.setState({
        dates: scheduleStore.getAll()
    });
});

Even though the component state changed and the events are populated from the state then component doesn't render any new events.
I've considered this.forceUpdate() but even then the calendar doesn't refresh.
Any help appreciated
Edit: If I setState({dates: null}) then it will update, but not if I just add a new event to the array.

How are you updating the events? The calendar will re-render if the events prop changes.

Yeah there is no logic preventing updates in the calendar, no shouldComponentUpdate. It will rerender any time the parent does. I'd check you don't have something preventing updates in your code

Thanks for the replies. I've realised why it wasn't updating.
The new event object was incorrectly formatted and therefore ignored by the calendar.


fix(store-sync): create table registration logs from indexer records

Not sure how hydrating from the indexer ever worked without this but some parts of the sync stack expect table registration records to fill in tables before capturing values from those tables. We spotted this issue when switching from sqlite indexer to postgres indexer and I have no idea why this would have surfaced this issue.

yolo merging to unblock sky strife


feat: support mark view

This PR implements mark view support for core and react.

Could you please also update the readme here?
https://github.com/prosekit/prosemirror-adapter/blob/d5f9b9f5ecab53febf65c0a9b0709ceafeb120b5/README.md?plain=1#L33-L35


Segmentation Fault 11 incrementing Float Value

Hi. When trying to increment a float value, I get a Segmentation fault: 11 and it fails.
Test code I'm using to recreate the issue:
        $uid = uniqid('inc_');
        $key = $this->getDb()->initKey(self::KEY_DB_NAME, 'xc_bids', $uid);

        // store the key data with the record, rather than just its digest
        $options = [
            Aerospike::OPT_POLICY_KEY    => Aerospike::POLICY_KEY_SEND,
        ];

        $floatVal = 1.234;

        $status = $this->getDb()->increment($key, 'float', $floatVal, $options);
        echo $status . PHP_EOL;

        // Check the outcome of the adding:
        if ($status !== Aerospike::OK) {
            $this->echoToConsole('Summink Went Wrong');
        } else {
            return true;
        }

        return false;

Aerospike Client version: 3.4.9
Aerospike Server Version: <IP_ADDRESS>
PHP Info:
PHP 5.6.22 (cli) (built: Jul 19 2016 13:23:48)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans

Thanks for reporting this! Looking into it now.

This is issue CLIENT-785 internally.
The increment value can be integer, float, or string (if numeric). The fix will be included in the next release.

No problem, that's a great fix. Do you have an ETA on when this will be released? It's something we didn't envisage not working and so we're kind of desperate for it heh. Thanks

The next client release is scheduled for next week 😉

Fixed in release 3.4.10.

Closing this. Please reopen if still a problem.


⚠ Turnos 24x7 has degraded performance

In 3169516, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1059 ms

Resolved: Turnos 24x7 performance has improved in 80a0f7b.


execute to generate DDL and DML after getting all vertices and edges

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (f8e10ef) 73.79% compared to head (92440ec) 73.65%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #109      +/-   ##
==========================================
- Coverage   73.79%   73.65%   -0.15%
==========================================
  Files          20       20
  Lines         374      372       -2
  Branches       42       38       -4
==========================================
- Hits          276      274       -2
  Misses         98       98

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


Update spec to be separate from implementation

Can you provide some context here @decentralgabe ?

Idea was to have a clear specification defined for what features the SDK has - with links, descriptions, etc. This can be versioned.
separately we have an implementation report (test vectors, compliant sdks), with releases that comply with the spec versions.

this is similar to how it's done in the w3c, e.g.:

spec: https://w3c.github.io/vc-data-model/
test suite: https://w3c.github.io/vc-data-model-2.0-test-suite/


Added in resources from the GitHub training call

Some super cool resources were shared that I didn't know existed which could be useful to everyone.
Thanks to @swinton for these

Panda you are so great


Broken installation link for 'macOS Intel Installer' in README file redirects to 404 Error

Description

Within the README.md file and under the "Installation" section, the link titled "macOS Intel Installer" for installing JupyterLab desktop app for MacOS Intel (same with the "macOS Apple silicon Installer" link) leads to 404 Error.

Reproduce

Go to 'https://github.com/jupyterlab/jupyterlab-desktop'
Click on 'Code'
Click on 'README.md' or scroll down past the files to where the 'README.md' file is automatically displayed on the page.
Scroll down to the section titled 'Installation'
See error(s) in the third bullet point, the two broken links titled 'macOS Intel Installer' and 'macOS Apple silicon Installer'

I clicked on the links and then was redirected to Error 404 pages.
Expected behavior

I expected the macOS Intel Installer to download or at least produce a prompt for starting installation via an installation helper?
Context

Sorry if this is a bad bug report. I've literally never done one before and I'm still getting the hang of GitHub. I'm not doing all this other stuff listed below. The error isn't that complicated to require any of it. The README.md file literally just has broken links in it.

Operating System and version:
JupyterLab-Desktop version:
Installer:

Troubleshoot Output

Paste the output from running `jupyter troubleshoot` from the terminal inside of JupyterLab-Desktop here.
You may want to sanitize the paths in the output.

Browser Output (required for interface issues after loading)

Paste the output from the DevTools JavaScript console here, if applicable.

Logs (required for issues with loading, server and startup)

Paste the logs from the `main.log` file here (optionally also from `renderer.log`).

@shylaatchison thanks for reporting this issue. we had to rollback the latest release due to Windows installer issues reported but forgot to update the installer links.

pushed the fix now. thanks!

thank you!!


import Tachiyomi library database

tried to load the .proto file with protobufferjs
I think it needs some kind of parser or something, i'm too lazy to look at tachiyomi's code for now.


[New Feature]: Adding a scroll to the top button in about section

🎮 feature Request
A button appears when the user scrolls down a certain distance.
Clicking the button smoothly scrolls the user back to the top of the page.
Point down the features
Provides a smooth scroll animation to the top
Button is fixed at the bottom right corner of the viewport
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey!
Can you please assign this issue to me under GSSOC'24
Thank you


Update atomic.events to use ZSTD compression

This updates the canonical atomic.events model to use ZSTD compression by default on all columns except for the collector_tstamp SORTKEY as recommended by AWS. This global compression seems to perform best across the board (though individual implementations may differ on what ANALYZE COMPRESSION outputs due to data variance).
I've bumped this to 0.9.0 as although the data is completely backwards compatible it is not possible to alter compression on an existing table (however new installations can immediately use this compression). This is likely to need some companion documentation for users upgrading from previous versions of the table to 0.9.0.
Ref #3108

Many thanks for this @miike ! We are looking into ZSTD very seriously now, so this is great timing.

@miike has signed the Software Grant and Corporate Contributor License Agreement. Thanks so much

When merging into the release branch, make sure to update the commit message...


Use formik to create a form

What this PR does / why we need it:
Add useful libraries for creating forms, and use them.
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

/approve


Beta 2.1

Trying a merge, some html related files got a bit weird when Avoin's webpage was updated to match FRA's.

Old version, probably would screw up html page.


log files

Hello,
Not really sure if this is called an issue, but where might I find the log files? I can't seem to find any log files anywhere
Thank you

Same question here. For example, where does OHIF.log.info(...) go?
Also, is there a way to redirect the OHIF.log to the browser console? Thanks!

We're getting ready to formally announce version 2 of the OHIF Viewer. After the announcement, version 1 issues will receive lower priority support. As this issue is a bit stale, I'm going to close it for now.
For what it's worth, we're trying to do a better job at tracking feature requests, building scope/requirements for items we would accept PRs for, and show which items we have planned for development in the near future. You can see our very early stage roadmap here: https://github.com/OHIF/Viewers/projects/3
As we're moving away from Meteor in Version 2, I'm not sure logging is as big of a concern. If you feel it's something you would find beneficial, please feel free to create a new issue ^_^


fix calReleaseNumCommitsBehind

repoCtx.CommitsCount is not reliably the commit count of the default branch (Repository.GetCommitsCount depends on what is currently displayed).
For instance on the releases page the commit count is correct: https://codeberg.org/Codeberg/pages-server/releases

However it is not on the single page: https://codeberg.org/Codeberg/pages-server/releases/tag/v4.6.2

This PR fixes this by removing a "fast branch" which was using this field (I think this field should be removed, since it is a bit unpredictable - but this would mean a larger refactoring PR).
contributed in the context of @forgejo

I added some tests (CI seems flaky on unrelated tests)

I added a user2/repo-release with the following git history:
* 7197b56 readme: v2 (HEAD -> main, tag: v2.0)
|
* 79f9d88 bugfix
|
* 4380f99 feature v2
|
| * cef06e4 readme: v1.1 (tag: v1.1)
| |
| * c4a4e1a bugfix (backported)
|/
|
* a8a700e readme: v1 (tag: v1.0, master)
|
* f3f1c90 readme: title
|
* 184288e add readme

Sorry for the previous noise. I think this PR is now complete! (I didn't touch the code, only the tests)
cc @techknowlogick

.

I was unable to create a backport for 1.19. @oliverpool, please send one manually. :tea:


Fix for  CompletionCodeError cc=0xcb desc=Requested data not present

My IPMI ASMB8 from ASUS motherboard havent fru_inventory.

@WMP Thank you for your contribution!


pip install torchao cannot get latest versions (only 0.1 and 2 other version in the same level)

Similar to https://github.com/pytorch/ao/issues/1106
I had py 3.12.7
cuda 12.5
toolkit .5
I had to obtain the WHEEL from another person and install it with the wheel.
(Application: ComfyUI)

Same error
(C:\aitools\cv_venv) C:\aitools>pip install torchao==0.5.0
Looking in indexes: https://pypi.org/simple/, https://pypi.ngc.nvidia.com
ERROR: Could not find a version that satisfies the requirement torchao==0.5.0 (from versions: 0.0.1, 0.0.3, 0.1)
ERROR: No matching distribution found for torchao==0.5.0

@moreAImore
Please could you share the wheel

@moreAImore Please could you share the wheel

Yes.
torchao-0.6.1+git-cp312-cp312-win_amd64.zip

Thank you @moreAImore

Thank you @moreAImore

Where did you end up using it?

There are pre-built Windows wheels for nightly build. This should work on windows I think (haven't tested)
pip install --pre torchao --index-url https://download.pytorch.org/whl/nightly/cpu

Otherwise you can also install from source
USE_CPP=0 pip install git+https://github.com/pytorch/ao

USE_CPP=0 means without CUDA extensions -> less chance for error. If you feel adventurous, you can leave that out to build the CUDA extensions.

@moreAImore
I actually build from source. I needed it for CogVideo.

@moreAImore
I actually build from source. I needed it for CogVideo.
torchao 0.7.0+gitd4ca98f6 C:\ai\CogVideo\ao

what pytorch version are you using? 2.5.1+cu124 is giving me an error

just installed torch ao but still getting this error why?
Traceback (most recent call last):
File "R:\CogVideoX_v3\CogVideo\inference\gradio_composite_demo\app.py", line 40, in
from torchao.quantization import quantize_, int8_weight_only, weight_only_quant_qconfig
ImportError: cannot import name 'weight_only_quant_qconfig' from 'torchao.quantization' (R:\CogVideoX_v3\CogVideo\venv\Lib\site-packages\torchao\quantization_init_.py)

what version did you install @FurkanGozukara


todo plugin do not uses $TODO variable

The todo plugin https://github.com/Bash-it/bash-it/blob/3f318914fd38f1ee43a5ee794b0db80eff0e6cda/plugins/available/todo.plugin.bash#L12 directly refers to todo.sh whereas todo aliases do not and use the $TODO env variable https://github.com/Bash-it/bash-it/blob/7c09252ac86f430b9a6eaeebfc19b20a9f6fe3ce/aliases/available/todo.txt-cli.aliases.bash. The $TODO env variable is defined in https://github.com/Bash-it/bash-it/blob/master/template/bash_profile.template.bash#L35.
My suggestion would be to use the $TODO env variable in plugin as well

@romulusFR Great find! Would you be willing to submit a Pull Request to clean this up? We'll take a look if you do!

Greetings All,
I feel like there's some ambiguity in Bash-Its TODO support.
bash_profile.template.bash
# Set this to the command you use for todo.txt-cli
export TODO="t"

This is confusing to me and could represent any one of 3 values:

Reference the actual installed todo.txt-cli executable (possibly with full path)
The name of the alias the user has already previously configured to point to the actual todo executable
The name of the alias the user would like bash-it to create to point to the actual todo executable

The default value "t" suggests option 2.
The alias file suggests either option 1 or 2
The plugin file implies option 3
todo.plugin.bash
if [ -z "$TODOTXT_DEFAULT_ACTION" ]; then
  # typing 't' by itself will list current todos
  export TODOTXT_DEFAULT_ACTION=ls
fi

alias t='todo.sh'

Not sure what this script used to contain (I can see it has an edit history), but it has essentially been reduced to setting an (opinionated) alias.
A better place to set opinionated aliases would be todo.txt-cli.aliases.bash.
Moving the alias leaves the plugin with just the TODOTXT_DEFAULT_ACTION configuration.
Although useful, I don't know if its enough to warrant the existing of the plugin.
Having a look at all the supported environment variables suggests to me that there are not any other variables that could benefit from defaults:

todo.txt-cli Environment variables

Making The Plugin Useful
Having advocated for removing the plugin, I will now see if there's some direction that could make the plugin useful.
Implied Alias
The fact that the plugin tries to create alias "t" which also happens to be the default value of the ${TODO} variable, implies to me that the plugin may have intended to name the alias based on the variable, ie. something like:
# Name of alias is defined by the user
alias ${TODO}="todo.sh"

(btw: I tested this idea locally and creating an alias named from a variable works as expected)
This has me thinking we could re-purpose the plugin to do the following:

Set ${TODOTXT_DEFAULT_ACTION} if not already defined (existing behavior)
If ${TODO} is already defined AND passes the _command_exists ${TODO} check, then do nothing
If ${TODO} is not defined, but todo.sh exists, then export TODO=todo.sh
if ${TODO} is already defined BUT fails the _command_exists ${TODO} check, then:

If todo.sh exists, then assign it to TODO but create an alias from the previous value:

alias ${TODO}=todo.sh # create alias from previous value
export TODO=todo.sh # modify to point to actual command

if todo.sh does not exist, then generate a log error message and do nothing

Essentially, this boils down to:

Try to ensure that ${TODO} exists and is valid
In the case where it already exists but is not valid, assume the user was indicating a desire for an alias

Side Note - Plugin Name
On a side note, the plugin would be better named as todo.txt-cli.plugin.bash since the "TODOTXT_DEFAULT_ACTION" logic is specific to that todo tool.
todo.txt-cli.aliases.bash
alias tls="$TODO ls"
alias ta="$TODO a"
alias trm="$TODO rm"
alias tdo="$TODO do"
alias tpri="$TODO pri"

Where's the t alias ?
This feels like exact place where the t alias would be defined.
Generally, our aliases get to be opinionated and non-apologetic, ie. we don't have to check if an existing command or alias exists before assigning it.
But for t I would consider an exception, since:

The user may have already defined it (per interpretation of the profile varialble)
The plugin may have already defined it

Why the variable?
This seems like one of the only aliases to use a user-defined variable to reference the aliased command.
In fact a quick search of the aliases folder suggests there are only a few others:

$EDITOR
$PAGER
$PREVIEW
$IRC_CLIENT

This has me wondering if the ${TODO} variable should be supported?
If we feel the variable should continue to be supported:

The alias can't assume that the plugin is enabled
The alias should probably abort with log error message if it is not present + _command_exists

Conclusion
My thoughts are a bit all over the place on this - I kept getting new insights as I was working through the various files.
Just the same, I think our TODO/todo.txt-cli support could use some attention.
-DF

I love the above analysis. I think we should still proceed with merging the currently associated PR, just for the minor cleanup of the existing established logic, then we should have a holistic evaluation of todo.
As far as that goes, I would expect the plugin to be configuring TODO_DIR more than anything to ensure that todo installs stay identical across OSes, and that the aliases be put in a dedicated alias file. AFAIK, the history for this is because todo used to be embedded in the repo. When it was removed, this stuff just wasn't really looked at.

Yes, agree - the $TODO variable in the template profile file shouldn't really be there. It's been there for historical purposes, probably time to get rid of it now...

https://github.com/Bash-it/bash-it/issues/1374
I'd like to point out that setting TODO="t" and enabling the todo plugin breaks modern-t theme, which integrates the python task list script which is called "t".  The alias tls for todo.sh ls already exists, why are we creating an alias "t" at all? Was this to support some other theme?
Users will trip on this when they have todo.sh installed, and the todo.sh plugin enabled, and then decide to try out modern-t theme. They will at first assume that the prompt is integrated with todo.sh (aliased to "t"!!) but after a while, they will notice the count is wrong and always will be.  The fix is, disable the todo.sh plugin, and install "t", then the modern-t theme will work as the author intended.
I will attempt a PR that adds a comment to the modern-t theme advising them to turn off "todo.sh plugin" and make sure "t" is installed, I think this would allow most folks transparency into the issue.  Also, since I now understand how to do it, would a PR for a todo.sh integrated theme variant be interesting?


Add prepublishOnly and upgrade the package version

@BruceDai, PTAL, thanks!

Great job, thanks @Honry


Theme updates aren't hitting 60Hz

The tree walk is killing us (I checked with a Dart profile, and while it's noisy, the tree walk is definitely near the top).

That's with a patch that avoids the tree walk. I'm not convinced that's much of an improvement. I'll upload the patch momentarily.

https://github.com/flutter/flutter/pull/1299

That's with also moving from Set to HashSet. Not much change.

That last one is with also caching the upwards walk, since on hte profile inheritFromWidgetOfExactType was one of the top functions.

I've updated the PR to include that fix too. Looking at the profile there's nothing obvious there anymore. It's just General Slowness.

That looks a lot better.  What did you change?

/me sees the pull request.

Closed on the basis that the PR fixed it.


[Gssoc23]: hover effect on the scroll to top button

What feature?
hover effect on the scroll to top button
Add screenshots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

is it really helpful?

yeah it will make user experience better

assigned to you.
also, make sure to add our theme color(purple)


configs.fetch is badly typed

The problem here is:

mappersmith is isomorphic (since the beginning)
mappersmith aims to be 0 dependencies library (since the beginning)
mappersmith wants to be a TS project and provide typings (fairly new thing, started as typings and evolved into first class TS project)

[3] is not really finished though. The thing is that mappersmith uses fetch as if it is a global instance, which TS treats as lib.dom which ofc makes no sense for node projects. This makes types implicitly have a web context (where fetch is native).
Even even we split typings into .node.ts and .web.ts which is done in this branch we still cannot export a project with different typings, this is a limitation in TS as they only support one "typings" field, see issue https://github.com/microsoft/TypeScript/issues/29128
So we are completely out of options here in terms of actual types.

Is blocked by TS: a library cannot be isomorphic but with different types
We cannot rely on userland using e.g node-fetch or native fetch (new since node 20 which isnt even LTS) so we cannot provide typings as long as this is a configs "plugin" since we dont know what it is, exactly.

The best way forward is probably to use an adapter type that "works" for browser and node.

Will not work on this