Considérant:
que par acte du 9 avril 2009, A._ a formé un recours en matière pénale avec demande d'assistance judiciaire contre une ordonnance de prolongation de la détention préventive rendue le 7 avril 2009 par la Chambre d'accusation genevoise;
que par ordonnance du 27 avril 2009, la Chambre d'accusation a ordonné la mise en liberté du recourant, considérant que les actes d'enquête (identification par les victimes et écoutes téléphoniques) n'avaient pas permis de confirmer les soupçons d'escroqueries;
que le recourant conclut à l'allocation de dépens;
que les autorités intimées ne se sont pas déterminées;
que la mise en liberté du recourant rend son recours sans objet;
que le juge instructeur statue comme juge unique sur la radiation du rôle des procédures devenues sans objet (<ref-law>);
qu'il décide sur les frais et dépens en tenant compte de l'état de choses existant avant le fait qui met fin au litige (<ref-law> par renvoi de l'<ref-law>);
qu'en l'occurrence, la libération ordonnée après coup pour défaut de charges suffisantes vient confirmer les griefs du recourant concernant l'absence de soupçons suffisants pour justifier son maintien en détention préventive;
qu'il y a donc lieu d'allouer des dépens au recourant, à la charge du canton de Genève, ce qui rend sans objet la demande d'assistance judiciaire;
qu'il n'est pas perçu de frais judiciaires, conformément à l'<ref-law>.

par ces motifs, le Juge unique ordonne:
1. Le recours 1B_91/2009 est devenu sans objet et la cause est rayée du rôle.
2. Le canton de Genève versera une indemnité de 1000 fr. au recourant, à titre de dépens.
3. Il n'est pas perçu de frais judiciaires.
4. La présente ordonnance est communiquée au mandataire du recourant, au Procureur général et à la Chambre d'accusation de la Cour de justice du canton de Genève.
Lausanne, le 8 mai 2009
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Juge unique: Le Greffier:
Reeb Kurz