Приложение Discourse для iOS выкинуло меня на главный экран

При многозадачности приложение Discourse Hub для iOS не остаётся на странице форума при переключении на другое приложение. Я использую iOS 13.2.2 (последняя версия), но поведение остаётся прежним: я теряю место в теме, которую читаю, и каждый раз вынужден искать её заново. Это нормальное поведение?

Было бы здорово, если бы приложение позволяло легко переключаться между форумами и запоминало обсуждаемую тему, а не просто показывало разделы «Последние» или «Непрочитанные». Это должно работать как в мобильном Safari с несколькими открытыми вкладками, между которыми можно быстро переключаться. Я был бы очень рад, если бы эта функция появилась.

Состояние не будет утеряно, если вы не закроете приложение или iOS не завершит его работу в фоновом режиме.

В iOS 13 были проблемы с этим, версия 13.2.2 должна улучшить ситуацию, но она не удерживает приложения открытыми бесконечно.

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

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

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

Какой iPhone вы используете? Какие ещё приложения вы регулярно используете?

Apple утверждает, что исправила проблемы с управлением оперативной памятью в iOS 13.2.2 и iPadOS 13.2.2. Я не думаю, что это ошибка.

Вы активно используете многозадачность? На моём iPhone 11 Pro установлена iOS 13.2.2, и приложение Discourse работает нормально. Оно никогда не вылетает и не перезагружается при лёгкой или умеренной многозадачности.

С другой стороны, в моём iPhone 4 гигабайта оперативной памяти. Учитывая, что iOS 13.2.2 (и iPadOS 13.2.2) поддерживается на устройствах с минимум 2 гигабайтами ОЗУ, проблема может быть просто в возрасте вашего устройства.

Я использую Xs Max, так что он не такой уж старый. Тем не менее, приложения, между которыми я часто переключаюсь при многозадачности, — это WhatsApp, Twitterrific, Apollo и камера. Я заметил, что это чаще происходит при переключении на камеру. Возможно, съёмка фото и видео потребляет больше внутренней памяти. Интересный момент: сейчас я экспериментирую, и в Safari ситуация гораздо лучше — когда я возвращаюсь в Discourse в Safari, страница становится пустой и обновляется. Но после завершения обновления я оказываюсь там, где остановился. А вот Discourse Hub (приложение для iOS) возвращает меня на главный экран приложения вместо того, чтобы оставаться на месте, и при этом происходит обновление.

Вкладки Safari сохраняются после закрытия. Если вы используете функции, которые приводят к завершению работы Discourse, аналогичного поведения нет.

Это, вероятно, тоже верно. Цель приложения — обеспечить быстрый и простой доступ к нескольким сообществам. Переход на главный экран, где отображаются обновления со всех сайтов, является важной частью полезности приложения.

Да, это, скорее всего, связано именно с приложением камеры.

Нет. Это реальная проблема и не имеет ничего общего с камерой.

Если я покину приложение на 5 секунд во время написания комментария, чтобы, например, что-то найти в Safari, мне придется ждать, пока приложение запустится заново, снова выбрать сайт Meta, найти тему и надеяться, что большая часть моего ответа сохранится как черновик.

Я предположил, когда это впервые началось, что это связано с ошибкой, о которой я читал в iOS 13. Но эта ошибка была исправлена, и проблема исчезла в других приложениях.

Редактирование: у меня iPhone XS, и в других приложениях я с этим не сталкиваюсь.

У вас есть последовательный сценарий воспроизведения и набор действий, которые приводят к этой проблеме?

Например:

  1. Начните ответ на meta
  2. Переключитесь на Safari, посетите сайты X, Y и т. д. … подождите N минут
  3. Вернитесь в приложение, и оно окажется на начальном экране

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

Уверен, что это вина Apple — что-то изменили или сломали, и это бьёт только по этому приложению в моём случае, но очень надеюсь, что проблему удастся решить.

Понял, я довольно часто пользуюсь приложением и, к счастью, пока не столкнулся с этой проблемой, но я полностью верю, что у вас она возникает.

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

Что ж, это даже хуже, чем я сообщал ранее. Для меня не редкость просто читать здесь, на Meta, заблокировать телефон, пока я занимаюсь чем-то другим в течение нескольких минут, а когда я разблокирую телефон, приложение уже даже не запущено.

Я также иногда видел это в других приложениях. Думаю, это связано с iOS. Я просто хочу, чтобы это не происходило так часто именно в Discourse.

Не знаю, насколько это важно, но я смог воспроизвести сбой. Неясно, вызван ли он iOS или самим приложением.

Я могу открыть приложение, перейти к конкретной теме на моём сайте, нажать «Показать полный пост», чтобы загрузить контент из WordPress, немного прокрутить страницу, заблокировать телефон, подождать около 30 секунд, разблокировать его — и приложение Discourse уже не работает, а контекст утерян.

С момента последнего обновления я не замечал, чтобы подобное происходило с другими приложениями: простое блокирование телефона, ожидание и последующая разблокировка не приводили к закрытию приложений.

Что делает «Показать полный пост»? Открывает ли он Safari?

Нет. Он подтягивает содержимое связанного поста в WP с помощью библиотеки для парсинга или чего-то подобного.

Похоже, это встроенная функциональность, но я видел её в использовании только с плагином WP-Discourse для WordPress. Уверен, что @simon сможет объяснить подробнее. Главное в том, что он просто отображает контент непосредственно в Discourse. На протяжении всего процесса не используются другие приложения.