Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input) #2960

Closed
tdobson opened this issue Jan 22, 2025 · 2 comments

Comments

@tdobson
Copy link

tdobson commented Jan 22, 2025

Issue

Hey Paul,

Anyone have a sense about this?

Cheers,
-Tim

This maintains a clean 1:1 relationship between WordPress events and calendar entries while handling cancellation cleanup automatically.

Tokens: 14k sent, 587 received. Cost: $0.0091 message, $0.04 session.
Add pokeToGCal.js to the chat? (Y)es/(N)o/(D)on't ask again [Yes]: n
Edit the files? (Y)es/(N)o [Yes]:
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToWordPress.js
architect> /add pokeToGCal.js

Added pokeToGCal.js to the chat
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> and if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you ma
ke sure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> and if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you ma
ke sure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you make s
ure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> /code if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you
make sure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect>

Version and model info

tdobson@tragicomix:~/dev/cavingcrew-all-event-matrix$ aider --model deepseek/deepseek-reasoner --editor-model deepseek/deepseek-chat --auto-lint --no-attribute-committer --no-attribute-author --cache-prompts --architect --lint-cmd "../magicLinter.sh" --test-cmd="npm run test"

Aider v0.72.1
Main model: deepseek/deepseek-reasoner with architect edit format, prompt cache, infinite output
Editor model: deepseek/deepseek-chat with editor-diff edit format
Weak model: deepseek/deepseek-chat
Git repo: .git with 23 files
Repo-map: using 4096 tokens, files refresh

@tdobson
Copy link
Author

tdobson commented Jan 22, 2025

full history:

README.md eventCreator.js pokeToWordPress.js
architect> /add EveryoneFunctions.js CommonFunctions.js MarkAttendance.js eventSpaceManager.js

Added CommonFunctions.js to the chat
Added EveryoneFunctions.js to the chat
Added MarkAttendance.js to the chat
Added eventSpaceManager.js to the chat
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md eventCreator.js eventSpaceManager.js pokeToWordPress.js
architect> I'd like to improve the eventCreator.js so that after successfully getting it into Wordpress, it adds the event to a Google Calendar. Weekend/Overnight trips should last for 2 days from the date/time g
iven, training events are 6 hours on a weekend. evening events are 4 hours long. - this is the calendar ID [email protected] - let me know if there's anything I can clarify - ad
d scopes to appsscript.json too. perhaps create pokeToGCal.js - for interacting with Gcal.

Add appsscript.json to the chat? (Y)es/(N)o/(D)on't ask again [Yes]: y

^C again to exit
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md eventCreator.js eventSpaceManager.js pokeToWordPress.js
architect> /add appsscript.json

Added appsscript.json to the chat
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToWordPress.js
architect> I'd like to improve the eventCreator.js so that after successfully getting it into Wordpress, it adds the event to a Google Calendar. Weekend/Overnight trips should last for 2 days from the date/time g
iven, training events are 6 hours on a weekend. evening events are 4 hours long. - this is the calendar ID [email protected] - let me know if there's anything I can clarify - ad
d scopes to appsscript.json too. perhaps create pokeToGCal.js - for interacting with Gcal.

I'll help implement Google Calendar integration. Here are the required changes:

1 First add this scope to appsscript.json:

{
"oauthScopes": [
// ... existing scopes ...
"https://www.googleapis.com/auth/calendar"
]
}

2 Create new pokeToGCal.js:

const CALENDAR_ID = '[email protected]';

function createCalendarEvent(eventName, startTime, eventType) {
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);

// Calculate end time based on event type
let endTime = new Date(startTime);
switch(eventType.toUpperCase()) {
case 'OVERNIGHT':
endTime.setDate(endTime.getDate() + 2);
break;
case 'TRAINING':
endTime.setHours(endTime.getHours() + 6);
break;
case 'KNOWN_LOCATION':
case 'MYSTERY':
case 'GIGGLE':
endTime.setHours(endTime.getHours() + 4);
break;
default:
endTime.setHours(endTime.getHours() + 2);
}

const event = calendar.createEvent(eventName, startTime, endTime, {
description: Created automatically from Caving Crew management system\nEvent type: ${eventType}
});

return event.getId();
}

3 Update eventCreator.js in two places:

First add this at the top with other imports:

// Add at top of file
const CALENDAR_ID = '[email protected]';

Then modify the createNewEvent function:

function createNewEvent(eventType, eventName, eventDate) {
try {
// ... existing template validation code ...

 // After successful WordPress creation                                                                                                                                                                         
 if (newPostId) {                                                                                                                                                                                               
   // Create calendar event                                                                                                                                                                                     
   try {                                                                                                                                                                                                        
     const calendarEventId = createCalendarEvent(                                                                                                                                                               
       eventName,                                                                                                                                                                                               
       eventDateObj,                                                                                                                                                                                            
       eventType                                                                                                                                                                                                
     );                                                                                                                                                                                                         
     console.log(`Created calendar event: ${calendarEventId}`);                                                                                                                                                 
   } catch (calendarError) {                                                                                                                                                                                    
     console.warn('Calendar event creation failed:', calendarError);                                                                                                                                            
     // Still proceed with WordPress creation                                                                                                                                                                   
   }                                                                                                                                                                                                            
                                                                                                                                                                                                                
   return { success: true, id: newPostId };                                                                                                                                                                     
 }                                                                                                                                                                                                              
 // ... rest of existing error handling ...                                                                                                                                                                     

} catch (error) {
// ... existing error handling ...
}
}

Key implementation details:

• Event durations:
• Overnight/Weekend: 2 days from start time
• Training: 6 hours duration
• Evening events (Known Location/Mystery/Giggle): 4 hours duration
• Calendar events will show the WordPress event ID in the description
• Failures in calendar creation won't block WordPress event creation
• Timezone handling uses the script's Europe/London timezone automatically

Testing steps:

1 Create a test event using the dialog
2 Check both WordPress and Google Calendar
3 Verify durations match event types:
• Weekend trip = 2 day calendar event
• Training = 6 hour event
• Evening trips = 4 hour events

Would you like me to explain any part in more detail or adjust the duration logic?

Tokens: 13k sent, 700 received. Cost: $0.0088 message, $0.03 session.
Edit the files? (Y)es/(N)o [Yes]: y
I'll help implement those changes using the proper SEARCH/REPLACE block format:

1 First, let's update appsscript.json:

appsscript.json

<<<<<<< SEARCH
{
"timeZone": "Europe/London",
"dependencies": {},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/script.scriptapp",
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/script.container.ui",
"https://www.googleapis.com/auth/script.send_mail",
"https://www.googleapis.com/auth/script.scriptapp",
"https://www.googleapis.com/auth/script.storage"
]
}

{
"timeZone": "Europe/London",
"dependencies": {},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets",
"https://www.googleapis.com/auth/script.external_request",
"https://www.googleapis.com/auth/script.scriptapp",
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/script.container.ui",
"https://www.googleapis.com/auth/script.send_mail",
"https://www.googleapis.com/auth/script.scriptapp",
"https://www.googleapis.com/auth/script.storage",
"https://www.googleapis.com/auth/calendar"
]
}

REPLACE

2 Create the new pokeToGCal.js file:

pokeToGCal.js

<<<<<<< SEARCH

const CALENDAR_ID = '[email protected]';

function createCalendarEvent(eventName, startTime, eventType) {
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);

// Calculate end time based on event type
let endTime = new Date(startTime);
switch(eventType.toUpperCase()) {
case 'OVERNIGHT':
endTime.setDate(endTime.getDate() + 2);
break;
case 'TRAINING':
endTime.setHours(endTime.getHours() + 6);
break;
case 'KNOWN_LOCATION':
case 'MYSTERY':
case 'GIGGLE':
endTime.setHours(endTime.getHours() + 4);
break;
default:
endTime.setHours(endTime.getHours() + 2);
}

const event = calendar.createEvent(eventName, startTime, endTime, {
description: Created automatically from Caving Crew management system\nEvent type: ${eventType}
});

return event.getId();
}

REPLACE

3 Update eventCreator.js:

eventCreator.js

<<<<<<< SEARCH
/**

  • Event type definitions with associated WordPress template IDs and UI text
    */
    =======
    // Add calendar integration
    const CALENDAR_ID = '[email protected]';

/**

  • Event type definitions with associated WordPress template IDs and UI text
    */

REPLACE

eventCreator.js

<<<<<<< SEARCH
if (!newPostId) {
return {
success: false,
error: "Failed to create new event in WordPress",
};
}

     return { success: true, id: newPostId };                                                                                                                                                                   

=======
if (!newPostId) {
return {
success: false,
error: "Failed to create new event in WordPress",
};
}

   // Create calendar event                                                                                                                                                                                     
   try {                                                                                                                                                                                                        
     const calendarEventId = createCalendarEvent(                                                                                                                                                               
       eventName,                                                                                                                                                                                               
       eventDateObj,                                                                                                                                                                                            
       eventType                                                                                                                                                                                                
     );                                                                                                                                                                                                         
     console.log(`Created calendar event: ${calendarEventId}`);                                                                                                                                                 
   } catch (calendarError) {                                                                                                                                                                                    
     console.warn('Calendar event creation failed:', calendarError);                                                                                                                                            
     // Still proceed with WordPress creation                                                                                                                                                                   
   }                                                                                                                                                                                                            
                                                                                                                                                                                                                
     return { success: true, id: newPostId };                                                                                                                                                                   

REPLACE

These changes will:

1 Add the required calendar scope
2 Create the new calendar integration file
3 Add calendar constants and integration to the event creator
4 Handle calendar event creation with appropriate durations for each event type

The calendar integration will automatically use the script's Europe/London timezone setting. Let me know if you'd like to adjust any of the event durations or add more detailed calendar event descriptions.

Tokens: 12k sent, 941 received. Cost: $0.0020 message, $0.03 session.

pokeToGCal.js
Create new file? (Y)es/(N)o [Yes]: y
Applied edit to pokeToGCal.js
Applied edit to eventCreator.js
Applied edit to appsscript.json
Commit 2d1ede5 feat: add Google Calendar integration with event type-based durations
Skipping TypeScript type checking for non-TypeScript file.
Checked 1 file in 3ms. Fixed 1 file.
Biome check passed.
Checked 1 file in 2ms. No fixes applied.
Biome lint passed.
Formatted 1 file in 1289µs. No fixes applied.
Biome format passed.
All checks passed successfully!
Skipping TypeScript type checking for non-TypeScript file.
Checked 1 file in 7ms. Fixed 1 file.
Biome check passed.
Checked 1 file in 5ms. No fixes applied.
Biome lint passed.
Formatted 1 file in 2ms. No fixes applied.
Biome format passed.
All checks passed successfully!
Skipping TypeScript type checking for non-TypeScript file.
Checked 1 file in 797µs. No fixes applied.
Biome check passed.
Checked 1 file in 640µs. No fixes applied.
Biome lint passed.
Formatted 1 file in 581µs. No fixes applied.
Biome format passed.
All checks passed successfully!
Commit 7e36643 style: Format code with consistent indentation and quotes
You can use /undo to undo and discard each aider commit.
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToWordPress.js
architect> and if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else?

I'll help implement calendar event cleanup when cancelling events. Here are the required changes:

1 First modify pokeToGCal.js to add deletion support:

// Add to pokeToGCal.js
function deleteCalendarEvent(eventId) {
try {
const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
const event = calendar.getEventById(eventId);
if (event) {
event.deleteEvent();
return true;
}
return false;
} catch (error) {
console.warn('Error deleting calendar event:', error);
return false;
}
}

2 Update createNewEvent in eventCreator.js to store the calendar ID:

// Modify in createNewEvent function after calendar event creation
if (calendarEventId) {
// Add calendar ID to product metadata
newProduct.meta_data.push({
key: 'calendar_event_id',
value: calendarEventId
});
console.log(Stored calendar ID: ${calendarEventId});
}

3 Update cancelWholeEvent in EveryoneFunctions.js:

// Add at start of cancelWholeEvent function
const product_id = setupCell("Dashboard", "B49");

// Add after setting event to private but BEFORE Browser.msgBox
// Delete calendar event
try {
const product = getProductById(product_id);
const calendarEventId = product.meta_data.find(meta =>
meta.key === 'calendar_event_id'
)?.value;

if (calendarEventId) {
deleteCalendarEvent(calendarEventId);
// Remove calendar ID from metadata
const updatedMeta = product.meta_data.filter(meta =>
meta.key !== 'calendar_event_id'
);
pokeToWordPressProducts({ meta_data: updatedMeta }, product_id);
console.log(Deleted calendar event ${calendarEventId});
}
} catch (calendarError) {
console.warn('Calendar cleanup failed:', calendarError);
}

Key implementation details:

• Calendar event ID is stored in product meta as calendar_event_id
• When cancelling an event:
1 Fetches the stored calendar ID
2 Deletes the calendar event
3 Removes the calendar ID from product metadata
• Handles cases where calendar event was already deleted manually
• Maintains synchronization between WordPress products and calendar

Testing steps:

1 Create a test event - verify calendar event appears and meta field exists
2 Cancel the event using "Cancel Whole Event" button
3 Check:
• Calendar event is removed
• Product meta no longer contains calendar_event_id
• Verify in WordPress admin product custom fields

This maintains a clean 1:1 relationship between WordPress events and calendar entries while handling cancellation cleanup automatically.

Tokens: 14k sent, 587 received. Cost: $0.0091 message, $0.04 session.
Add pokeToGCal.js to the chat? (Y)es/(N)o/(D)on't ask again [Yes]: n
Edit the files? (Y)es/(N)o [Yes]:
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToWordPress.js
architect> /add pokeToGCal.js

Added pokeToGCal.js to the chat
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> and if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you ma
ke sure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> and if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you ma
ke sure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you make s
ure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> /code if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you
make sure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> /code if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you
make sure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

litellm.BadRequestError: DeepseekException - Error code: 400 - {'error': {'message': 'deepseek-reasoner does not support successive user or assistant messages (messages[20] and messages[21] in your input). You
should interleave the user/assistant messages in the message sequence.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_request_error'}}

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CommonFunctions.js EveryoneFunctions.js MarkAttendance.js README.md appsscript.json eventCreator.js eventSpaceManager.js pokeToGCal.js pokeToWordPress.js
architect> if the event is cancelled - it should remove the calendar event. Perhaps the calendar event ID should be stored as a meta field in the product ID so they stay in sync? Or Something else? Can you make s
ure the creation of the google events works well too - because there could be a race condition - so it must make sure it work well.

@paul-gauthier
Copy link
Collaborator

This looks like a dup of #2925. Please see the comments there for more information, and feel free to continue the discussion within that issue.

I'm going to close this issue for now. But please let me know if you think this is actually a distinct issue and I will reopen this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants