cncf-toc@lists.cncf.io | 👋 So long folks! Toggle navigation Help Log In Help Log In Home Messages Hashtags Subgroups × × Note: lists.cncf.io will be down for maintenance on Monday, September 26th, starting at 9AM Pacific Time (4PM Monday September 26, 2022 UTC), for approximately one hour. ×Close Likes Close " ); } else { wrap = ' Attachments: '; count = 0; for (i = 0; i < response.length; i++) { if (response[i].Inline == false) { wrap += ' ' + response[i].Name + ' (' + response[i].HumanSize + ') "; count++; } } wrap += ' '; if (count > 0) { $('#attachments' + id).replaceWith(wrap); } else { $('#attachments' + id).replaceWith( " " ); } } }); } var modTimeoutId; function modOnFormChange(id, draftid, groupurl, csrf) { clearTimeout(modTimeoutId); if (modSaving == true) { modTimeoutId = setTimeout(function () { // Runs 1 second (1000 ms) after the last change modOnFormChange(id, draftid, groupurl, csrf); }, 1000); return; } modTimeoutId = setTimeout(function () { // Runs 1 second (1000 ms) after the last change modSaveDraft(id, draftid, groupurl, csrf, false); }, 1000); } var modSaving = false; // modSaveDraft saves the current form state in the draft. function modSaveDraft(id, draftid, groupurl, csrf, onLeave) { if (draftid == 0) { console.log("DraftID 0, not modSaving"); return; } console.log("DELETEDDRAFT IS:", modDeletedDraft); console.log("DESTROYEDEDITOR IS:", modDestroyedEditor); if (modDeletedDraft == true) { console.log('NOT SAVING BECAUSE OF DELETED'); return; } if (modDestroyedEditor == true) { console.log('NOT SAVING BECAUSE OF DESTROYED'); return; } modSaving = true; console.log('modSaving'); var fromval = $('#from' + id).val(); var subject = $('#subject' + id).val(); var body = $('#editor' + id).val(); var bodytype = $('#bodytype' + id).val(); var private = $('#isprivate' + id).val(); var special = '0'; if ($('#special').prop('checked') == true) { special = '1'; } var bccme = '0'; if ($('#bccme').prop('checked') == true) { bccme = '1'; } var bccall = '0'; if ($('#bccall').prop('checked') == true) { bccall = '1'; } var saveval = '1'; if (onLeave == true) { saveval = '2'; } var hashtags = $('#hashtags').val(); upload = { draftid: draftid, csrf: csrf, from: fromval, subject: subject, body: body, bodytype: bodytype, special: special, private: private, bccme: bccme, bccall: bccall, hashtags: JSON.stringify(hashtags), mid: id, save: saveval }; let opts = { url: groupurl + '/draftop', cache: false, data: upload, method: 'POST', xhrFields: { withCredentials: true }, dataType: 'json' }; if (modUnloading == false) { // if we are unloading we don't want to retry, because sometimes // that can result in a spurious error, esp on Firefox opts.retryCount = 5; opts.retryVerify = modRetryVerify; } $.ajax(opts).done(function (response) { // Do something with the request console.log('saved'); modSaving = false; }); } // called to see if we need to continue retrying function modRetryVerify() { if (modDeletedDraft == true || modDestroyedEditor == true) { return false; } return true; } // stop modSaving drafts when we do a submit var postVar = null; // Code to find and return a selected piece of HTML. function modGetSelection(id) { var flag = 0; var sel = document.getSelection(); var selText = ''; id = 'msgbody' + id; var forkfork = document.getElementById(id); if (sel.rangeCount > 0) { var range = sel.getRangeAt(0); var test = range.cloneContents(); var clonedSelection = ''; if (typeof test.getElementByID != 'undefined') { clonedSelection = range.cloneContents().getElementById(id); } if (clonedSelection) { selText = clonedSelection.innerHTML; } else { clonedSelection = range.cloneContents(); var startNode = sel.getRangeAt(0).startContainer.parentNode; //console.log(modIsChild(startNode, forkfork)); if (modIsChild(startNode, forkfork)) { var div = document.createElement('div'); div.appendChild(clonedSelection); selText = div.innerHTML; } } } return selText.toString(); } function modIsChild(child, parent) { if (child === parent) return true; var current = child; while (current) { if (current === parent) return true; current = current.parentNode; } return false; } return { InitEditor: function ( id, bodyType, draftid, groupurl, csrf, handleAttachments, noFontChanges, isReply, isWiki, body, sig, onInitFunc ) { if (typeof onInitFunc === 'undefined') { onInitFunc = null; } //document.getElementById("editor" + id).addEventListener("gio:destroy", modDestroyAllEditors); document.body.addEventListener("gio:destroy", modDestroyAllEditors); modDeletedDraft = false; modDestroyedEditor = false; modUnloading = false; $('#preview' + id).hide(); $('#addattachments' + id).hide(); $('#return' + id).hide(); $('#markdownlink' + id).hide(); if (bodyType == 'html') { if (sig != '') { $('#editor' + id).val(sig); //tinyMCE.get('editor'+id).setContent(sig); } editor.initHTMLEditor( id, draftid, groupurl, csrf, handleAttachments, noFontChanges, isReply, isWiki, body, sig, onInitFunc ); } else { if (sig != '') { $('#editor' + id).val(sig); } editor.initPlainEditor(id, bodyType, groupurl, handleAttachments, sig); } }, initHTMLEditor: function ( id, draftid, groupurl, csrf, handleAttachments, noFontChanges, isReply, isWiki, body, sig, onInitFunc ) { if (typeof onInitFunc === 'undefined') { onInitFunc = null; } // extras: print, emoticons, image, insert, media, print /* All plugins: 'advlist autolink lists link image print preview hr anchor pagebreak', 'searchreplace wordcount visualblocks visualchars code fullscreen', 'insertdatetime media nonbreaking save table contextmenu directionality', 'emoticons template paste textcolor colorpicker textpattern imagetools codesample toc' */ modDeletedDraft = false; modDestroyedEditor = false; modUnloading = false; let attachments = ''; if (handleAttachments == 0 || handleAttachments == 3) { attachments = ' addPictures addAttachments'; } let fontchanges = ''; if (noFontChanges == false) { fontchanges = ' fontselect fontsizeselect forecolor backcolor'; } let fontawesome = ' charmap'; let forceRootBlock = false; if (isWiki == true) { attachments += ' addWikiImage addWikiLink addWikiTOC'; fontawesome = ' fontawesome'; // BORK fontawesome = ''; forceRootBlock = 'p'; } let toolbar1 = 'styleselect bold italic bullist numlist link blockquote alignleft aligncenter alignright' + attachments + ' advancedToolbar'; let toolbar2 = 'strikethrough underline hr alignjustify' + fontchanges + ' removeformat' + fontawesome + ' outdent indent undo redo preview code'; let small_toolbar1 = 'bold italic link blockquote' + attachments + ' advancedToolbar'; let small_toolbar2 = 'strikethrough underline hr alignjustify removeformat outdent indent'; let tm_fonts = 'Arial=arial,helvetica,sans-serif;' + 'Arial Black=arial black,avant garde;' + 'Comic Sans MS=comic sans ms;' + 'Courier Neue=courier_newregular,courier;' + 'Helvetica Neue=helvetica neue;' + 'Helvetica=helvetica;' + 'Impact=impactregular,chicago;' + 'Lucida Grande=lucida grande;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Times New Roman=times new roman,times;' + 'Verdana=verdana,geneva'; let plugins = [ 'SplitBlockquote', 'advlist autolink lists link image preview hr anchor', 'code fullscreen', 'nonbreaking table charmap', 'textcolor colorpicker imagetools noneditable' ]; let css = fixupURL('/bootstrap/3.3.6/css/bootstrap.min.css') + ',' + fixupURL('/bootstrap/3.3.6/css/bootstrap-theme.min.css') + ',' + fixupURL('/css/groupsio.css') + ',' + fixupURL('/css/tinymce.css') + ',' + fixupURL('/fontawesome/5.9.0/css/all.min.css'); let fontsizes = '8pt 10pt 11pt 12pt 14pt 18pt 24pt 36pt'; let codesample_languages = [ { text: 'C', value: 'c' }, { text: 'C#', value: 'csharp' }, { text: 'C++', value: 'cpp' }, { text: 'CSS', value: 'css' }, { text: 'Go', value: 'go' }, { text: 'HTML/XML', value: 'markup' }, { text: 'Java', value: 'java' }, { text: 'JavaScript', value: 'javascript' }, { text: 'PHP', value: 'php' }, { text: 'Python', value: 'python' }, { text: 'Ruby', value: 'ruby' } ]; let style_formats = [ { title: 'Paragraph', block: 'p' }, { title: 'Header 1', block: 'h1' }, { title: 'Header 2', block: 'h2' }, { title: 'Header 3', block: 'h3' }, { title: 'Header 4', block: 'h4' }, { title: 'Header 5', block: 'h5' }, { title: 'Header 6', block: 'h6' } ]; if (isReply == true) { toolbar1 = 'quoteMessage ' + toolbar1; small_toolbar1 = 'quoteMessage ' + small_toolbar1; } if (document.documentElement.clientWidth > 1000) { tinymce.init({ noneditable_noneditable_class: 'fa', extended_valid_elements: 'span[*]', branding: false, link_context_toolbar: true, default_link_target: '_blank', link_assume_external_targets: true, elementpath: false, forced_root_block: forceRootBlock, content_css: css, relative_urls: false, remove_script_host: false, menubar: false, statusbar: true, plugins: plugins, toolbar1: toolbar1, toolbar2: toolbar2, font_formats: tm_fonts, browser_spellcheck: true, contextmenu: false, selector: '#editor' + id, resize: true, fontsize_formats: fontsizes, style_formats: style_formats, setup: function (teditor) { teditor.on('Init', function (e) { // see if any text is selected toquote = modGetSelection(id); if (toquote != '') { console.log('id=' + id); editor.ShowMessageHistory(id, groupurl, 'html', toquote, sig, true); } else { if (body != "") { console.log("body setContent"); teditor.setContent(body); } else if (sig != "") { console.log("sig setContent " + sig); teditor.setContent(sig); } } if (onInitFunc != null) { onInitFunc(e); } }); teditor.on('BeforeRenderUI', function (e) { teditor.theme.panel .find('toolbar') .slice(1) .hide(); }); teditor.addButton('advancedToolbar', { tooltip: 'Show advanced toolbar', icon: 'fa fa-bars', onclick: function () { if (!this.active()) { this.active(true); teditor.theme.panel .find('toolbar') .slice(1) .show(); } else { this.active(false); teditor.theme.panel .find('toolbar') .slice(1) .hide(); } } }); teditor.addButton('addPictures', { tooltip: 'Add pictures', icon: 'fa fa-image', onclick: function () { modUploaderPrompt("pictures", id, draftid, groupurl, csrf); } }); teditor.addButton('addAttachments', { tooltip: 'Add attachments', icon: 'fa fa-paperclip', onclick: function () { modUploaderPrompt("attachments", id, draftid, groupurl, csrf); } }); if (groupurl != '') { teditor.addButton('quoteMessage', { tooltip: 'Quote post', icon: 'fa fa-comment', onclick: function () { editor.ShowMessageHistory(id, groupurl, 'html', '', sig, false); } }); } if (draftid != '' && draftid != '0' && draftid != 0) { teditor.on('NodeChange', function () { //tinymce.triggerSave(); if (tinymce.activeEditor != null) { let markupStr = tinymce.activeEditor.getContent(); $('#editor' + id).val(markupStr); modOnFormChange(id, draftid, groupurl, csrf); } }); teditor.on('keyup', function () { //tinymce.triggerSave(); let markupStr = tinymce.activeEditor.getContent(); $('#editor' + id).val(markupStr); modOnFormChange(id, draftid, groupurl, csrf); }); } if (isWiki == true) { // special wiki buttons teditor.addButton('addWikiImage', { tooltip: 'Insert image', icon: 'fa fa-image', onclick: function () { $('#ImageModal').modal({}); } }); teditor.addButton('addWikiLink', { tooltip: 'Insert link to wiki page', icon: 'fa fa-book', onclick: function () { $('#LinkModal').modal({}); } }); teditor.addButton('addWikiTOC', { tooltip: 'Insert table of contents', icon: 'fa fa-list-alt', onclick: function () { $('#TOCModal').modal({}); } }); } } }); } else { tinymce.init({ branding: false, link_context_toolbar: true, default_link_target: '_blank', link_assume_external_targets: true, elementpath: false, forced_root_block: forceRootBlock, content_css: css, relative_urls: false, remove_script_host: false, menubar: false, statusbar: true, plugins: plugins, toolbar1: small_toolbar1, toolbar2: small_toolbar2, font_formats: tm_fonts, browser_spellcheck: true, contextmenu: false, selector: '#editor' + id, resize: true, fontsize_formats: fontsizes, style_formats: style_formats, setup: function (teditor) { teditor.on('Init', function (e) { // see if any text is selected toquote = modGetSelection(id); if (toquote != '') { console.log('id=' + id); editor.ShowMessageHistory(id, groupurl, 'html', toquote, sig, true); } else { if (body != "") { console.log("body setContent"); teditor.setContent(body); } else if (sig != "") { console.log("sig setContent" + sig); teditor.setContent(sig); } } if (onInitFunc != null) { onInitFunc(e); } }); teditor.on('BeforeRenderUI', function (e) { teditor.theme.panel .find('toolbar') .slice(1) .hide(); }); teditor.addButton('advancedToolbar', { tooltip: 'Show advanced toolbar', icon: 'fa fa-bars', onclick: function () { if (!this.active()) { this.active(true); teditor.theme.panel .find('toolbar') .slice(1) .show(); } else { this.active(false); teditor.theme.panel .find('toolbar') .slice(1) .hide(); } } }); teditor.addButton('addPictures', { tooltip: 'Add pictures', icon: 'fa fa-image', onclick: function () { modUploaderPrompt("pictures", id, draftid, groupurl, csrf); } }); teditor.addButton('addAttachments', { tooltip: 'Add attachments', icon: 'fa fa-paperclip', onclick: function () { modUploaderPrompt("attachments", id, draftid, groupurl, csrf); } }); if (groupurl != '') { teditor.addButton('quoteMessage', { tooltip: 'Quote post', icon: 'fa fa-comment', onclick: function () { editor.ShowMessageHistory(id, groupurl, 'html', '', sig, false); } }); } if (draftid != '' && draftid != '0' && draftid != 0) { teditor.on('NodeChange', function () { if (tinymce.activeEditor != null) { //tinymce.triggerSave(); let markupStr = tinymce.activeEditor.getContent(); $('#editor' + id).val(markupStr); modOnFormChange(id, draftid, groupurl, csrf); } }); teditor.on('keyup', function () { //tinymce.triggerSave(); let markupStr = tinymce.activeEditor.getContent(); $('#editor' + id).val(markupStr); modOnFormChange(id, draftid, groupurl, csrf); }); } // special wiki buttons teditor.addButton('addWikiImage', { tooltip: 'Add Image', icon: 'fa fa-image', onclick: function () { $('#ImageModal').modal({}); } }); teditor.addButton('addWikiLink', { tooltip: 'Add Link', icon: 'fa fa-book', onclick: function () { $('#LinkModal').modal({}); } }); teditor.addButton('addWikiTOC', { tooltip: 'Table of Contents', icon: 'fa fa-list-alt', onclick: function () { $('#TOCModal').modal({}); } }); } }); // disable tooltips because they require double taps on mobile $('.note-editor *').tooltip('disable'); } }, initPlainEditor: function (id, bodyType, groupurl, handleAttachments, sig) { $('#addattachments').show(); if (bodyType == 'plain') { $('#bodytype' + id).val('plain'); $('#preview' + id).hide(); $('#return' + id).hide(); $('#preview' + id).hide(); $('#markdownlink' + id).hide(); } else { $('#bodytype' + id).val('markdown'); $('#markdownbuttons' + id).show(); $('#preview' + id).show(); $('#return' + id).hide(); $('#previewWindow' + id).hide(); $('#markdownlink' + id).show(); } toquote = modGetSelection(id); if (toquote != '') { editor.ShowMessageHistory(id, groupurl, 'plain', toquote, sig, true); //$('#editor' + id).val(toquote); } }, InitPostDraft: function (id, draftid, csrf, groupurl) { // save the draft when leaving the page. $(window).on('beforeunload', function () { modUnloading = true; modSaveDraft(id, draftid, groupurl, csrf, true); }); // save the draft 1 second after a change $('form input, form textarea').on('input propertychange change', function () { modOnFormChange(id, draftid, groupurl, csrf); }); modUpdateAttachments(id, draftid, csrf, groupurl); if (typeof Capacitor !== 'undefined') { modInitDeviceUploader(id, draftid, csrf, groupurl); } else { modInitWebUploader(id, draftid, csrf, groupurl); } }, // InitReplyDraft creates a new draft, assumes a hidden form input called #draftidmid, and then calls initWindow(). InitReplyDraft: function ( id, bodytype, draftid, groupurl, csrf, handleAttachments, noFontChanges, isReply, isWiki, body, sig, onInitFunc ) { console.log('in InitReplyDraft draftid=' + draftid); modDeletedDraft = false; modDestroyedEditor = false; modUnloading = false; if (draftid == 0) { // create a new draft console.log('generating new draft' + groupurl); console.log('id=' + id); upload = { mid: id, csrf: csrf, body: sig }; $.ajax({ url: fixupURL(groupurl + '/reply'), cache: false, method: 'POST', data: upload, xhrFields: { withCredentials: true }, dataType: 'json', error: function (xhr, ajaxOptions, thrownError) { if (modDeletedDraft == false && modDestroyedEditor == false) { createAlert("There was an error saving the draft. Please reload the page.", true, false) } } }).done(function (response) { console.log('reply draft created'); console.log('draftid:' + response.DraftID); draftid = response.DraftID; $('#draftid' + id).val(response.DraftID); editor.InitEditor( id, bodytype, draftid, groupurl, csrf, handleAttachments, noFontChanges, true, false, body, sig, onInitFunc ); editor.InitPostDraft(id, draftid, csrf, groupurl); console.log('id=' + id); $('#bodytype' + id).val(bodytype); $('#cancel-' + id).attr( 'onclick', 'editor.discardReplyDraft("' + id + '", "' + draftid + '","' + bodytype + '","' + csrf + '","' + groupurl + '");' ); return; }); return; } editor.InitEditor( id, bodytype, draftid, groupurl, csrf, handleAttachments, noFontChanges, true, false, body, sig, onInitFunc ); editor.InitPostDraft(id, draftid, csrf, groupurl); $('#bodytype' + id).val(bodytype); $('#cancel-' + id).attr( 'onclick', 'editor.discardReplyDraft("' + id + '", "' + draftid + '","' + bodytype + '","' + csrf + '","' + groupurl + '");' ); console.log('DONE'); }, // discardReplyDraft deletes the draft and any attachments and returns the user to the previous page. discardReplyDraft: function (id, draftid, bodytype, csrf, groupurl) { console.log('editor delete reply draft'); upload = { draftid: draftid, csrf: csrf, jsondelete: '1' }; $.ajax({ url: groupurl + '/draftop', cache: false, data: upload, method: 'POST', xhrFields: { withCredentials: true }, dataType: 'json' }).done(function (response) { // Do something with the request console.log("success delete reply draft"); $('#draftid' + id).val(''); if (bodytype == 'html') { tinymce.get('editor' + id).remove(); } $('#subject' + id).val($('#origsubject' + id).val()); $('#editor' + id).val(''); modDeletedDraft = true; modDestroyedEditor = true; }); }, PreviewMarkdown: function (id, groupurl) { let markdown = $('#editor' + id).val(); upload = { md: markdown }; $.ajax({ url: fixupURL(groupurl + '/previewmd'), cache: false, data: upload, method: 'POST', xhrFields: { withCredentials: true }, dataType: 'json' }).done(function (response) { // Do something with the request console.log(response.markdown); wrap = ' ' + response.markdown + ' '; $('#editwindow' + id).hide(); $('#previewWindow' + id).replaceWith(wrap); $('#previewWindow' + id).show(); }); $('#preview' + id).hide(); $('#return' + id).show(); }, ReturnMarkdown: function (id) { $('#preview' + id).show(); $('#return' + id).hide(); $('#previewWindow' + id).hide(); $('#editwindow' + id).show(); }, // groupReplyto is groupsio.ReplyTo // toggle=0 is group // toggle=1 is sender // toggle=2 is mods TogglePrivate: function (id, groupReplyto, toggle) { console.log("in TogglePrivate"); if (groupReplyto == 2) { // Reply To Moderators if (toggle == 1) { $('#replytype' + id).val('sender'); $('#isprivate' + id).val('1'); $('#replybutton' + id).html(' Reply to Sender'); $('#replybutton' + id).removeClass('btn-success').removeClass('btn-info').addClass('btn-primary'); $('#private' + id).removeClass('btn-default').addClass('btn-primary'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 2);return false;"); $('#grouptoggle' + id).removeClass('btn-success').addClass('btn-default'); $('#grouptoggle' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 1);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val('Private: ' + subj); $('#bccme' + id).show(); } else if (toggle == 2) { $('#replytype' + id).val('mods'); $('#isprivate' + id).val(''); $('#replybutton' + id).html(' Reply to Mods'); $('#replybutton' + id).removeClass('btn-success').removeClass('btn-primary').addClass('btn-info'); $('#grouptoggle' + id).removeClass('btn-success').addClass('btn-default'); $('#grouptoggle' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 0);return false;"); $('#private' + id).removeClass('btn-primary').addClass('btn-default'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 1);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val(subj.replace('Private: ', '')); $('#bccme' + id).show(); } else { $('#replytype' + id).val('group'); $('#isprivate' + id).val(''); $('#replybutton' + id).html(' Reply to Group'); $('#replybutton' + id).removeClass('btn-primary').removeClass('btn-info').addClass('btn-success'); $('#private' + id).removeClass('btn-primary').addClass('btn-default'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 2);return false;"); $('#grouptoggle' + id).removeClass('btn-default').addClass('btn-success'); $('#grouptoggle' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 2);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val(subj.replace('Private: ', '')); $('#bccme' + id).hide(); } } else if (groupReplyto == 1) { // Reply To Sender if (toggle == 1) { $('#replytype' + id).val('sender'); $('#isprivate' + id).val('1'); $('#replybutton' + id).html(' Reply to Sender'); $('#replybutton' + id).removeClass('btn-success').addClass('btn-primary'); $('#private' + id).removeClass('btn-success').addClass('btn-default'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 0);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val('Private: ' + subj); $('#bccme' + id).show(); } else { $('#replytype' + id).val('group'); $('#isprivate' + id).val(''); $('#replybutton' + id).html(' Reply to Group'); $('#replybutton' + id).removeClass('btn-primary').addClass('btn-success'); $('#private' + id).removeClass('btn-default').addClass('btn-success'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 1);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val(subj.replace('Private: ', '')); $('#bccme' + id).hide(); } } else if (groupReplyto == 3) { // Reply To Group And Sender if (toggle == 1) { $('#replytype' + id).val('sender'); $('#isprivate' + id).val('1'); $('#replybutton' + id).html(' Reply to Sender'); $('#replybutton' + id).removeClass('btn-success').addClass('btn-primary'); $('#private' + id).removeClass('btn-default').addClass('btn-primary'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 0);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val('Private: ' + subj); $('#bccme' + id).show(); } else { $('#replytype' + id).val('group'); $('#isprivate' + id).val(''); $('#replybutton' + id).html(' Reply to Group & Sender'); $('#replybutton' + id).removeClass('btn-primary').addClass('btn-success'); $('#private' + id).removeClass('btn-primary').addClass('btn-default'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 1);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val(subj.replace('Private: ', '')); $('#bccme' + id).hide(); } } else if (groupReplyto == 5) { // Reply To Followers Only if (toggle == 1) { $('#replytype' + id).val('sender'); $('#isprivate' + id).val('1'); $('#replybutton' + id).html(' Reply to Sender'); $('#replybutton' + id).removeClass('btn-success').addClass('btn-primary'); $('#private' + id).removeClass('btn-default').addClass('btn-primary'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 0);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val('Private: ' + subj); $('#bccme' + id).show(); } else { $('#replytype' + id).val('group'); $('#isprivate' + id).val(''); $('#replybutton' + id).html(' Reply to Topic Followers Only'); $('#replybutton' + id).removeClass('btn-primary').addClass('btn-success'); $('#private' + id).removeClass('btn-primary').addClass('btn-default'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 1);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val(subj.replace('Private: ', '')); $('#bccme' + id).hide(); } } else { if (toggle == 1) { $('#replytype' + id).val('sender'); $('#isprivate' + id).val('1'); $('#replybutton' + id).html(' Reply to Sender'); $('#replybutton' + id).removeClass('btn-success').addClass('btn-primary'); $('#private' + id).removeClass('btn-default').addClass('btn-primary'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 0);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val('Private: ' + subj); $('#bccme' + id).show(); } else { $('#replytype' + id).val('group'); $('#isprivate' + id).val(''); $('#replybutton' + id).html(' Reply to Group'); $('#replybutton' + id).removeClass('btn-primary').addClass('btn-success'); $('#private' + id).removeClass('btn-primary').addClass('btn-default'); $('#private' + id).attr('onclick', "editor.TogglePrivate('" + id + "','" + groupReplyto + "', 1);return false;"); subj = $('#subject' + id).val(); $('#subject' + id).val(subj.replace('Private: ', '')); $('#bccme' + id).hide(); } } }, ClearTimeout: function() { clearTimeout(modTimeoutId); }, ShowMessageHistory: function( id, groupurl, bodytype, selectedText, sig, firstTime ) { console.log('URL ' + groupurl); console.log('ID ' + id); if (bodytype == 'html' && firstTime == false) { existingmsg = tinyMCE.get('editor' + id).getContent(); } else { existingmsg = $('#editor' + id).val(); } if (selectedText == '') { upload = { preview: bodytype, id: id }; } else { upload = { preview: bodytype, id: id, text: selectedText }; if (firstTime == true) { existingmsg = sig; } } $.ajax({ url: fixupURL(groupurl + '/previewmd'), cache: false, data: upload, method: 'POST', xhrFields: { withCredentials: true }, dataType: 'json' }).done(function (response) { $('#editor' + id).val(response.reply + existingmsg); if (bodytype == 'html') { console.log('SETTING ' + response.reply + existingmsg); tinyMCE.get('editor' + id).setContent(response.reply + existingmsg); console.log('DONE'); } }); $('#editor' + id).focus(); } /* $('form').submit(function(e) { clearTimeout(modTimeoutId); if (postVar != null) { postVar.abort(); } console.log("SETTING DELETED TO TRUE"); console.log("EVENT:", e); modDeletedDraft = true; if ($(this).hasClass('form-submitted')) { e.preventDefault(); return; } $(this).addClass('form-submitted'); }); */ }; }()); cncf-toc@lists.cncf.io Topics 👋 So long folks! ×Close Search Search Cancel Date Date 1 - 13 of 13 previous page next page 👋 So long folks! Cheryl Hung <chung@...> #6088 Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More All Messages By This Member alexis richardson #6089 Cheryl Very sad news! At least for those of us not going to Barbados ;-) You have been an amazing leader and champion for the CNCF and End Users. All the best for the future, where I am sure you will have even more impact. alexis toggle quoted messageShow quoted text On Fri, Aug 13, 2021 at 5:07 PM Cheryl Hung <chung@...> wrote: Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More All Messages By This Member Alex Chircop #6090 You will be missed in the CNCF, but best of luck in your new role Cheryl - and have an amazing holiday in Barbados! Kind Regards, Alex toggle quoted messageShow quoted text From: cncf-toc@... <cncf-toc@...> on behalf of Cheryl Hung via lists.cncf.io <chung=linuxfoundation.org@...> Sent: 13 August 2021 17:07 To: CNCF TOC <cncf-toc@...>; CNCF End-Users <cncf-enduser@...> Subject: [cncf-toc] 👋 So long folks! Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More All Messages By This Member Bob Killen #6091 Thank you Cheryl for everything you've done for the Cloud Native community <3 It's been absolutely wonderful working with you :) Enjoy the vacation and goodluck on your future endeavors! - Bob toggle quoted messageShow quoted text On Fri, Aug 13, 2021 at 12:11 PM Alex Chircop <alex.chircop@...> wrote: You will be missed in the CNCF, but best of luck in your new role Cheryl - and have an amazing holiday in Barbados! Kind Regards, Alex From: cncf-toc@... <cncf-toc@...> on behalf of Cheryl Hung via lists.cncf.io <chung=linuxfoundation.org@...> Sent: 13 August 2021 17:07 To: CNCF TOC <cncf-toc@...>; CNCF End-Users <cncf-enduser@...> Subject: [cncf-toc] 👋 So long folks! Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More All Messages By This Member Alex Jones #6092 Cheryl, You have been instrumental in the growth and participation of the community and will be sorely missed. It feels like a long time since we first met and you have accomplished an incredible amount; often the leader I refer others to for inspiration. Wishing you the best of luck in your new role and a well deserved holiday! Best, Alex More All Messages By This Member Erik Riedel (he/him) #6093 Thanks Cheryl for all your dedication, energy, and great work on behalf of the foundation and our community - we will miss you. Wishing the best of luck and a great holiday - enjoy a well-deserved vacation! Cheers, Erik toggle quoted messageShow quoted text From: cncf-toc@... <cncf-toc@...> on behalf of Alex Chircop via lists.cncf.io <alex.chircop=storageos.com@...> Sent: Friday, August 13, 2021 12:11 To: CNCF TOC <cncf-toc@...>; CNCF End-Users <cncf-enduser@...>; chung@... <chung@...> Subject: Re: [cncf-toc] 👋 So long folks! You will be missed in the CNCF, but best of luck in your new role Cheryl - and have an amazing holiday in Barbados! Kind Regards, Alex From: cncf-toc@... <cncf-toc@...> on behalf of Cheryl Hung via lists.cncf.io <chung=linuxfoundation.org@...> Sent: 13 August 2021 17:07 To: CNCF TOC <cncf-toc@...>; CNCF End-Users <cncf-enduser@...> Subject: [cncf-toc] 👋 So long folks! Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com Privacy & Confidentiality Notice: The information contained in this electronic mail message is intended for the named recipient(s) only. It may contain privileged and confidential information. If you have received this electronic message in error, please notify the sender immediately More All Messages By This Member Sarah Novotny <Sarah.Novotny@...> #6094 So sorry to hear this. Have a grand vacation. sarah toggle quoted messageShow quoted text On 8/13/21, 9:08 AM, "cncf-toc@..." <cncf-toc@...> wrote: You don't often get email from chung=linuxfoundation.org@.... Learn why this is important Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More Justin Cormack #6095 Best wishes and thanks for the huge amount you have contributed. Hope to meet up again soon! Justin toggle quoted messageShow quoted text On Fri, 13 Aug 2021 at 17:07, Cheryl Hung <chung@...> wrote: Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More All Messages By This Member Alena Prokharchyk #6097 Thank you for everything you've done for the CNCF End User community, Cheryl. Hope you enjoy your vacation! -alena toggle quoted messageShow quoted text On Aug 13, 2021, at 9:07 AM, Cheryl Hung <chung@...> wrote: Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More All Messages By This Member reda benzair #6098 Hi Cheryl, Wishing you the best of luck in your next move, you bring a great contribution to the CNCF and community. Best, De : "cncf-toc@..." <cncf-toc@...> au nom de Cheryl Hung <chung@...> Date : vendredi 13 août 2021 à 18:07 À : CNCF TOC <cncf-toc@...>, CNCF End-Users <cncf-enduser@...> Objet : [cncf-toc] 👋 So long folks! Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More All Messages By This Member Josh Berkus #6105 On 8/13/21 9:07 AM, Cheryl Hung wrote: I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. Enjoy, Cheryl! We will definitely miss you ... hopefully your new role means we get to see you again. -- -- Josh Berkus Kubernetes Community Architect OSPO, OCTO More All Messages By This Member Phil Estes #6115 Best of luck in your new adventure, Cheryl! I've always been impressed with what you accomplished with the end users group as well as your overall positive impact during your tenure at the CNCF. Hopefully you'll still be around this community post-COVID in your new role; it was always fun to see you and catch up at various places on the globe! Phil toggle quoted messageShow quoted text On Fri, Aug 13, 2021 at 12:07 PM Cheryl Hung <chung@...> wrote: Hi all, I'd like to share that I am leaving CNCF / LF, today is my last day. It's been a privilege and a pleasure to work with this community, and thank you for everything you taught me over the past three years. As for me, I'm off on vacation in Barbados, and then I'll announce my new role in three weeks. Hopefully I will still be able to see you around the community. Best of luck! Cheryl Add me on LinkedIn or Twitter -- Cheryl Hung <chung@linuxfoundation.org> VP of Ecosystem, Cloud Native Computing Foundation http://oicheryl.com More All Messages By This Member Richard Hartmann #6132 Hi Cheryl, sad to see you leave. Thank you for your work. Having seen CNCF from the inside since its inception, I do think you did make a lasting impact on end users and beyond. Best, Richard More All Messages By This Member ×Close Verify Delete Are you sure you wish to delete this message from the message archives of cncf-toc@lists.cncf.io? This cannot be undone. Cancel Yes ×Close Verify Repost Are you sure you wish to repost this message? Cancel Yes ×Close Report Message Reason Report to Moderators I think this message isn't appropriate for our group. The Group moderators are responsible for maintaining their community and can address these issues. Report to CNCF Support I think this violates the Terms of Service. This includes: harm to minors, violence or threats, harassment or privacy invasion, impersonation or misrepresentation, fraud or phishing. Note: Your email address is included with the abuse report. Cancel Report ×Close Split Topic The new topic will begin with this message. Subject of the new topic: Cancel Split Topic 1 - 13 of 13 previous page 1 next page Previous Topic Next Topic More Options More Home Hashtags Subgroups Terms Toggle navigation Terms © 2022 Groups.io