eyra/mono

Too long project name leads to silent drop of title change

Closed this issue · 3 comments

Describe the bug
When I choose an extremely long Project Name, the change is just dropped. I save the change, but the title stays as it was.
What happens is that the text is too long for the database and this results in an error.

This is a low prio issue as it's unlikely to be encountered by a researcher/creator, yet maybe proposed fix is simple.

To Reproduce
Steps to reproduce the behavior:
1.Change name of project to an extremely long string (not sure where the limit is exactly)

Expected behavior
Although we discuss that we don't like limits, there are limits, such as the maximum technical length of a project name due to database record constraint.

Screenshots

Jul 24 13:39:44 ec2-web-dev-01 core[458]: {"time":"2024-07-24T13:39:44.137Z","severity":"error","message":"GenServer #PID<0.28395.1> terminating\n** (Postgrex.Error) ERROR 22001 (string_data_right_truncation) value too long for type character varying(255)\n    (ecto_sql 3.9.2) lib/ecto/adapters/sql.ex:913: Ecto.Adapters.SQL.raise_sql_call_error/1\n    (ecto 3.9.5) lib/ecto/repo/schema.ex:756: Ecto.Repo.Schema.apply/4\n    (ecto 3.9.5) lib/ecto/repo/schema.ex:459: anonymous fn/15 in Ecto.Repo.Schema.do_update/4\n    (ecto 3.9.5) lib/ecto/multi.ex:832: Ecto.Multi.apply_operation/5\n    (elixir 1.14.0) lib/enum.ex:2468: Enum.\"-reduce/3-lists^foldl/2-0-\"/3\n    (ecto 3.9.5) lib/ecto/multi.ex:806: anonymous fn/5 in Ecto.Multi.apply_operations/5\n    (ecto_sql 3.9.2) lib/ecto/adapters/sql.ex:1203: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4\n    (db_connection 2.4.3) lib/db_connection.ex:1611: DBConnection.run_transaction/4\nLast message: %Phoenix.Socket.Message{topic: \"lv:phx-F-Ui91BU6C_0-dxy\", event: \"event\", payload: %{\"cid\" => 2, \"event\" => \"submit\", \"type\" => \"click\", \"value\" => %{\"item\" => \"\"}}, ref: \"467\", join_ref: \"415\"}","metadata":{"domain":["otp"],"erl_level":"error","error":{"initial_call":null,"reason":"** (Postgrex.Error) ERROR 22001 (string_data_right_truncation) value too long for type character varying(255)\n    (ecto_sql 3.9.2) lib/ecto/adapters/sql.ex:913: Ecto.Adapters.SQL.raise_sql_call_error/1\n    (ecto 3.9.5) lib/ecto/repo/schema.ex:756: Ecto.Repo.Schema.apply/4\n    (ecto 3.9.5) lib/ecto/repo/schema.ex:459: anonymous fn/15 in Ecto.Repo.Schema.do_update/4\n    (ecto 3.9.5) lib/ecto/multi.ex:832: Ecto.Multi.apply_operation/5\n    (elixir 1.14.0) lib/enum.ex:2468: Enum.\"-reduce/3-lists^foldl/2-0-\"/3\n    (ecto 3.9.5) lib/ecto/multi.ex:806: anonymous fn/5 in Ecto.Multi.apply_operations/5\n    (ecto_sql 3.9.2) lib/ecto/adapters/sql.ex:1203: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4\n    (db_connection 2.4.3) lib/db_connection.ex:1611: DBConnection.run_transaction/4\n"},"error_logger":{"report_cb":"&:gen_server.format_log/1","tag":"error"}}}

Desktop (please complete the following information):

  • Safari

Limiet ligt op 255, wordt wel spuuglelijk;
Image

Ik zal ook even een text truncate gebruiken voor de overflow

Heb de input ge-limit, en truncate gebruikt op de card zodat hij niet meer zo overflowt. Ik kreeg het zo snel nog niet voor elkaar om een mooie validatie-warning te tonen bij >255, maar opzich is het wel duidelijk dat je geen karakters meer kan toevoegen. @mellelieuwes misschien kunnen we volgende week even kijken naar form validatie etc

@MelchiorKokernoot De project naam is puur voor intern gebruik van de gebruiker zelf. Daar moeten een paar woorden genoeg voor zijn. Dat zelfde geldt voor de naam van een project item. Houd er rekening mee dat zowel project naam als item naam terug komen als bread crumbs. Ik gebruik in de praktijk zelf altijd 2-5 woorden afhankelijk van de lengte van de woorden.

Het wordt lelijk als:

  • De totale lengte van alle bread crumbs te lang wordt
  • 1 woord te lang is voor de breedte van de card
Screenshot 2024-11-18 at 11 59 44

Mogelijke oplossingen:

  • elke bread crumb (element) truncaten met ellipses
  • wrap lange woorden naar volgende regel

Overigens gaat dit ticket niet over 'lelijk' maar over changes aan de title die niet doorkomen. Dat is volgens mij al gefixed.