feathersjs / feathers

The API and real-time application framework
https://feathersjs.com
MIT License
14.97k stars 744 forks source link

Feathers V5 Muultiple issues using feathers-cli to build app #3042

Open ahmedrhuma opened 1 year ago

ahmedrhuma commented 1 year ago

I have build an entire application using Feathers V5 and I faced these issues so far:

  1. Building schema is should be easier than knex migration, if you deleted a migration file by mistake it's gone, I built the tables manually it was much easier than knex migrations.
  2. Missing a lot a lot of types I had to override the types to "any" to work around this, such as: using authentication service and getting localstrategy in hooks it says there is no comparePassword method while it was. context.params.user always trigger an ESLint error, context.params.query.xxx always triggers an error in ESLint.
  3. THE REAL ISSUE is that when the jwt expires, and the client is using the app, there is no errors or 401 response, it only keeps loading with a very long timeout, I am not able to build "refresh jwt" strategy because the backend does not fire anything if the jwt expired
  4. in service class, this.table is says it does not exists. white it is. THE WHOLE TYPING NEEDS TO BE CHECKED AGAIN
marshallswain commented 1 year ago

Thanks for reporting.

  1. I would expect it to be a pain to accidentally delete a file if it wasn't checked in. What does it look like to build tables manually? Which db are you using? It would be good to see the alternative option. I've not tried it.
  2. Good point. There are some improvements to be made here. Thanks for reporting. We're taking a look at it.
  3. I'll look more into this.
  4. I don't know anywhere that this.table would exist. Oh, in v5, this.table has been replaced with this.options.name.
daffl commented 1 year ago

Can you confirm that you are using the latest socket.io-client and the same version of @feathersjs/feathers and @feathersjs/socketio-client on the client? In v4 and later timeouts only happen when you send an unrecognized socket event which can happen when there is a version mismatch between client and server.