Странности с датами при установке тайм-аута для ссылки-приглашения

Это очень мелкая деталь, но когда я создаю новую ссылку для приглашения (сегодня, 28 мая), указанные в интерфейсе даты смещения не соответствуют подписям, например:

Я заметил это только потому, что ссылка истекла гораздо раньше, чем я ожидал. Мне кажется, что выбор «следующий месяц» на самом деле устанавливает смещение на 1 июня, а не на 28 июня.

1 лайк

Извините, я не совсем понял ваш пост. На скриншоте всё выглядит правильно. Не могли бы вы подробнее объяснить, что, по вашему мнению, не так?

2 лайка

2 месяца от 28 мая — это не 1 июля.

1 лайк

Верно, но суть в том, что речь идёт о переходе от одного месяца к следующему. Следующий месяц начинается 1 июня, верно? Тогда месяц после него начинается 1 июля, верно?

Фраза «Ваше приглашение действительно до конца месяца» проще объяснить и точнее передаёт смысл, чем «ваше приглашение истекает в совершенно случайный день посередине месяца».

4 лайка

Для меня это логично. Я сталкивался с обратной проблемой, когда речь шла о таймерах закладок. В случае с закладками с таймером, если выбрать опцию «На следующей неделе», дата устанавливается на 7 дней вперёд, но я подразумевал под «на следующей неделе» понедельник следующей недели. Не уверен, какой подход к установке будущих дат является лучшим, но, возможно, стоит придерживаться единого подхода во всём интерфейсе.

4 лайка

Да! Это не то место, куда это следует помещать, но каждый раз я в недоумении от этого!

1 лайк

Да, я думаю, что при работе над этой функцией что-то утратилось в переводе, @martin. Может быть, ты сможешь скорректировать даты, чтобы они лучше отражали озвученную выше идею?

Напомни мне об этом, когда начнётся новая, свежая неделя / месяц!

Именно это мы имели в виду, а не «сообщи мне ровно через 7 дней от сегодняшнего дня» или «сообщи мне ровно через 30 дней от сегодняшнего дня».

4 лайка

У нас есть отдельная опция именно для этого:

Если бы под «следующей неделей» подразумевалось «в начале следующей недели», то опция «Понедельник» была бы не нужна.

Это действительно запутанно, так как мы уже обсуждали это ранее, и у нас есть черновик PR, призванный привести вводные поля для приглашений и других будущих дат в соответствие с тем, как работают таймеры закладок и тем: FEATURE: make future-date-input consistent with other components and customizable by AndrewPrigorshnev · Pull Request #12985 · discourse/discourse · GitHub


Так что, хотим ли мы единообразно установить, что все опции уровня «неделя» и «месяц» должны означать «в начале следующей недели», «в начале недели через две недели» и «в начале следующего месяца»? Судя по всему, месяцы уже следуют такому поведению, проблема только с неделями. В таком случае нам также нужно будет удалить опцию «Понедельник» из закладок, так как она станет нерелевантной.

Формулировка «Два месяца» для меня означает «сейчас + два месяца», а не «в начале месяца через два месяца», поэтому, думаю, нужно скорректировать и это. @andrei работает над этим черновиком PR, возможно, он сможет заняться этим вопросом?

3 лайка

Нужно вернуться к исходной задумке, которая была у Google GMail:

Кажется, мы где-то по пути утратили из виду эту цель, но видно, что акцент здесь сделан на «следующий временной интервал», а именно:

  • Когда начнётся следующий день (завтра)
  • В середине предстоящей недели
  • Когда начнётся выходной
  • Когда начнётся следующая неделя

Это всегда было моей целью, и я старался максимально чётко это обозначить, но, похоже, мы сыграли в «испорченный телефон», и смысл где-то по пути исказился… Вот мой оригинальный пост от ноября 2019 года:

Обратите внимание, что акцент остался прежним:

  • Позже в течение дня (по сути, когда начинается вечер или «заканчивается рабочий день»)
  • Когда начнётся следующий день (завтра)
  • Когда начнётся следующая неделя

А затем идут произвольные временные точки — это допустимо, но они никогда не были основной целью этого диалога. Включать произвольные время как дополнительную опцию — нормально, но «произвольная дата через 5 дней от текущего момента» не так сразу полезна, как «когда/до начала следующей недели», «когда/до начала следующего месяца», «когда/до окончания рабочего дня и начала вечера», «когда/до начала следующего месяца», «когда/до начала выходных» и так далее…

Так что, возвращаясь к приглашениям, логика должна быть той же:

Кажется, мы немного сбились с пути в реализации этой функции. Но с некоторыми правками всё должно быть в порядке… все необходимые инструменты уже есть.

3 лайка

Вышеуказанное :backhand_index_pointing_up: определённо отражает намерение, судя по всем приведённым примерам из Gmail. Когда вы говорите:

Напомни мне об этом завтра
Напомни мне об этом на следующей неделе
Напомни мне об этом в следующем месяце

вы имеете в виду:

Напомни мне об этом, когда начнётся следующий день
Напомни мне об этом, когда начнётся следующая неделя
Напомни мне об этом, когда начнётся следующий месяц

а не:

Напомни мне об этом ровно через 24 часа
Напомни мне об этом ровно через 7 дней
Напомни мне об этом ровно через 30 дней (кстати — не во всех месяцах одинаковое количество дней!)

Добавление опции «произвольное количество дней от текущего момента» вполне допустимо как дополнительная возможность, но не было основной целью. Поэтому для справки, @martin или @andrei, кто бы ни взялся за эту задачу: я считаю, что можно реализовать оба варианта, и всегда будет доступна опция «произвольная дата», но суть в том, что люди в первую очередь мыслят интервалами «до следующего крупного календарного события» — будь то новый день, выходные, новая неделя или новый месяц.

4 лайка

Кстати, теперь всё это имеет смысл, но мой вопрос возник отчасти потому, что мы договорились о внутренней политике: ссылки-приглашения не должны быть активны дольше месяца. Ввод будущей даты частями усложняет это. Я понимаю задумку, хотя когда месяц почти заканчивается, первый вариант выбора оказывается менее полезным.

2 лайка

Вы всегда сможете использовать произвольные даты, а также смещения дат; никакая функциональность не будет удалена.

3 лайка