Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wp3lF-001PAa-11 for pgsql-www@arkaria.postgresql.org; Wed, 29 Jul 2026 12:51:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wp3lE-006838-0q for pgsql-www@arkaria.postgresql.org; Wed, 29 Jul 2026 12:51:48 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wp3lD-00682w-2r; Wed, 29 Jul 2026 12:51:48 +0000 Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wp3l9-00000000uyT-2Mpf; Wed, 29 Jul 2026 12:51:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; s=smtpauto.stravinsky; h=X-Debian-User:In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Reply-To:Content-ID:Content-Description; bh=ayfrMFXn5Wp8a6IizY/ZiQ7L112DlQ57pUDMk4CAkj0=; b=NxQ52IT6zTtm/tCS15EdIRVP2F jLzZAaAxHgaUy5jheDo6URhozxylNVK2O9aMiK+yaQXnweZSjMJ3vwCX3ejZsctc3Zf5IS2ezc/xc G0ls/0GqvBB8kiTUJwG9AeBFftp7LP6/svoFtEqk0W7KdITISSWXc5CRB0Avf53kjBuC2yrToPvzC WJyefguVPumz4abDOQnTyo5wN0G9+k5XCdYd9UR0CqE3JTMIOeWnw7SINAtYvyO6eWgOxM3bgCqBT JVXPV0KbguNTcn4jBpJf7kEvvy1BiRsnvxQT2qkOS9yTplMdfbXt2hbkgV3BCG0Tg9nVBUAOtwEE9 rBbd3LiA==; Received: from authenticated-user by stravinsky.debian.org with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.96) (envelope-from ) id 1wp3l2-008Sr6-1U; Wed, 29 Jul 2026 12:51:37 +0000 Date: Wed, 29 Jul 2026 14:51:36 +0200 From: Christoph Berg To: Magnus Hagander Cc: pgsql-www@lists.postgresql.org, Andrey Borodin , Melanie Plageman , PostgreSQL Contributors Subject: Re: Introduce contributor badges Message-ID: References: <7DF542FC-E797-4050-B204-7755AEFDFF4A@yandex-team.ru> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="KPM3iI1sUdlvA3ti" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Debian-User: myon List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --KPM3iI1sUdlvA3ti Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Re: To Magnus Hagander > I'm attaching that as a separate commit for better review. It would > get squashed before committing, of course. > > I believe that addresses the concerns from Brussels, or was there > anything else? To finally pick this up again (my fault for slacking): We've talked in Vancouver and the remaining concern was that the image URLs were user-configurable free text. I have now cherry-picked the ImageBinaryField feature from pgeu-system and image upload is now fully self-contained in the pgweb database. Attached is v7 of the patch, before squashing: v7-0001-Cherry-pick-ImageBinaryField-and-related-from-pge.patch v7-0002-Rewind-uploaded-file-before-reading-in-ImageBinar.patch ImageBinaryField and a follow-up fix in there that I'll submit to pgeu-system after review v7-0003-Introduce-contributor-badges.patch The original patch v7-0004-Add-dates-on-badgeholders-so-people-can-be-retire.patch The retirement feature v7-0005-Use-ImageBinaryField-for-the-badges.patch The switch to ImageBinaryField v8 is the same after squashing 0003..0005. (With a better commit message.) v7-0001-Cherry-pick-ImageBinaryField-and-related-from-pge.patch v7-0002-Rewind-uploaded-file-before-reading-in-ImageBinar.patch v8-0003-Introduce-contributor-badges.patch Christoph --KPM3iI1sUdlvA3ti Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename=v7-0001-Cherry-pick-ImageBinaryField-and-related-from-pge.patch