pull down to refresh

Does the protocol require to reuse addresses like Breez SDK and Blitz wallet do?
This also seems to be the case for the SDK from Spark itself since I found this in their official developer guide:
Important Notes
  • The same wallet will always generate the same Spark Address
But not sure if that's a technical limitation of the protocol, or just a limitation of all existing SDKs and wallets.
Maybe this is a question for @benthecarman?