V8-archive: Value of Text-Input not shown

Created on 11 Feb 2020  Â·  20Comments  Â·  Source: directus/v8-archive

Bug Report

Steps to Reproduce

One of my collections has field title of type Text-Input.
image

All items in that collection have a valid title set. But that title is not displayed in the list of collection items:
image

If i create a new collection with a field of type Text-Input, it will work as expected.

Expected Behavior

The title should be displayed.

Actual Behavior

The title is not displayed in the list of collection items. When editing the item, the title is set correctly.

Other Context & Screenshots

Technical Details

  • Device: Desktop
  • OS: Windows 10
  • Web Server: Apache 2.4.37]
  • PHP Version: [eg: 7.2.0]
  • Database: [eg: MySQL 8.0.12]
  • Directus Release Version: 8.5.4
  • Install Method: Docker
app

Most helpful comment

I've redesigned the way relational interfaces fetch / manage their related data in order to fix this once and for all. That change is making it way into v9 coming up

All 20 comments

Hmm, weird!

@WoLfulus @rijkvanzanten — thoughts? Doesn't seem Docker specific... maybe related to how the layout fetches its data (*) now?

@marcobusemann — have you tried fetching the listing from the API directly to see what you get? Any chance of a database dump (can be sent privately over our Slack)?

I'm not able to reproduce this based on the given steps to reproduce

image

Ciao! Just had this issue hit me, and every text field does not display in the collection view and in the one to many interface also.

It happened after I set up a o2m interface. I set up another o2m interface on the affected collection, pointing to the only working collection and now the original unbugged collection is bugged, while the bugged one was fixed.


Original unbugged collection

Screen Shot 2020-02-20 at 18 24 43


Original bugged collection

Screen Shot 2020-02-20 at 18 24 46


Original bugged collection workgin while editing the single item
Screen Shot 2020-02-20 at 18 33 27


Setting up a test o2m interface

Screen Shot 2020-02-20 at 18 41 10


Now the original unbugged interface is broken

Screen Shot 2020-02-20 at 18 41 38


And the original bugged interface is working again...

Screen Shot 2020-02-20 at 18 51 38

Screen Shot 2020-02-20 at 18 49 23


I also get this warnings in the console
Screen Shot 2020-02-20 at 18 49 58

So yeah, setting an o2m interface seems to be the cause of this bug.
Steps to reproduce:

  1. create a clean collection with a "name" text field
    Screen Shot 2020-02-20 at 18 54 10

  2. create a target collection with a "name" text field
    Screen Shot 2020-02-20 at 18 54 06

  3. set up a o2m relationship from the clean collection to the target collection

Screen Shot 2020-02-20 at 18 54 46
Screen Shot 2020-02-20 at 18 54 55

  1. target collection is now bugged.

Screen Shot 2020-02-20 at 18 55 04

I thought that maybe this was a problem of the collections text fields having the same key (name), but i tried with another value and it's still bugged.

Screen Shot 2020-02-20 at 18 59 45
Screen Shot 2020-02-20 at 19 00 13

Then I tried to set up another text field, it was showing at first but once targeted by the o2m relationship it bugged too...
Screen Shot 2020-02-20 at 19 02 54
Screen Shot 2020-02-20 at 19 02 20
Screen Shot 2020-02-20 at 19 02 06
Screen Shot 2020-02-20 at 19 04 22

If I delete the relationship the bug still shows up.

Let me know if this is of any help!
Sorry about all the screenshots, is there a better way to attach them?

Technical Details
Device: Desktop
OS: OSX High Sierra
Web Server: The one in the documentation for the docker install-apache
PHP Version: The one in the documentation for the docker install
Database: The one in the documentation for the docker install - mysql:5.7
Directus Release Version: 8.5.5
Install Method: Docker

API Response is clean:
Screen Shot 2020-02-20 at 19 16 30


Mhhh ok I might be using the interface incorrectly, because the clean collection is overwriting the field with its ID, which is probably an INT and that's why it's not showing correctly, right?

Same issue for me

Environment:
Windows 10, Xamp (php 7.4, apache 2.4), mysql 5.7, composer 1.10.1

The text-input doesn't show, here's the html

--

Another issue with the file upload field: when I upload a picture it shows the default broken image in the card display view of the collection, bu the picture shows when in the table view

Today I got this problem again. Added collection D with two o2m fields to B and C. B has itself a o2m field to A. If I now query B through UI or API, the value for A cannot be resolved anymore (fields=.). Before that was no problem. Only the Id will be returned, not it's fields.

That's a huge problem for us as the webside is now broken. Someone an idea how to fix this?

Will try to reproduce this again tomorrow.

I have the same exact issue
image

this one is o2m relation

the element html:

<label data-v-29d7c15a=""><div data-v-29d7c15a="" class="input"><input data-v-29d7c15a="" type="checkbox" name="em9stI-Gd" value="1"><span data-v-32f5ae2e="" data-v-29d7c15a="" class="v-icon" style="color: var(--input-border-color);"><i data-v-32f5ae2e="" class="">check_box_outline_blank</i></span></div><!----></label>

Any update on this? I am stuck in same problem.

I've redesigned the way relational interfaces fetch / manage their related data in order to fix this once and for all. That change is making it way into v9 coming up

I assume this is way too large of a change to expect a patch to make its way into v8? Great to hear it is fixed in V9, but is there an ETA on v9's official release date? Sorry if this information is available somewhere. Thanks!

Version 9 release is estimated at about 4-6 weeks... but that could flex depending on if we decide to add new optimizations/features, or move some to v9.x.

@jpetryk Yeah it's not that easy to backport that into v8. v7/v8 were build on the idea of loading all needed data up front, and then have the interfaces only worry about displaying values. This works pretty great for most uses, except for deeper relational values where you hit a point where the nested content is missing.. In v9, I've restructured that so every level is "flat", and the relational interfaces themselves are in charge of fetching all the content they need to render out deep structures. This in turn means that we should never run into this situation again where content starts to go missing

@rijkvanzanten thanks for the extra bit of info. Are we just talking about changes in the display layer or does v9 come with a bunch of database migrations to adjust for this new flat structure? I ask because we're going to be building a base set of collections and fields that relate to one another (which we'll use to populate other projects) and it might be a bit risky to spend too much time doing so if they have to run through a bunch of migrations when we upgrade. Sorry for all the questions - I'm new to Directus but it looks like it will solve all our needs with the exception of this particular bug! Thanks again.

Ohh no no, this is just how the admin app internally fetches / manages the data coming from the API. The IO of the API itself and how you configure relations isn't involved in any of that 🙂

I am experiencing the same thing in my interface

Just used 8.8.0 from docker and I've found this problem.

Any news?

Is there any workaround for this as it's obviously a massive breaking problem?

I mean, to have relations broken in a CMS...

I've also seen this issue a few times, now I know it has to do with setting up relationships between collections at least. Is there a known way to fix the collection once it's been broken or is the only way to delete the text fields, recreate and refill them?

I am experiencing the same issue on one of my instance that runs Directus 8.8.1 version. An older one, 8.6.0, is free from this bug.

I was having the same problem. Even after deleting the relationship that initiated the problem, the target field in the collection was still not rendering in the UI. In my case I resolved the problem by going into the 'directus_relations' table (MySQL) where I found an entry that referenced the same table in the 'collection_many' and 'collection_one' column and the 'field_many' was set to the field that would not render in the UI... I deleted that entry and things went back to normal...
hope this makes sence 😄

Was this page helpful?
0 / 5 - 0 ratings