Email or username:

Password:

Forgot your password?
iliazeus

@top Привет!

Заметил, что у тебя на инстансе в replies поста указан, в том числе, id самого поста. Эта такая задумка, или баг?

Это просто ломает один мой инструмент, и я пытаюсь понять, распространенная ли это практика в ActivityPub, или только у тебя так :)

6 comments
iliazeus

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

top.ofthe.top

Привет. Видимо баг, спасибо что обнаружил, надо будет глянуть почему туда оно залетело.

Ну а вообще не стоит надеяться на валидность сторонних данных, тоже не раз сталкивался что где нибудь не то что ожидаешь получить. А уж в рекурсиях всегда надо предусматривать защиту от бесконечного цикла ))

iliazeus

@top

> А уж в рекурсиях всегда надо предусматривать защиту от бесконечного цикла

У меня есть ограничение по глубине. Просто оно по умолчанию большое, потому что я хочу обходить большие треды

> Кстати, а этот список реплаев ведь это чисто мастодоновская фича? Помню не во всех движках оно есть, вроде у плеромы их не было, например.

Это фича есть в стандарте AP, но по дефолту ее поддерживает, из крупных, кажется, только мастодон. У меня для этого есть фолбеки на API конкретных серверов. Но я бы все-таки хотел, чтобы ее поддерживало больше софта :)

Я все как-нибудь хочу написать пост об этой своей штуке, но она все еще не совсем доделана.

@top

> А уж в рекурсиях всегда надо предусматривать защиту от бесконечного цикла

У меня есть ограничение по глубине. Просто оно по умолчанию большое, потому что я хочу обходить большие треды

> Кстати, а этот список реплаев ведь это чисто мастодоновская фича? Помню не во всех движках оно есть, вроде у плеромы их не было, например.

top.ofthe.top

> > У меня есть ограничение по глубине. Просто оно по умолчанию большое, потому что я хочу обходить большие треды

Ну, в подобных случаях я сохраняю во временном массиве список уже запрошенных ID (в данном случае URI) и запрашиваю только уникальные, иначе пропускаю.

iliazeus

@top видимо, придется делать так, да

Go Up