|
251 | 251 |
|
252 | 252 | (cl-defmethod forge--update-issue ((repo forge-github-repository) data
|
253 | 253 | &optional bump initial-pull)
|
254 |
| - (closql-with-transaction (forge-db) |
| 254 | + (let (issue-id issue) |
255 | 255 | (let-alist data
|
256 |
| - (let* ((issue-id (forge--object-id 'forge-issue repo .number)) |
257 |
| - (issue (or (forge-get-issue repo .number) |
| 256 | + (closql-with-transaction (forge-db) |
| 257 | + (setq issue-id (forge--object-id 'forge-issue repo .number)) |
| 258 | + (setq issue (or (forge-get-issue repo .number) |
258 | 259 | (closql-insert
|
259 | 260 | (forge-db)
|
260 | 261 | (forge-issue :id issue-id
|
261 | 262 | :repository (oref repo id)
|
262 |
| - :number .number))))) |
| 263 | + :number .number)))) |
263 | 264 | (oset issue their-id .id)
|
264 | 265 | (oset issue slug (format "#%s" .number))
|
265 | 266 | (oset issue state
|
|
291 | 292 | :updated .updatedAt
|
292 | 293 | :body (forge--sanitize-string .body))
|
293 | 294 | t)))
|
294 |
| - (forge--update-status repo issue data bump initial-pull) |
295 |
| - (when bump |
296 |
| - (forge--set-id-slot repo issue 'assignees .assignees) |
297 |
| - (unless (magit-get-boolean "forge.kludge-for-issue-294") |
298 |
| - (forge--set-id-slot repo issue 'labels .labels))) |
299 |
| - issue)))) |
| 295 | + (forge--update-status repo issue data bump initial-pull)) |
| 296 | + (ignore-errors |
| 297 | + (forge--set-id-slot repo issue 'assignees .assignees)) |
| 298 | + (ignore-errors |
| 299 | + (unless (magit-get-boolean "forge.kludge-for-issue-294") |
| 300 | + (forge--set-id-slot repo issue 'labels .labels)))) |
| 301 | + issue)) |
300 | 302 |
|
301 | 303 | ;;;; Pullreqs
|
302 | 304 |
|
|
308 | 310 |
|
309 | 311 | (cl-defmethod forge--update-pullreq ((repo forge-github-repository) data
|
310 | 312 | &optional bump initial-pull)
|
311 |
| - (closql-with-transaction (forge-db) |
| 313 | + (let (pullreq-id pullreq) |
312 | 314 | (let-alist data
|
313 |
| - (let* ((pullreq-id (forge--object-id 'forge-pullreq repo .number)) |
314 |
| - (pullreq (or (forge-get-pullreq repo .number) |
| 315 | + (closql-with-transaction (forge-db) |
| 316 | + (setq pullreq-id (forge--object-id 'forge-pullreq repo .number)) |
| 317 | + (setq pullreq (or (forge-get-pullreq repo .number) |
315 | 318 | (closql-insert
|
316 | 319 | (forge-db)
|
317 | 320 | (forge-pullreq :id pullreq-id
|
318 | 321 | :repository (oref repo id)
|
319 |
| - :number .number))))) |
| 322 | + :number .number)))) |
320 | 323 | (oset pullreq their-id .id)
|
321 | 324 | (oset pullreq slug (format "#%s" .number))
|
322 | 325 | (oset pullreq state (pcase-exhaustive .state
|
|
357 | 360 | :updated .updatedAt
|
358 | 361 | :body (forge--sanitize-string .body))
|
359 | 362 | t)))
|
360 |
| - (forge--update-status repo pullreq data bump initial-pull) |
361 |
| - (when bump |
362 |
| - (forge--set-id-slot repo pullreq 'assignees .assignees) |
363 |
| - (forge--set-id-slot repo pullreq 'review-requests |
364 |
| - (--map (cdr (cadr (car it))) |
365 |
| - .reviewRequests)) |
366 |
| - (unless (magit-get-boolean "forge.kludge-for-issue-294") |
367 |
| - (forge--set-id-slot repo pullreq 'labels .labels))) |
368 |
| - pullreq)))) |
| 363 | + (forge--update-status repo pullreq data bump initial-pull)) |
| 364 | + (ignore-errors |
| 365 | + (forge--set-id-slot repo pullreq 'assignees .assignees)) |
| 366 | + (ignore-errors |
| 367 | + (forge--set-id-slot repo pullreq 'review-requests |
| 368 | + (--map (cdr (cadr (car it))) |
| 369 | + .reviewRequests))) |
| 370 | + (ignore-errors |
| 371 | + (unless (magit-get-boolean "forge.kludge-for-issue-294") |
| 372 | + (forge--set-id-slot repo pullreq 'labels .labels)))) |
| 373 | + pullreq)) |
369 | 374 |
|
370 | 375 | ;;;; Notifications
|
371 | 376 |
|
|
0 commit comments