LINUX.ORG.RU

Tatuin v0.24.0 со своей БД для задач и улучшеным UX

 , , , ,


0

4

После почти месяца разработки и более 100 коммитов я рад представить новую версию агрегатора задач Tatuin v0.24.0.

Основные нововведения:

  • В однострочных полях ввода теперь можно перемещать курсор и редактировать строку в любом месте.
  • Добавлена своя локальная БД для задач, которая предлагается по умолчанию. Это сделано для того, чтобы можно было попробовать приложение без подключения провайдеров.
  • Добавлена поддержка удаления задач.
  • Добавлена возможность создания дубликата задачи.
  • Добавлена поддержка описания задачи в Obsidian.
  • Команда «Создать задачу» теперь глобальная и вызывается из любой панели.

Исправлено:

  • падение в однострочных полях ввода при использовании кириллицы;
  • некорректное создание Daily note в Obsidian;
  • множество других исправлений.

>>> Все изменения

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 5)

со своей БД для задач

Добавлена своя локальная БД для задач, которая предлагается по умолчанию. Это сделано для того, чтобы можно было попробовать приложение без подключения провайдеров.

Хотел какашек накидать, а оказалось что просто бэкенд добавлен для своей БД.

Кто ж так новости пишет?

Loki13 ★★★★★
()

Исправлено:
множество других исправлений.

Исправлено «множество других исправлений»??.. ;))

Somebody ★★★★
()

ох эти сонибои с горящим пердаком, доставляющим их до орбит спутников татуина. как же это давно было...

etwrq ★★★★★
()

Очередной бинарник на Rust размером 19 мегабайт при размере исходного кода 12 тысяч строк.

Какой же рак.

wandrien ★★★
()
Ответ на: комментарий от MoldAndLimeHoney

Один да не совсем.

$ LANG=C readelf -d tatuin | grep 'NEEDED'
 0x0000000000000001 (NEEDED)             Shared library: [libssl.so.3]
 0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.3]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]
wandrien ★★★
()
Ответ на: комментарий от s-warus

И на этот вопрос тоже есть ответ. Растовый рантайм + 351 зависимый пакет.

$ grep 'name =' attribution/dependencies.toml | wc -l
351
wandrien ★★★
()
Ответ на: комментарий от s-warus

Для сравнения размер бинарника mc - 1.1 MB, размер весьма немаленькой либы glib2 - 1.4 MB.

vadim@aquila:~$ ls -lh /usr/bin/mc
-rwxr-xr-x 1 root root 1,1M янв 23  2025 /usr/bin/mc
vadim@aquila:~$ ls -lhH `ldd /usr/bin/mc | grep -o '/usr[^ ]*'`
-rwxr-xr-x 1 root root 241K авг 13 19:30 /usr/lib64/ld-linux-x86-64.so.2
-rwxr-xr-x 1 root root 5,4M сен 30 21:39 /usr/lib/libcrypto.so.3
-rwxr-xr-x 1 root root 2,1M авг 13 19:30 /usr/lib/libc.so.6
-rwxr-xr-x 1 root root  40K июл  9 12:56 /usr/lib/libe2p.so.2
-rwxr-xr-x 1 root root 1,4M сен 20 05:21 /usr/lib/libglib-2.0.so.0
-rwxr-xr-x 1 root root  22K сен 20 05:21 /usr/lib/libgmodule-2.0.so.0
-rwxr-xr-x 1 root root  26K июл 24  2024 /usr/lib/libgpm.so.2
-rwxr-xr-x 1 root root 1,1M авг 13 19:30 /usr/lib/libm.so.6
-rwxr-xr-x 1 root root 444K мая  8 03:21 /usr/lib/libncursesw.so.6
-rwxr-xr-x 1 root root 679K авг 28 18:34 /usr/lib/libpcre2-8.so.0
-rwxr-xr-x 1 root root 1,4M июл 26 20:19 /usr/lib/libslang.so.2
-rwxr-xr-x 1 root root 295K янв  1  2025 /usr/lib/libssh2.so.1
-rwxr-xr-x 1 root root 916K сен 30 21:39 /usr/lib/libssl.so.3
-rwxr-xr-x 1 root root  99K мая  2  2024 /usr/lib/libz.so.1
wandrien ★★★
()
Ответ на: комментарий от Loki13

Так вроде понятно написал же - добавлен провайдер со своим форматом для локальной БД тасок, чтобы потыркать можно было.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от MoldAndLimeHoney

ТУЙня, которая умеет показывать в одном месте таски из Obsidian, Todoist и пр. провайдеров и давать CRUD над ними.

panter_dsd ★★★★★
() автор топика

За tui жирный плюсик, да и поддержку obsidian тоже.

sehellion ★★★★★
()

чуть было не поставил первую программу на расте! :)

$ cargo install tatuin
    Updating crates.io index
  Downloaded tatuin v0.24.0
error: failed to parse manifest at `/home/max/.cargo/registry/src/github.com-1ecc6299db9ec823/tatuin-0.24.0/Cargo.toml`

Caused by:
  failed to parse the `edition` key

Caused by:
  this version of Cargo is older than the `2024` edition, and only supports `2015`, `2018`, and `2021` editions.

pihter ★★★★★
()
Ответ на: комментарий от pihter

а если я в докер накачу какую-нибудь убунту, там каргой установлю татуин и оттудова стащу бинарик на основную систему, будет работать? Я правильно понял из комментов что у тебя все в одном бинарике?

pihter ★★★★★
()
Ответ на: комментарий от pihter

даже в убунте не работает (хотя, конечно, наверняка, я что-то делаю не так, но что тут можно сделать не так?):

# cargo install tatuin
    Updating crates.io index
error: cannot install package `tatuin 0.24.0`, it requires rustc 1.89 or newer, while the currently active rustc version is 1.75.0

это latest убунта из докера

pihter ★★★★★
()
Ответ на: комментарий от pihter

Модно, молодежно. Язык для прода как он есть.

wandrien ★★★
()
Ответ на: комментарий от pihter

Но программа и правда выглядит полезной. Имеет смысл пощупать, как работу разргебу.

Если бы еще не была написана на СДВГ-driven языке, было бы вообще замечательно.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Если бы еще не была написана на СДВГ-driven языке, было бы вообще замечательно.

К чести автора, он это нигде не выпячивал, я аж зауважал :) так что – плевать. Религиозная ненависть к расту ничем не лучше религиозной любви к оному. Согласен, программа выглядит полезной, уже второй час пытаюсь защупать

pihter ★★★★★
()
Ответ на: комментарий от pihter

Там не в религиозной ненависти проблема, а именно в таких вот граблях экосистемы. Или жри неизвестно как собранный бинарь на 19 МБ, или при попытке собрать из сорцов - ходи по граблям, потому что под каждую новую программу нужна своя версия Раста.

Сумрачные деревья зависимостей - это тяжкое последствие экосистемы, построенной по подобию NPM. По сути ключевая ошибка дизайна, которую разрабы Раста выдают за киллер фичу.

Сам язык как язык вопросов особо не вызывает. Ну язык и язык.

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 2)

Я выстрадал: палю инструкцию как поробовать сабж в докере

sudo docker pull ubuntu
sudo docker run -it ubuntu
apt update
apt install curl pkg-config librust-openssl-dev
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
. "$HOME/.cargo/env"
cargo install tatuin
tatuin 
tatuin
pihter ★★★★★
()
Ответ на: комментарий от wandrien

Согласен, npm напомнило. Нафиг люди это делают, ей богу авотулзами проще…

Экосистема, конечно, «порадовала»: я в первый раз и ожидал чего-то современного разумного. А тут все то же: вроде свой пакетный менеджер, но он даже в убунте протухший, не говоря про мой диван.

pihter ★★★★★
()
Ответ на: комментарий от pihter

Эта критика не отменяет благодарности автору: автор написал годноту ( похоже ) и выложил для всех под MIT – только лучи благодарности за такое

pihter ★★★★★
()
Ответ на: комментарий от panter_dsd

По мне, было бы лучше

Tatuin v0.24.0 агрегатор задач - в заголовке

А про то что _добавлен_ провайдер, уже в новости, пусть и первой строкой. А сейчас, создается впечатление, что своя БД это главное достоинство софтины(а не этого релиза).

Loki13 ★★★★★
()

Ну компилируется довольно быстро, кстати.

Проверил бегло работу UI - работает во всех терминалах, кроме lilyterm.

Возможно, это тот же баг, из-за которого с некоторых пор в lilyterm перестал корректно работать mc. А может и другой. Всё никак не доходят руки разобраться, почему mc стал некорректно рисовать себя. Проблема ли это на стороне терминала или нет.

Сижу пока в urxvt из-за этого.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Только доперло - это же статический бинарник, который должен на любом линухе запуститься. 19 метров для этого вполне норм. Если собрать под конкретный дистр, то будет значительно меньше. К сожалению, пока есть только для арча - какой-то добрый человек опакетил. Если кому-то нужно будет, сделаю для бубунты пакет.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от pihter

У тебя версия раста в бубунте дюже старая - надо 1.89. Можешь через rustup поставить в хомяк и собрать ей, если интересно.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от pihter

Тут не в расте проблема. Как раз, у него все хорошо с пакетами - всё само тянется и собирается, надо только сам компиль нужной версии и cargo. В том же go то же самое все. А где все плохо, так это в плюсах и vspkg или conan не всегда помогают.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от Loki13

Я хотел в новости указать именно что новое появилось. Но ок, критику принял.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от wandrien

Я ghostty юзаю, но некоторые вещи действительно могут быть терминало-зависимыми, ибо там всякие управляющие коды используются для того же курсора. Мне работу с линками пришлось самому реализовывать из-за того, что ghostty не умеет в управляющие коды для определения урлов. Ты не мог бы закинуть баг с подробностями? Я посмотрю и либо пофикшу, либо отнесу в ratatui, который я юзаю для TUI интерфейса.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от panter_dsd

Только доперло - это же статический бинарник, который должен на любом линухе запуститься

Ну, по крайней мере тот, который я собрал в докере на основной системе не запустился ссылаясь на некорректную версию libc. Так что не такой уж он и статический. Даже когда подсунул ему евойную libc через LD_LIBRARY_PATH – все равно начал ругаться на недостающий символ и я тут уже бросил

pihter ★★★★★
()
Ответ на: комментарий от panter_dsd

Возьми сборку из релиза - должна запускаться везде.

то же самое:

$ ./tatuin 
./tatuin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.39' not found (required by ./tatuin)
pihter ★★★★★
()
Ответ на: комментарий от panter_dsd

У тебя версия раста в бубунте дюже старая - надо 1.89. Можешь через rustup поставить в хомяк и собрать ей, если интересно.

Так это не у меня: это в текущей стабильной убунте. Неофициальный эталон для «работает на линуксе». Слишком быстро течет ваш раст, если даже в убунте он «дюже старый». Но это так – старческое брюжжание :)

Я так и сделал: взял растап, установил в контейнер и засобиралось. А потом даже у себя на devuan-е сделал так же и тоже засобиралось.

pihter ★★★★★
()
Ответ на: комментарий от panter_dsd

У меня, кстати, вообще ctrl+enter не заработали ни в xfce4-terminal ни в xterm – я так и не смог ни одной таски создать, хотя все остальные клавиши, вроде как, работают

pihter ★★★★★
()
Последнее исправление: pihter (всего исправлений: 1)

Добавлена возможность создания дубликата задачи.

Вот этого прям сильно не хватает… везде. Мало где это реализовано, хотя казалось бы…

Для повторяющихся задач с неизвестной/нестабильной периодичностью вещь крайне нужная.


@panter_dsd, сделай, пожалуйста, билды для freebsd_amd64. Гитхабу это ничего не стоит, а я до скончания веков на своём X230 компилять буду.

Я бы ебилд порт написал, но для пакетов на расте надо перечислять ВСЕ зависимости, я вращал это дело. )=

mord0d ★★★★★
()
Ответ на: комментарий от pihter

А shift-enter? Возможно, Ctrl+Enter у тебя перехватывается WMкой.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от pihter

Но понял косяк, сделаю так, чтобы можно было табом в том числе на кнопки переходить.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от mord0d

Сегодня сходу не смог из-под мака собрать, даже в докере. Арендовал VPS с бубунтой, завтра попробую в ней собрать. Спасибо за желание потестировать.

panter_dsd ★★★★★
() автор топика
Ответ на: комментарий от panter_dsd

Сегодня сходу не смог из-под мака собрать, даже в докере. Арендовал VPS с бубунтой, завтра попробую в ней собрать.

С кросскомпайлом вряд ли смогу помочь, тем более из-под мака (я там никогда ничего не компилял, слава Котоне). Да и с растовым тулчейном я совсем не знаком. Но готов помочь, если объяснят как. (=

mord0d ★★★★★
()
Ответ на: комментарий от panter_dsd

Завтра/послезавтра постараюсь скомпилять.

Да как бы не горит.
Но было бы приятно брать готовые бинари прям с гитхаба.

mord0d ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.