Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

middleware.native.ts 1.1KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { appNavigate } from '../../app/actions.native';
  2. import { notifyConferenceFailed } from '../../conference/actions.native';
  3. import { JitsiConferenceErrors } from '../lib-jitsi-meet';
  4. import MiddlewareRegistry from '../redux/MiddlewareRegistry';
  5. import { CONFERENCE_FAILED } from './actionTypes';
  6. import { conferenceLeft } from './actions';
  7. import { TRIGGER_READY_TO_CLOSE_REASONS } from './constants';
  8. import './middleware.any';
  9. MiddlewareRegistry.register(store => next => action => {
  10. const { dispatch } = store;
  11. const { error } = action;
  12. switch (action.type) {
  13. case CONFERENCE_FAILED: {
  14. if (error?.name !== JitsiConferenceErrors.CONFERENCE_DESTROYED) {
  15. break;
  16. }
  17. const [ reason ] = error.params;
  18. const reasonKey = Object.keys(TRIGGER_READY_TO_CLOSE_REASONS)[
  19. Object.values(TRIGGER_READY_TO_CLOSE_REASONS).indexOf(reason)
  20. ];
  21. dispatch(notifyConferenceFailed(reasonKey, () => {
  22. dispatch(conferenceLeft(action.conference));
  23. dispatch(appNavigate(undefined));
  24. }));
  25. }
  26. }
  27. return next(action);
  28. });