I don't have time to test this today, but it should at least fix the panic due to a zero length profile key.
I still don't entirely know what's going on, but my understanding is that if a serviceid has 16 bits, it's an ACI, if it's 17 bits and has a zero prepended, it's an ACI, if it's 17 bits and has a 1 prepended, it's a PNI. We don't use PNIs a lot, so I'm just discarding PNIs for now. I couldn't find the stripping of the first byte anywhere in the signal app code, I just assumed it's required (because otherwise the size is wrong)
I don't have time to test this today, but it should at least fix the panic due to a zero length profile key.
I still don't entirely know what's going on, but my understanding is that if a serviceid has 16 bits, it's an ACI, if it's 17 bits and has a zero prepended, it's an ACI, if it's 17 bits and has a 1 prepended, it's a PNI. We don't use PNIs a lot, so I'm just discarding PNIs for now. I couldn't find the stripping of the first byte anywhere in the signal app code, I just assumed it's required (because otherwise the size is wrong)
Please test if you're affected by #466 or #465