diff --git a/lib/reducers/thread-reducer.js b/lib/reducers/thread-reducer.js
--- a/lib/reducers/thread-reducer.js
+++ b/lib/reducers/thread-reducer.js
@@ -1,7 +1,5 @@
 // @flow
 
-import invariant from 'invariant';
-
 import {
   setThreadUnreadStatusActionTypes,
   updateActivityActionTypes,
@@ -264,10 +262,6 @@
     const threadStoreOperations: ThreadStoreOperation[] = [];
     if (rawThreadInfos) {
       for (const rawThreadInfo of rawThreadInfos) {
-        invariant(
-          rawThreadInfo.minimallyEncoded,
-          'rawThreadInfo must be minimallyEncoded for current clients',
-        );
         threadStoreOperations.push({
           type: 'replace',
           payload: {
diff --git a/lib/types/request-types.js b/lib/types/request-types.js
--- a/lib/types/request-types.js
+++ b/lib/types/request-types.js
@@ -12,6 +12,7 @@
   type CalendarQuery,
   rawEntryInfoValidator,
 } from './entry-types.js';
+import type { MinimallyEncodedRawThreadInfo } from './minimally-encoded-thread-permissions-types';
 import type {
   ThreadInconsistencyReportShape,
   EntryInconsistencyReportShape,
@@ -228,7 +229,7 @@
     +userInfos: boolean,
   }>,
   +stateChanges?: Partial<{
-    +rawThreadInfos: RawThreadInfo[],
+    +rawThreadInfos: MinimallyEncodedRawThreadInfo[],
     +rawEntryInfos: RawEntryInfo[],
     +currentUserInfo: CurrentUserInfo,
     +userInfos: AccountUserInfo[],