Differences From
Artifact [2b1fe64d41]:
248 248 else
249 249 conf = data.view.confirm {
250 250 title = lib.str.plit 'cancel retweet';
251 251 query = lib.str.plit 'are you sure you want to undo this retweet?';
252 252 cancel = lib.str.plit'/';
253 253 }
254 254 end
255 - var body = conf:tostr() defer body:free()
255 + var fr = co.srv.pool:frame()
256 + var body = conf:poolstr(&co.srv.pool) --defer body:free()
256 257 co:stdpage([lib.srv.convo.page] {
257 258 title = lib.str.plit 'post :: delete';
258 259 class = lib.str.plit 'query';
259 260 body = body; cache = false;
260 261 })
262 + co.srv.pool:reset(fr)
261 263 return
262 264 elseif meth == method.post then
263 265 var act = co:ppostv('act')
264 266 if act:cmp(lib.str.plit 'confirm') then
265 267 if post:ref() then
266 268 post(0).source:post_destroy(post(0).id)
267 269 elseif rt.kind ~= 0 then
................................................................................
513 515
514 516 terra http.media_manager(co: &lib.srv.convo, path: hpath, meth: method.t, uid: uint64)
515 517 if co.aid ~= 0 and co.who.id == uid and path.ct == 2 and path(1):cmp(lib.str.lit'upload') and co.who.rights.powers.artifact() then
516 518 if meth == method.get then
517 519 var view = data.view.media_upload {
518 520 folders = ''
519 521 }
520 - var pg = view:tostr() defer pg:free()
522 + var pg = view:poolstr(&co.srv.pool) -- defer pg:free()
521 523 co:stdpage([lib.srv.convo.page] {
522 524 title = lib.str.plit'media :: upload';
523 525 class = lib.str.plit'media upload';
524 526 cache = false; body = pg;
525 527 })
526 528 elseif meth == method.post_file then
527 529 var desc = pstring.null()