/// The geohash prefix to search offers by, given the user's coarse [area] and
/// the chosen [precision] (a prefix length; see
/// `SocialSettings.searchPrecision`).
///
/// Publishing emits a NIP-52 prefix ladder from the (already coarse) area, so a
/// SHORTER search prefix still matches finer offers. Searching at the full area
/// length only matches the exact ±2.4 km cell — which is why two neighbours in
/// adjacent cells used to find nothing. We recorten the area to [precision] (but
/// never beyond its own length) so "your zone" is genuinely a zone, not a point.
String searchPrefix(String area, int precision) =>
    area.substring(0, area.length < precision ? area.length : precision);
