ThreadVerificationException class final

Thrown when applyWrites reports something other than the thread that was built.

Raised only after the batch has been committed, so it never means "the thread was not published" -- it means the published thread does not match the reply chain that was computed for it, or, when inconclusive, that nothing came back to compare it against.

rkeys and uris are the records the batch wrote, so the thread stays reachable from the exception alone -- which is the whole difference between a recoverable failure and a lost one, given that the commit has already happened:

try {
  await bluesky.feed.createThreadAtomic(posts: posts);
} on ThreadVerificationException catch (e) {
  if (e.inconclusive) {
    // The thread is committed; ask the repository what it stored.
    final post = await bluesky.feed.post.get(uri: e.uris.first);
  }
}
Implemented types

Constructors

ThreadVerificationException(String message, {int? index, String? localCid, String? serverCid, List<String> rkeys = const [], List<AtUri> uris = const [], bool inconclusive = false})
Returns a new ThreadVerificationException.
const

Properties

hashCode int
The hash code for this object.
no setterinherited
inconclusive bool
Whether the thread could not be checked at all, rather than checked and found wrong.
final
index int?
The position in the thread of the post at fault, when one post is.
final
localCid String?
The CID computed locally for the post at index.
final
message String
The human readable error message.
final
rkeys List<String>
The record key of each post the batch wrote, in post order.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serverCid String?
The CID the repository reports for the post at index.
final
uris List<AtUri>
The AT-URI of each post the batch wrote, in post order.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited