Rolandtb

Joined 4 May 2023
pandoc
(pandoc)
 
(26 intermediate revisions by the same user not shown)
Line 13: Line 13:
**[[Thunderbird/Support/TB115.0SupportIssues]]
**[[Thunderbird/Support/TB115.0SupportIssues]]


== 2025-11-13 How to know which Thunderbird Desktop are current for Daily (aka Nightly in Firefox's lingo), ESR and Release (aka LATEST_THUNDERBIRD_VERSION) using the APO ==
 
== 2026-02-05 Pandoc in your browser makes it easy convert SUMO/wikitext to and from markdown ==
* https://pandoc.org/app/
== 2026-01-29 Testing GhostText, turns out you have to right click  > `Activate GhostText on field` in the text field you are editing, there is no toolbar button available in Firefox unless you click the puzzle piece icon, click the gear icon and pin the GhostText extension :-) ==
 
== 2026-01-15 UNTESTED --> How To update a google sheet automatically from a CSV on github ==
from a google search for <code>how to update a google sheet cell with numbers from a github csv file</code>:
 
<div class="mw-collapsible mw-collapsed" data-expandtext="show me the github CSV google sheet magic">
 
'''Method 1: Using the <code>IMPORTDATA</code> Function (Manual/Semi-automated)''' 
 
This method is the simplest if your CSV file is publicly accessible and you
don’t need real-time, automatic updates. The data will refresh
periodically or when the sheet is manually reopened.
* 1. '''Get the raw CSV URL from GitHub:''' Navigate to your CSV file on GitHub, click the '''“Raw”''' button, and copy the URL from your browser’s address bar. This URL
should point directly to the raw data and typically starts with <code>raw.githubusercontent.com...</code>.
* 2. '''Use the <code>IMPORTDATA</code> function:''' In the desired Google Sheets cell (e.g., A1), enter the following formula, replacing <code>&quot;YOUR_RAW_CSV_URL&quot;</code> with the URL you copied:
 
<pre class="excel">=IMPORTDATA(&quot;YOUR_RAW_CSV_URL&quot;)</pre>
* 3. '''Press Enter:''' The data from the GitHub CSV file will populate the sheet starting from
that cell. The data will automatically arrange itself into rows and
columns
 
'''Method 2: Using Google Apps Script (Automated/Programmatic)'''
 
For more robust solutions, such as updating a specific range of cells or<br />
scheduling automatic updates, Google Apps Script is the best approach.
 
* 1. '''Open the Apps Script editor:''' In your Google Sheet, go to '''Extensions''' &gt; '''Apps Script'''.
* 2. '''Paste the script:''' Delete any existing code in the <code>Code.gs</code> file and paste the following script. Remember to replace <code>&quot;YOUR_RAW_CSV_URL&quot;</code> with your actual GitHub raw CSV URL and <code>&quot;Sheet1&quot;</code> with your target sheet’s name:
 
<div class="mw-collapsible mw-collapsed" data-expandtext="show me the JS">
 
<syntaxhighlight lang="js">
function importCSVFromGitHub() {
    const url = "YOUR_RAW_CSV_URL"; // Replace with your GitHub raw CSV URL
    const sheetName = "Sheet1"; // Replace with your target sheet name
    const targetCell = "A1"; // The cell to start pasting data
 
    try {
        // Fetch the CSV data
        const response = UrlFetchApp.fetch(url);
        const csvData = response.getContentText();
 
        // Parse the CSV data into a 2D array
        const dataArray = Utilities.parseCsv(csvData);
 
        // Get the target sheet and range
        const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
        if (!sheet) {
          Logger.log("Sheet not found: " + sheetName);
          return;
        }
 
        // Update the sheet with the new data
        // Clear previous data in the target range first if needed
        const startRange = sheet.getRange(targetCell);
        const startRow = startRange.getRow();
        const startColumn = startRange.getColumn();
 
        // Clear only the area the new data will occupy
        sheet.getRange(startRow, startColumn, sheet.getLastRow(), sheet.getLastColumn()).clearContent();
 
        // Set the new values
        sheet.getRange(startRow, startColumn, dataArray.length, dataArray[0].length).setValues(dataArray);
 
        Logger.log("CSV data successfully imported to " + sheetName);
      }
      catch (e) {
        Logger.log("Error importing CSV: " + e.toString());
      }
}
</syntaxhighlight>
</div>
* 3. '''Save and run the script:'''
** Click the '''Save''' icon (floppy disk) and name your project.
** In the function dropdown menu (usually showing <code>importCSVFromGitHub</code> or <code>myFunction</code>), ensure <code>importCSVFromGitHub</code> is selected.
** Click the '''Run''' button (play icon).
** **Authorize** the script when prompted by following the on-screen instructions.
* 4. '''Schedule automatic updates (optional):''' You can set a time-driven trigger to run this script automatically at specific intervals:
** In the Apps Script editor, click the '''Triggers''' icon (alarm clock).
** Click '''+ Add Trigger'''.
** In the “Choose which function to run” dropdown, select <code>importCSVFromGitHub</code>.
** Under “Select event source”, choose '''Time-driven'''.
** Configure the frequency (e.g., every hour, day) and save the trigger
</div>
 
== 2026-01-15 How to syntax colour and highligt aka escape JavaScript code in wikitext==
* apparently it's <code>&lt;syntaxhighlight lang="javascript">your JavaScript code here&lt;/syntaxhighlight></code>. For example:
<div class="mw-collapsible mw-collapsed" data-expandtext="show me colourized JS">
<syntaxhighlight lang="javascript">
function importCSVFromGitHub() {
  const url = "YOUR_RAW_CSV_URL"; // Replace with your GitHub raw CSV URL
  const sheetName = "Sheet1"; // Replace with your target sheet name
  const targetCell = "A1"; // The cell to start pasting data
 
  try {
    // Fetch the CSV data
    const response = UrlFetchApp.fetch(url);
    const csvData = response.getContentText();
 
    // Parse the CSV data into a 2D array
    const dataArray = Utilities.parseCsv(csvData);
 
    // Get the target sheet and range
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
    if (!sheet) {
      Logger.log("Sheet not found: " + sheetName);
      return;
    }
 
    // Update the sheet with the new data
    // Clear previous data in the target range first if needed
    const startRange = sheet.getRange(targetCell);
    const startRow = startRange.getRow();
    const startColumn = startRange.getColumn();
 
    // Clear only the area the new data will occupy
    sheet.getRange(startRow, startColumn, sheet.getLastRow(), sheet.getLastColumn()).clearContent();
 
    // Set the new values
    sheet.getRange(startRow, startColumn, dataArray.length, dataArray[0].length).setValues(dataArray);
 
    Logger.log("CSV data successfully imported to " + sheetName);
  } catch (e) {
    Logger.log("Error importing CSV: " + e.toString());
  }
}
 
</syntaxhighlight>
</div>
 
== 2025-12-08 Roland's LLM assisted coding for Support tasks blog page==
[[User:Rolandtb/LLM assisted coding for Support related tasks]]
 
== 2025-11-28 Non english i.e. non en-us Support Forums for Thunderbird ==
* https://wiki.mozilla.org/Thunderbird/Support/Community_support_based_on_languages <-- which I did the second edit on back in 2011 :-)
 
== 2025-11-28 API for a Thunderbird Desktop add-on to implement custom OAuth ==
* https://webextension-api.thunderbird.net/en/mv2/oauthProvider.html
 
== 2025-11-24 HOW TO run scrcpy to mirror your recent Android phone to your desktop screen ==
* Connect your Android phone to your Desktop with a USB-C cable and then: <code>scrcpy -m 1024 --max-fps=15 --print-fps --show-touches</code> <-- should work on macOS, linux and windows
 
== 2025-11-20 Unsupported Thunderbird Desktop Windows on ARM 64 builds by DDS Central ==
* As of writing this, this volunteer's TB Desktop builds are up to date with the latest release which is currently Thunderbird 145: https://zebra.ddscentral.org/pub/downloads/thunderbird-arm64/ Kudos :-) !
 
== 2025-11-13 How to know which Thunderbird Desktop are current for Daily (aka Nightly in Firefox's lingo), ESR and Release (aka LATEST_THUNDERBIRD_VERSION) using the API ==
* https://product-details.mozilla.org/1.0/thunderbird_versions.json
* https://product-details.mozilla.org/1.0/thunderbird_versions.json
<div class="mw-collapsible mw-collapsed" data-expandtext="show me Thunderbird desktiop versions as of 2025-11-13 10:30am, Daily is 147.0, ESR is 140.5.0, release is: 144.0.1">
<div class="mw-collapsible mw-collapsed" data-expandtext="show me Thunderbird desktiop versions as of 2025-11-13 10:30am, Daily is 147.0, ESR is 140.5.0, release is: 144.0.1">
992

edits