Hi Matt
I have now added the debug packages to the device:
Am 2015-08-10 02:15, schrieb Matthew Vogt:
Mission control appears to implement the
"org.freedesktop.Telepathy.ChannelDispatcher.Interface.Messages1"
interface now - see:
https://github.com/nemomobile-packages/telepathy-qt/commit/6f0177bc024f3f7bce94c0abc283fba1c3b8a0d1
Perhaps your telepathy-qt packages and your telepathy-mission-control
packages are not in sync?
Thanks,
Matt
Installed contactsd-1.2.65.3-1.30.2.armv7hl
Installed telepathy-accounts-signon-0.1.27.2-1.12.3.armv7hl
Installed telepathy-farstream-0.4.0-1.1.6.armv7hl
Installed telepathy-gabble-0.18.3+git1-1.7.1.armv7hl
Installed telepathy-glib-0.20.3-1.2.3.armv7hl
Installed telepathy-mission-control-5.15.0+git9-1.6.3.armv7hl
Installed
telepathy-mission-control-debuginfo-5.15.0+git9-1.6.3.armv7hl
Installed telepathy-qt5-0.9.4+git2-1.6.5.armv7hl
Installed telepathy-qt5-debuginfo-0.9.4+git2-1.6.5.armv7hl
Installed telepathy-qt5-farstream-0.9.4+git2-1.6.5.armv7hl
Installed telepathy-ring-2.4.0-1.16.1.armv7hl
Installed telepathy-ring-debuginfo-2.4.0-1.16.1.armv7hl
Installed voicecall-qt5-plugin-telepathy-0.6.10-1.22.1.armv7hl
After that I get the debug output at the bottom of this post.
It strikes me that the error is returned very early in the process
b.t.w, checking through sent SMSes proves that the code worked back in
November 2014.
Cheers
Chris
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
DBusProxy
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedStatuses = QSet(0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedFeatures = QSet(QPair("Tp::Account",3) ,
QPair("Tp::Account",2) , QPair("Tp::Account",1) ,
QPair("Tp::Account",0) )
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating a
new SimpleTextObserver
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Client
registered - busName: "org.freedesktop.Telepathy.Client.TpQtSO__1_145_0"
objectPath: "/org/freedesktop/Telepathy/Client/TpQtSO__1_145_0"
interfaces: ("org.freedesktop.Telepathy.Client.Observer")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Observer
"TpQtSO__1_145_0" registered
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Contact id
requires normalization. Queueing events until it is normalized
[D] TelepathyHelper::onSendMessageFinished:70 -
TelepathyHelper::onSendMessageFinished
[D] TelepathyHelper::onSendMessageFinished:72 - Error sending message:
"org.freedesktop.Telepathy.Error.NotImplemented" - "Channel Dispatcher
implementation (e.g. mission-control), does not support interface
CD.I.Messages"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ObserveChannels: account:
"/org/freedesktop/Telepathy/Account/ring/tel/account0" , connection:
"/org/freedesktop/Telepathy/Connection/ring/tel/ring"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Inserting to
factory cache proxy for
QPair("org.freedesktop.Telepathy.AccountManager","/org/freedesktop/Telepathy/Account/ring/tel/account0")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
DBusProxy
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connecting
to ConnectionError()
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connecting
to StatusChanged()
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connecting
to SelfHandleChanged()
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
HandleContext for "/org/freedesktop/Telepathy/Connection/ring/tel/ring"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedStatuses = QSet(2, 0, 1, 4294967295)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedFeatures = QSet(QPair("Tp::Connection",2)
, QPair("Tp::Connection",5) , QPair("Tp::Connection",4) ,
QPair("Tp::Connection",7) , QPair("Tp::Connection",6) ,
QPair("Tp::Connection",1) , QPair("Tp::Connection",0) )
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Inserting to
factory cache proxy for
QPair(":1.19","/org/freedesktop/Telepathy/Connection/ring/tel/ring")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
DBusProxy
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
Channel: "/org/freedesktop/Telepathy/Connection/ring/tel/ring/text16"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connecting
to Channel::Closed() signal
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connection
to owning connection's lifetime signals
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedStatuses = QSet(0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedFeatures = QSet(QPair("Tp::Channel",1) ,
QPair("Tp::Channel",0) )
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedStatuses = QSet(0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedFeatures = QSet(QPair("Tp::TextChannel",0)
, QPair("Tp::TextChannel",1) , QPair("Tp::TextChannel",2) ,
QPair("Tp::Channel",1) , QPair("Tp::TextChannel",3) ,
QPair("Tp::Channel",0) )
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Inserting to
factory cache proxy for
QPair(":1.19","/org/freedesktop/Telepathy/Connection/ring/tel/ring/text16")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Preparing
proxies for ObserveChannels of 1 channels for client 0x52d52c98
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Invoking
application observeChannels with 1 channels on 0x52d52c98
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ObserveChannels: account:
"/org/freedesktop/Telepathy/Account/ring/tel/account0" , connection:
"/org/freedesktop/Telepathy/Connection/ring/tel/ring"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
DBusProxy
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
Channel: "/org/freedesktop/Telepathy/Connection/ring/tel/ring/text14"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connecting
to Channel::Closed() signal
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connection
to owning connection's lifetime signals
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedStatuses = QSet(0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedFeatures = QSet(QPair("Tp::Channel",1) ,
QPair("Tp::Channel",0) )
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedStatuses = QSet(0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedFeatures = QSet(QPair("Tp::TextChannel",0)
, QPair("Tp::TextChannel",1) , QPair("Tp::TextChannel",2) ,
QPair("Tp::Channel",1) , QPair("Tp::TextChannel",3) ,
QPair("Tp::Channel",0) )
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Inserting to
factory cache proxy for
QPair(":1.19","/org/freedesktop/Telepathy/Connection/ring/tel/ring/text14")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Preparing
proxies for ObserveChannels of 1 channels for client 0x52d52c98
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ObserveChannels: account:
"/org/freedesktop/Telepathy/Account/ring/tel/account0" , connection:
"/org/freedesktop/Telepathy/Connection/ring/tel/ring"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
DBusProxy
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Creating new
Channel: "/org/freedesktop/Telepathy/Connection/ring/tel/ring/text13"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connecting
to Channel::Closed() signal
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Connection
to owning connection's lifetime signals
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedStatuses = QSet(0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedFeatures = QSet(QPair("Tp::Channel",1) ,
QPair("Tp::Channel",0) )
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedStatuses = QSet(0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper: new supportedFeatures = QSet(QPair("Tp::TextChannel",0)
, QPair("Tp::TextChannel",1) , QPair("Tp::TextChannel",2) ,
QPair("Tp::Channel",1) , QPair("Tp::TextChannel",3) ,
QPair("Tp::Channel",0) )
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Inserting to
factory cache proxy for
QPair(":1.19","/org/freedesktop/Telepathy/Connection/ring/tel/ring/text13")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Preparing
proxies for ObserveChannels of 1 channels for client 0x52d52c98
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Calling
Connection::becomeReady()
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Calling
Properties::GetAll(Connection)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Invoking
application observeChannels with 1 channels on 0x52d52c98
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Invoking
application observeChannels with 1 channels on 0x52d52c98
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Calling
Connection::becomeReady()
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Calling
Connection::becomeReady()
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Got status:
0
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Got
interfaces: ("org.freedesktop.Telepathy.Connection.Interface.Requests",
"org.freedesktop.Telepathy.Connection.Interface.Contacts",
"org.freedesktop.Telepathy.Connection.Interface.Capabilities",
"org.freedesktop.Telepathy.Connection.Interface.ServicePoint",
"org.freedesktop.Telepathy.Connection.Interface.Cellular",
"org.freedesktop.Telepathy.Connection.Interface.Anonymity")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Retrieving
capabilities
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Got
capabilities
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Retrieving
contact attribute interfaces
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Got contact
attribute interfaces
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature:
QPair("Tp::Connection",0) - success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Faking a
group on channel with self handle=1 and other handle=16
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: 0 contact
features supported using Tp::ContactManager(0x508af1e0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: 0 contact
features supported using Tp::ContactManager(0x508af1e0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Request for
attributes for 1 contacts
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel has
3 optional interfaces:
("org.freedesktop.Telepathy.Channel.Interface.Destroyable",
"org.freedesktop.Telepathy.Channel.Interface.Messages",
"org.freedesktop.Telepathy.Channel.Interface.SMS")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Have
initiator handle: yes
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
Introspection done before contacts done - contacts sets ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Faking a
group on channel with self handle=1 and other handle=14
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: 0 contact
features supported using Tp::ContactManager(0x508af1e0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: 0 contact
features supported using Tp::ContactManager(0x508af1e0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Request for
attributes for 1 contacts
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel has
3 optional interfaces:
("org.freedesktop.Telepathy.Channel.Interface.Destroyable",
"org.freedesktop.Telepathy.Channel.Interface.Messages",
"org.freedesktop.Telepathy.Channel.Interface.SMS")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Have
initiator handle: yes
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
Introspection done before contacts done - contacts sets ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Faking a
group on channel with self handle=1 and other handle=13
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: 0 contact
features supported using Tp::ContactManager(0x508af1e0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: 0 contact
features supported using Tp::ContactManager(0x508af1e0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Request for
attributes for 1 contacts
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel has
3 optional interfaces:
("org.freedesktop.Telepathy.Channel.Interface.Destroyable",
"org.freedesktop.Telepathy.Channel.Interface.Messages",
"org.freedesktop.Telepathy.Channel.Interface.SMS")
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Have
initiator handle: yes
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
Introspection done before contacts done - contacts sets ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: 0 contact
features supported using Tp::ContactManager(0x508af1e0)
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Entering
Chan::Priv::updateContacts() with 5 contacts
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Both the MCD
and the introspect queue empty for the first time. Ready!
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Both the IS
and the MCD queue empty for the first time. Ready.
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel
fully ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel
type "org.freedesktop.Telepathy.Channel.Type.Text"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Target
handle 16
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Target
handle type 1
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature: QPair("Tp::Channel",0)
- success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Entering
Chan::Priv::updateContacts() with 5 contacts
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Both the MCD
and the introspect queue empty for the first time. Ready!
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Both the IS
and the MCD queue empty for the first time. Ready.
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel
fully ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel
type "org.freedesktop.Telepathy.Channel.Type.Text"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Target
handle 14
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Target
handle type 1
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature: QPair("Tp::Channel",0)
- success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Entering
Chan::Priv::updateContacts() with 5 contacts
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Both the MCD
and the introspect queue empty for the first time. Ready!
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Both the IS
and the MCD queue empty for the first time. Ready.
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel
fully ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Channel
type "org.freedesktop.Telepathy.Channel.Type.Text"
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Target
handle 13
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Target
handle type 1
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature: QPair("Tp::Channel",0)
- success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature:
QPair("Tp::TextChannel",2) - success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature:
QPair("Tp::TextChannel",2) - success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature:
QPair("Tp::TextChannel",2) - success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
Properties::GetAll(Channel.Interface.Messages) returned
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Message
queue empty: FeatureMessageQueue is now ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature:
QPair("Tp::TextChannel",0) - success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
Properties::GetAll(Channel.Interface.Messages) returned
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Message
queue empty: FeatureMessageQueue is now ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature:
QPair("Tp::TextChannel",0) - success: true
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
Properties::GetAll(Channel.Interface.Messages) returned
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG: Message
queue empty: FeatureMessageQueue is now ready
[D] Tp::Debug::invokeDebugCallback:146 - tp-qt 0.9.4 DEBUG:
ReadinessHelper::setIntrospectCompleted: feature:
QPair("Tp::TextChannel",0) - success: true
_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org