Week 5 Error pedia- Implement Conversations with DynamoDB

This post is a catalogue of (almost) every single error I fought through while following along the Week 5 tutorial lecture to implement the chat room functions using DynamoDB.

  • The errors are listed in chronological order, so it is possible that other campers met with one of the errors listed here might be greeted by other errors in a similar order.

  • This post is currently evolving to update all the solution to every single error listed here. I hope it helps.

Error

  • On Messages page, the individual messages are not showing in the chat room. (Disclaimer: as of writing this blog post (May 14, 2023), I have NOT earned the red squad badge. It's just my imagination)

On Messages page, the individual messages are not showing in the chat room. (Disclaimer: as of writing this blog post (May 14, 2023), I have NOT earned the red squad badge. It's just my imagination)

Error lists

update_cognito_user_ids

  • TypeError: unhashable type: 'dict' (1)

  • SOLVED - return model (1)

1:08:43 Reverse sorting messages

  • KeyError: 'credential_provider' (1)

Create message

  • TypeError: Cannot set property json of #<Object> which has only a getter (1)

  • TypeError: CreateMessage.run() missing 2 required positional arguments: 'user_sender_handle' and 'user_receiver_handle' (1)

After creating new apis that create new message groups

  • botocore.errorfactory.ResourceNotFoundException: Requested resource not found (1)

  • TypeError: ddb.list_message_groups() missing 1 required positional argument: 'current_user_uuid'

  • TypeError: ddb.create_message() missing 1 required positional argument: 'table_name'

  • botocore.exceptions.ParamValidationError: Parameter validation failed:

Conversation is displayed across different chat rooms

  • Data is there (on AWS DynamoDB server). It's just NOT displaying on the webpage.

    • Need to verify...:

      • Is the app attempting to first "FETCH" the data? → Attempting to talk to the DB at all?

      • If yes, then where is it breaking so it fails to display it?

      • If not, then there is no link existing between the processes that make the data travel to the frontend. Where is it?