Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№116-06-2010 15:19:06

German_1984
Участник
 
Группа: Members
Зарегистрирован: 24-04-2009
Сообщений: 5
UA: Firefox 3.6

не обновляется RSS лента

[thunderbird] 3.0.4 не обновляет ленту http://rp5.ru/rss/4429/ru
точнее даже не загружает ее полностью первый раз. только одно сообщение из 4-х и все.

создание нового профиля не помогает.

Проблема повторяется на TB 2.0, 3.0 и на ночных сборках Shredder

[windows] XP sp2 и sp3, проверял на разных машинах.

Отсутствует

 

№201-11-2010 08:32:00

Andy_Scull
Участник
 
Группа: Members
Зарегистрирован: 15-05-2009
Сообщений: 31
UA: Namoroka 3.6

Re: не обновляется RSS лента

Я вручную сохранил фид в текстовый файл и пробовал его редактировать-подгружать.
Нашел в чем проблема.
1. в фиде <link> одинаковы у всех айтемов.
2. у айтемов есть только: <title> <link> <description>

3. итог - айтемы вообще различаются только по <title> и <description>. Как только я в <link> добавил случайные символы, чтоб они различались, подгрузился полный список.
Предполагаю, что ТБ вообще умеет индексировать только по <link> или по <guid>, если этого нет - то он считает дубликатом и не добавляет.

В связи с этим требуется консультация более опытных людей - стоит ли это считать багом и забивать в трекер?
Потому как опыт общения с мозилловцами уже есть, и ответ я уже предполагаю будет "Won't fix: подите нафиг, ваш рсс фиговый".

Вообще как бы занялся этим только потому, что думал что проблема та же, что и с моим фидом. Оказалось - нет.

Отредактировано Andy_Scull (01-11-2010 08:33:50)

Отсутствует

 

№301-11-2010 13:30:46

German_1984
Участник
 
Группа: Members
Зарегистрирован: 24-04-2009
Сообщений: 5
UA: Firefox 4.0

Re: не обновляется RSS лента

Согласно официальной спецификации RSS 2.0 (перевод) <link> вообще не является обязательным элементом.

Уникальным обязан быть только <guid>, если он есть, а иначе, похоже, нужно проверять на полное совпадение всего item'а

Так что, ИМХО, это все-таки баг.

Отсутствует

 

№410-02-2012 09:07:11

Andy_Scull
Участник
 
Группа: Members
Зарегистрирован: 15-05-2009
Сообщений: 31
UA: Firefox 6.0

Re: не обновляется RSS лента

German_1984 пишет

Согласно официальной спецификации RSS 2.0 (перевод) <link> вообще не является обязательным элементом.

Уникальным обязан быть только <guid>, если он есть, а иначе, похоже, нужно проверять на полное совпадение всего item'а

Так что, ИМХО, это все-таки баг.

Воскрешаю тред, поскольку возможно нашел в чем проблема.
Просмотрел исходники тандерберда, там тупо - внутренний id берется либо из link, либо из guid.
В моей проблемной рсс ленте есть пара айтемов, у которых есть только <title> и <description>. Они создают дубликаты после каждого обновления.
Решение - вписал в сорсы костыль, чтобы внутренний ID брался из <title>, если нет ни линка ни гуида. Сработало для моей проблемы, если у кого-нить будут проблемные фиды - пишите в личку, попробую на них. Возможно что та же проблема, а может другая...
п.с. поскольку все это в .js, то правится элементарно. Поскольку я его не знаю, то только смог для себя костыль сделать. По хорошему надо чтобы профессиональный ява-программер переписал весь этот дебильский рсс-парсер, уж проблемы с ним по моему с первой версии ТБ ещё тянутся, можно найти посты 2006-го года и раньше

Отредактировано Andy_Scull (10-02-2012 11:59:49)

Отсутствует

 

№524-07-2012 09:00:11

Andy_Scull
Участник
 
Группа: Members
Зарегистрирован: 15-05-2009
Сообщений: 31
UA: Palemoon 12.0

Re: не обновляется RSS лента

И как окончательный диагноз (поскольку вчера весь день экспериментировал и добился чего хотел...
В готовой сборке Thunderbird присутствует omni.ja.
В нем вам нужен файл \chrome\newsblog\content\messenger-newsblog\feed-parser.js
Если ваша версия фара поддерживает архивы, можно редактировать прямо внутри.

Листаем до функции parseAsRSS2.
И корячим как считаем нужным...

Мои правки (как работает для моих фидов без сбоев) -
1. переношу item.description= и item.title= перед проверкой guidnode (if (guidnode).
2. Там где кончается этот if (guidnode) дописываю, чтобы id брался из тегов title и description, конечный результат:
        item.id = guid;
        item.isStoredWithId = true;
      } else {
        guid = item.title + item.description
        item.id = guid
        item.isStoredWithId = true;
      }

Вроде работает.
В ленте http://rp5.ru/rss/4429/ru не совсем приятно работает. Не обновляет существующие элементы (и метит их как непрочитанные), а добавляет новые. Это происходит каждый раз когда создатели ленты обновляют (и меняют) описания - прогноз.

Кто-нить может подсказать, есть ли тут в яваскрипте функции, чтобы захешировать строку без лишних проблем? Хочу вместо простого суммирования строк класть в guid их хэш.

Отсутствует

 

№624-07-2012 09:17:00

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Firefox 3.6

Re: не обновляется RSS лента

Andy_Scull пишет

Кто-нить может подсказать, есть ли тут в яваскрипте функции, чтобы захешировать строку без лишних проблем? Хочу вместо простого суммирования строк класть в guid их хэш.

https://developer.mozilla.org/en/XPCOM_ … CryptoHash
в самом низу примеры есть


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]