SheetJS xlsx-style need cell style in excel

I am trying to export excel using SheetJS/xlsx and want to format cell. I am using following code and excel is generating but can't format a cell. Can any one point the issue or can share a complete sample code for this?
Loading library files
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="http://oss.sheetjs.com/js-xlsx/xlsx.core.min.js"></script>
<script type="text/javascript" src="http://sheetjs.com/demos/FileSaver.js"></script>

Remaining code are
function Workbook() {
    if(!(this instanceof Workbook)) return new Workbook();
    this.SheetNames = [];
    this.Sheets = {};
}

function sheet_from_array_of_arrays(data, opts) {
    var ws = {};
    var range = {s: {c:10000000, r:10000000}, e: {c:0, r:0 }};
    for(var R = 0; R != data.length; ++R) {
        for(var C = 0; C != data[R].length; ++C) {
            if(range.s.r > R) range.s.r = R;
            if(range.s.c > C) range.s.c = C;
            if(range.e.r < R) range.e.r = R;
            if(range.e.c < C) range.e.c = C;
            var cell = {v: data[R][C],
                  s: { alignment: {textRotation: 90 },
                       font: {sz: 14, bold: true, color: #FF00FF }
                };
        //cell.s = {}
       /*var cell ={ v: '2.4.2014',
        t: 's',
        r: '<t>2.4.2014</t>',
        h: '2.4.2014',
        w: '2.4.2014',
        s:
        { patternType: 'solid',
          fgColor: { theme: 8, tint: 0.3999755851924192, rgb: '9ED2E0' },
          bgColor: { indexed: 64 } } };

      */
            if(cell.v == null) continue;
            var cell_ref = XLSX.utils.encode_cell({c:C,r:R});

            if(typeof cell.v === 'number') cell.t = 'n';
            else if(typeof cell.v === 'boolean') cell.t = 'b';
            else if(cell.v instanceof Date) {
                cell.t = 'n'; cell.z = XLSX.SSF._table[14];
                cell.v = datenum(cell.v);
            }
            else cell.t = 's';

            ws[cell_ref] = cell;
        }
    }
    if(range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);
    return ws;
}
function s2ab(s) {
    var buf = new ArrayBuffer(s.length);
    var view = new Uint8Array(buf);
    for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
    return buf;
}
function GenerateExcelFile(inData, colWidth){
  var wb = new Workbook();
  var ws = sheet_from_array_of_arrays(inData);

  var ws_name = "SheetJS";

  /* add worksheet to workbook */
wb.SheetNames.push(ws_name);
wb.Sheets[ws_name] = ws;
/* TEST: column widths */
ws['!cols'] = colWidth;

var wbout = XLSX.write(wb, {bookType:'xlsx', bookSST:true, type: 'binary'});
saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), "test.xlsx")

}

Calling with these code
var excelData = "JSON DATA";
  var wscols = [
    {wch:30},
    {wch:20},
    {wch:20}
];

<button onclick="GenerateExcelFile(excelData,wscols)">Export</button>

Please help me finding out where I am wrong.
Thanks Suman

I am also having the similar issue, any luck with the style information writing?

I've been using a fork of XLSX which is better with styling https://github.com/protobi/js-xlsx
On caveat, there's an issue with dist/cpexcel.js, but here's the fix: https://github.com/protobi/js-xlsx/issues/78

I have also same problem. I don't know how to make header text bold and excel column size need to adjustable with text size.

+1

By the way, I have solved this issues by doing {raw=true}, which keep all cell format as like html table.
var tbl = XLSX.utils.table_to_book(document.getElementById('tableforexcel'), {raw:true});         XLSX.writeFile(tbl, file_name, {cellStyles:true});

That won't help me because I am generating the file from the data that is not on the screen entirely.
my table has paging and I am exporting all the data into the excel file.

Then I think Datatable Export will help you..
Here is a the library...
https://datatables.net/extensions/buttons/examples/initialisation/export.html

We offer this in the Pro compendium.  Since companies have paid for the features already, it would be unfair to them if we turned around and made it available as open source.  We have a longer comment in a gist.


Error decoding response when running records query and returning an attachment field

When runningquickbase-cli records query and selecting an attachment field, an error decoding response error is returned.

Example output the the CLI tool cannot parse:
{
  "data": [
    {
      "16": {
        "value": {
          "url": "/files/bq6qbvfbv/2/16/5",
          "versions": [
            {
              "creator": {
                "email"<EMAIL_ADDRESS>                "id": "59830788.bkkc",
                "name": "cpliakas"
              },
              "fileName": "text.txt",
              "uploaded": "2021-01-22T12:41:27Z",
              "versionNumber": 4
            },
            {
              "creator": {
                "email"<EMAIL_ADDRESS>                "id": "59830788.bkkc",
                "name": "cpliakas"
              },
              "fileName": "text.txt",
              "uploaded": "2021-01-22T12:41:35Z",
              "versionNumber": 5
            }
          ]
        }
      }
    }
  ],
  "fields": [
    {
      "id": 16,
      "label": "File",
      "type": "file"
    }
  ],
  "metadata": {
    "numFields": 1,
    "numRecords": 1,
    "skip": 0,
    "totalRecords": 1
  }
}

Example output the the CLI tool cannot parse:
{
  "data": [
    {
      "16": {
        "value": {
          "url": "/files/bq6qbvfbv/2/16/5",
          "versions": [
            {
              "creator": {
                "email"<EMAIL_ADDRESS>                "id": "59830788.bkkc",
                "name": "cpliakas"
              },
              "fileName": "text.txt",
              "uploaded": "2021-01-22T12:41:27Z",
              "versionNumber": 4
            },
            {
              "creator": {
                "email"<EMAIL_ADDRESS>                "id": "59830788.bkkc",
                "name": "cpliakas"
              },
              "fileName": "text.txt",
              "uploaded": "2021-01-22T12:41:35Z",
              "versionNumber": 5
            }
          ]
        }
      }
    }
  ],
  "fields": [
    {
      "id": 16,
      "label": "File",
      "type": "file"
    }
  ],
  "metadata": {
    "numFields": 1,
    "numRecords": 1,
    "skip": 0,
    "totalRecords": 1
  }
}

Problems are here:

https://github.com/QuickBase/quickbase-cli/blob/69a2a75375039eef7beb0b366f183fa238b4387b/qbclient/model.go#L292
https://github.com/QuickBase/quickbase-cli/blob/69a2a75375039eef7beb0b366f183fa238b4387b/qbclient/model.go#L666

We are adding an API call to add file attachments. We should figure out how to support this via records insert command, in which this might be a problem as well:

https://github.com/QuickBase/quickbase-cli/blob/69a2a75375039eef7beb0b366f183fa238b4387b/qbclient/model.go#L497

Problems are here:

https://github.com/QuickBase/quickbase-cli/blob/69a2a75375039eef7beb0b366f183fa238b4387b/qbclient/model.go#L292
https://github.com/QuickBase/quickbase-cli/blob/69a2a75375039eef7beb0b366f183fa238b4387b/qbclient/model.go#L666

We are adding an API call to add file attachments. We should figure out how to support this via records insert command, in which this might be a problem as well:

https://github.com/QuickBase/quickbase-cli/blob/69a2a75375039eef7beb0b366f183fa238b4387b/qbclient/model.go#L497


[DO NOT MERGE]Prototype Not Creating Header Type

API change check
API changes are not detected in this pull request.


Typo "Microsoft Teams Room"→"Microsoft Teams Rooms"

https://docs.microsoft.com/en-us/microsoftteams/devices-for-education
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/blob/live/Teams/devices-for-education.md
#PingMSFTDocs

Docs Build status updates of commit e9932ff:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Teams/devices-for-education.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 2dda9ef:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Teams/devices-for-education.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@dstrome PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

Docs Build status updates of commit ac0ff4f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Teams/devices-for-education.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


The specified module could not be found, with electron v4.0.0.

With electron 3.0.12 everything seems to work fine.
Changed version to 4.0.0, removed node_modules, did npm i, all ok.
If I run electron-rebuild, the command runs, but it does not rebuild the sharp module, does not seem it's picking it up.
If I run require('sharp') I get:
The specified module could not be found
If I cd to node_modules/sharp and try to recompile it manually:
node-gyp rebuild --target=4.0.0 --arch=x64 --dist-url=https://atom.io/download/electron
and try require('sharp') I still get The specified module could not be found.
Note: I have checked and sharp.node is present at the specified path.

The target flag passed to node-gyp refers to the version of Node rather than the version of Electron.
You'll probably want to use electron-rebuild.

Hello, electron-rebuild is what I am current using with Electron 3, but it fails with Electron 4.
From what I understand the version is for electron since dist-url is set to https://atom.io/download/electron

sharp.zip
I have the same issue and here is my Dependency Walker file.

Thanks, according to that .dwi file the missing shared library is node.dll so I guess either something changed in the way Electron 4 provides/packages this and/or electron-rebuild does not yet support it.
I'd imagine other native modules are going to fail in a similar manner - please can you report this upstream.

"However, in Electron 4.x and higher, the symbols needed by native modules are exported by electron.exe, and there is no node.dll in Electron 4.x."

https://electronjs.org/docs/tutorial/using-native-node-modules#troubleshooting

Thank you, but I still don't understand how to make things right, or maybe I should just wait for electron-rebuild to release some update?

https://github.com/electron/electron/pull/16687 Am I correct that this should fix the issue?
But I am still getting an error when building with electron-builder on mac.

pp threw an error during load
Error: The module '//node_modules/sharp/build/Release/sharp.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 69. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install).
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:160:31)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:722:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:160:31)
at Module.load (internal/modules/cjs/loader.js:602:32)
at tryModuleLoad (internal/modules/cjs/loader.js:541:12)
at Function.Module._load (internal/modules/cjs/loader.js:533:3)
at Module.require (internal/modules/cjs/loader.js:640:17)
at require (internal/modules/cjs/helpers.js:20:18)
at bindings (//node_modules/sharp/node_modules/bindings/bindings.js:112:48)
at Object. (/*/node_modules/sharp/lib/constructor.js:10:34)

This is probably a electron-builder issue and not a sharp one.

@midevnull https://github.com/electron-userland/electron-builder/issues/3660

Has the "Error: The specified module could not be found" had a proper solution yet?
Application is having the "Error: The specified module could not be found." issue on a windows machine.
App threw an error during load Error: The specified module could not be found. \\?\C:\Users\Cascoid\Documents\rollapp\node_modules\sharp\build\Release\sharp.node     at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:160:31)     at Object.Module._extensions..node (internal/modules/cjs/loader.js:722:18)     at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:160:31)     at Module.load (internal/modules/cjs/loader.js:602:32)     at tryModuleLoad (internal/modules/cjs/loader.js:541:12)     at Function.Module._load (internal/modules/cjs/loader.js:533:3)     at Module.require (internal/modules/cjs/loader.js:640:17)     at require (internal/modules/cjs/helpers.js:20:18)     at bindings (C:\Users\a707710\Documents\HOME\confetticode\TriviaRoll\node_modules\bindings\bindings.js:112:48)     at Object.<anonymous> (C:\Users\Cascoid\Documents\rollapp\node_modules\sharp\lib\constructor.js:10:34)
The application runs perfectly fine on mac.
I've tried deleting node_modules and package-lock.json.. and reinstalling all node packages individually, still nothing.
Tried removing prebuild-install before rebuilding, also didn't work.
All other threads with similar issue point here, but not seeing a solution.

Electron 4.1.0 seems to have solved this issue, is it?

Electron 4.1.0 was released to work around issues users were experiencing with node-pre-gyp based native modules and our ABI number in Electron >= 4.0.4.

Fixed a crash when calling ECDH.setPrivateKey(). #17297
TouchBarSegmentedControl instances now correctly update when you update the segments array and remove label or image dynamically. #17335
https://electronjs.org/releases/stable#4.1.0

I tried just Electron v4.1.0, but in my case it did not help. Gonna have to wait for sharp update.

I tried just Electron v4.1.0, but in my case it did not help. Gonna have to wait for sharp update.

Did you clean your build machine? I had to not only delete my project's node_modules, but
rm -rf ~/.electron ~/.electron-gyp ~/.npm/_libvips* ~/.node-gyp ~/.cache/yarn/*/*sharp*
(I added it as postinstall script)

Yes I did try to clean everything, but it seems that I will have to wait for update like I have been told here https://github.com/lovell/sharp/issues/1608

The ABI version of 69 used by Electron 4 is (correctly) considered "oddball" by the prebuild infrastructure so this is still blocked until the approach proposed in https://github.com/prebuild/prebuild-ci/issues/11 is addressed.

What is the workaround for this?

@JakeRadMSFT
Yes, I have rolled back to Electron 3.1.6(The last version of 3.x.x)

@xland have you gotten it to work after packaging it?
With 3.1.6, I'm hitting this issue: https://github.com/lovell/sharp/issues/1519.

@JakeRadMSFT
Electron 3.1.6 and sharp 0.21.3 work well together on macOS, Win10 and Ubuntu
https://github.com/xland/xiangxuema

I think everything already works with Electron 4.1.
I originally run into this same issue, but then I realized that npm update --depth 9999 did not update sharp's sub-dependencies and I was stuck on older versions of prebuild-install and node-abi. Having updated those and also node-gyp globally sharp 0.21.3 works for me on Electron 4.1.

I'm having unrelated issues with 0.22 / libvips 8.7.4 on Ubuntu Xenial (because of older versions of librsvg or cairo, not sure yet) but on newer Linux systems I had that combination working as well.

Fixed my issue on Mac (Mac works with Electron 4.1).
One windows, I still get "Error: The specified module could not be found".
Now trying a downgrade to 3.1.6.

Sigh ... it's because of this: https://github.com/mapbox/node-pre-gyp/pull/279

Should anyone want to speed all this along, the best thing to do would be to work on https://github.com/prebuild/prebuild-ci/issues/11 and ensure ABI version 69 is added to the "oddball" list.

That's actually not the issue anymore ... I think it works at 4. I'll open a new bug ...

Encountered a similar issue with web3 and electron.
Posted an MVP at https://github.com/electron/electron-quick-start/issues/269.

I've opened a PR to help ensure prebuilt binaries for the latest Electron 4 / ABI 69 will soon be available - see https://github.com/prebuild/prebuild-ci/pull/16

With Electron 3.1.8 output this
Uncaught Error: Could not locate the bindings file. Tried:
 → D:\ElectronApps\p360\node_modules\sharp\build\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\build\Debug\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\build\Release\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\out\Debug\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\Debug\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\out\Release\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\Release\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\build\default\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\compiled\10.2.0\win32\x64\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\addon-build\release\install-root\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\addon-build\debug\install-root\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\addon-build\default\install-root\sharp.node
 → D:\ElectronApps\p360\node_modules\sharp\lib\binding\node-v64-win32-x64\sharp.node
    at bindings (D:\ElectronApps\p360\node_modules\bindings\bindings.js:126)
    at Object.<anonymous> (D:\ElectronApps\p360\node_modules\sharp\lib\constructor.js:10)
    at Object.<anonymous> (D:\ElectronApps\p360\node_modules\sharp\lib\constructor.js:243)
    at Module._compile (internal/modules/cjs/loader.js:711)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:722)
    at Module.load (internal/modules/cjs/loader.js:620)
    at tryModuleLoad (internal/modules/cjs/loader.js:559)
    at Function.Module._load (internal/modules/cjs/loader.js:551)
    at Module.require (internal/modules/cjs/loader.js:658)
    at require (internal/modules/cjs/helpers.js:20)

v0.22.1 now available with prebuilt binaries for Electron 4 and 5.
Please remember to run electron-rebuild (which may itself also need updating to pick up the new ABI versions),

This issue occur on electron 6.0.1.
@lovell
electron-rebuild -f -w sharp

- Searching dependency tree
An unhandled error occurred inside electron-rebuild
Could not detect abi for version 6.0.1 and runtime electron.  Updating "node-abi" might help solve this issue if it is a new release of electron

Error: Could not detect abi for version 6.0.1 and runtime electron.  Updating "node-abi" might help solve this issue if it is a new release of electron
    at Object.getAbi (D:\project\xiangxuema\node_modules\node-abi\index.js:30:9)
    at new Rebuilder (D:\project\xiangxuema\node_modules\electron-rebuild\lib\src\rebuild.js:122:28)
    at rebuildWithOptions (D:\project\xiangxuema\node_modules\electron-rebuild\lib\src\rebuild.js:393:23)
    at Object.doRebuild [as rebuild] (D:\project\xiangxuema\node_modules\electron-rebuild\lib\src\rebuild.js:400:16)
    at Object.<anonymous> (D:\project\xiangxuema\node_modules\electron-rebuild\lib\src\cli.js:115:33)
    at Generator.next (<anonymous>)
    at fulfilled (D:\project\xiangxuema\node_modules\electron-rebuild\lib\src\cli.js:5:58)
npm ERR! code ELIFECYCLE
npm ERR! errno<PHONE_NUMBER>
npm ERR<EMAIL_ADDRESS>buildsharp: `electron-rebuild -f -w sharp`
npm ERR! Exit status<PHONE_NUMBER>
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>buildsharp script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\allen\AppData\Roaming\npm-cache\_logs\2019-08-08T14_07_46_362Z-debug.log


[SPARK-26163][SQL] Parsing decimals from JSON using locale

What changes were proposed in this pull request?
In the PR, I propose using of the locale option to parse (and infer) decimals from JSON input. After the changes, JacksonParser converts input string to BigDecimal and to Spark's Decimal by using java.text.DecimalFormat. New behavior is enabled for locales different from en-US.
How was this patch tested?
Added 2 tests to JsonExpressionsSuite for the en-US, ko-KR, ru-RU, de-DE locales:

Inferring decimal type using locale from JSON field values
Converting JSON field values to specified decimal type using the locales.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5321/
Test PASSed.

Test build #99232 has finished for PR 23132 at commit 83920b2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99232/
Test PASSed.

Test build #99318 has finished for PR 23132 at commit 72ebd34.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99318/
Test PASSed.

@dongjoon-hyun @cloud-fan Please, take a look at the PR.

Test build #99396 has started for PR 23132 at commit 1ec56e5.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5470/
Test PASSed.

Test build #99396 has finished for PR 23132 at commit 1ec56e5.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99396/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5488/
Test PASSed.

Test build #99417 has started for PR 23132 at commit 1ec56e5.

LGTM, does CSV need to do the same?

Test build #99417 has finished for PR 23132 at commit 1ec56e5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99417/
Test PASSed.

@cloud-fan I did the same for CSV: https://github.com/apache/spark/pull/22979

thanks, merging to master!

spark.sql.legacy.decimalParsing.enabled is still shown in the PR description and commit messages.

@MaxGekk, mind fixing PR description accordingly?

mind fixing PR description accordingly?

@HyukjinKwon fixed


DRAFT 55 retest deployment (testing only)

this was just testing for https://github.com/Tonomy-Foundation/Tonomy-ID/pull/766


Combobox: Change 'No results' dropdown message based on the loading state

🙋 Feature Request
Currently 'No results' dropdown message is not customizable even when there is an API call in progress. If the API call is taking more time, it can confuse the end user.
🤔 Expected Behavior
Should show different messages based on the loading state. "No results" when there is no API call or API returns empty data. "Please wait/Loading/etc." when there is an API call in progress.
😯 Current Behavior
Shows 'No results' every time when component receives an empty item list.
💁 Possible Solution
There can be 2 approaches to solve this, either allow component to receive a message prop so that developer can maintain it conditionally. Or, as these strings are localised, component itself can update the message to something else while it is loading.
🔦 Context

💻 Examples

https://user-images.githubusercontent.com/4252162/129669621-be0e2f78-baf1-401f-8efb-bb3a1054cde4.mov
🧢 Your Company/Team

🎁 Tracking Ticket (optional)

The loading indicator is there to show that results are loading. It is visible without opening the menu to make it obvious that loading is happening.

Yes it shows the loader, but it would be better if the message is changed along with the loading/searching state.


Fix secret filters

Pull Request
Description

Added filter for a name on API and UI
Perform a quick search by assigned object name

Close
#49

searching by name now works as expected from the API. In the UI there is now a "Name" drop-down, but that filters by ID. I can select e.g. "Secret" or "admin", but that only returns 1 result and the URL shows that it filtered by ID. It does not list all secrets named "Secret" or "admin".

Also, it looks like it is still not possible to search by ?device= or ?virtual_machine=.

There it will return only one object when you are selecting one object through the form, and if you want to filter the secrets with the same name then you can even do a quick search on the UI.
In this plugin we provide a feature for defining more apps in the plugin's setting that you will need on the secrets and writing filtersets for them separately will be not a good idea.

Why not provide device and virtual_machine filters, like the old one?

@uedvt359 Because this plugin also supports netbox objects other than device and virtual machine. If you have a proposal to implement such filters, kindly open a new issue with more details.


Noble bindings for Windows 10 (without pairing)

https://github.com/jasongin/noble-uwp
Requires a recent Windows 10 preview build!
Currently this is implemented as a wrapper around noble that injects different noble bindings for Windows. I'm not opposed to it being merged into noble, however it carries significant dependencies via NodeRT.
It's not complete, but a good portion of the functionality is working so far; see notes in the README there. (I'm currently stuck on notifications: an API that works in C# doesn't work when called via NodeRT. But I haven't had a lot of time to debug yet.)
@sandeepmistry After building this I heard from @aruneshchandra (who I work with) that you might have already been working on the same thing, so I hope it's not duplicative and that at least some part may be helpful.

@jasongin awesome work! I was not working on this, hopefully @hgwood wasn't either.
Unfortunately I don't have a PC setup with the Windows 10 preview build, so can't try it out at the moment.
What do you think about making noble-uwp an optional dependency of noble, that installs on Windows and is used automatically in lib/resolve-bindings.js when the appropriate version of Windows is detected. How close do you think you are to getting the rest of the functionality complete? We could also add an environment variable to force use of the new binding.
What do you think? @jacobrosenthal @don any opinions on this?

What do you think about making noble-uwp an optional dependency of noble

Possible, but the challenge is the node-gyp build for noble-uwp will fail if you don't have the Windows 10 preview SDK installed. Even after the "Windows Creators Update" is released (this April) it will require a newer SDK than many Windows users would have installed. I don't think it would be included with VS 2017, since that is releasing sooner. Perhaps the build script should do some detection and silently "succeed" if you don't have the necessary Windows version and Windows SDK? Probably it should match whatever runtime detection noble does to choose between the HCI driver and noble-uwp.

How close do you think you are to getting the rest of the functionality complete?

I don't know, hopefully a few weeks. I'm still stuck on the notify functionality, but I think there is not much remaining after that. I have the right contacts on the Windows Bluetooth team so I will probably reach out to them for help. I know they have some interest in making the noble work well on Windows due to all the IoT scenarios it enables.

@jasongin this is really great - looking forward to seeing this included in noble.  I may be able to do some testing on your repo this week.  I'll set aside some time to take a look.

Not working on this no, and not planning to go further, as https://github.com/hgwood/winble covers my needs.

Just to clarify, in case it's not obvious to everyone reading this thread...
winble can only run on Node-Chakra, and requires BLE devices to be paired.
noble-uwp is an effort to lift both of those restrictions: it can work on regular (V8) Node.js or Node-ChakraCore (thanks to NodeRT), and it can work with unpaired BLE devices using the new APIs in the Windows 10 Creators Update.

Thanks for the clarification. I've updated my readme to mention noble-uwp.

Update: I got characteristic change notification working in noble-uwp. (My problem was related to an idiosyncrasy in the way NodeRT handles event callbacks.)
Characteristic descriptors aren't done yet. It looks like it should be a straightforward mapping to WinRT GattDescriptor, I just haven't gotten to that yet.
I'm not sure about noble's broadcast and handle methods. It's not yet clear to me what those do, and I don't see any obvious mapping in the WinRT BLE APIs. @sandeepmistry maybe you could give some guidance on those?

@jasongin nice progress!

Possible, but the challenge is the node-gyp build for noble-uwp will fail if you don't have the Windows 10 preview SDK installed. Even after the "Windows Creators Update" is released (this April) it will require a newer SDK than many Windows users would have installed. I don't think it would be included with VS 2017, since that is releasing sooner. Perhaps the build script should do some detection and silently "succeed" if you don't have the necessary Windows version and Windows SDK? Probably it should match whatever runtime detection noble does to choose between the HCI driver and noble-uwp.

What about setting up node-pre-gyp? This would avoid the need for people to build locally. You'll just have to keep up to date builds for newer Node.js versions.

I'm not sure about noble's broadcast and handle methods. It's not yet clear to me what those do, and I don't see any obvious mapping in the WinRT BLE APIs. @sandeepmistry maybe you could give some guidance on those?

For broadcast, it's to control the Server Characteristic Configuration descriptor (0x2903).
The handle methods are to read/write handles directly, this currently only works reliably on Linux, so can me left out.

Yes, node-pre-gyp would avoid the install-time dependency on having the specific Windows SDK version installed separately. I'll look into it.

Chiming in just because I'd love to try this out. I'm working on a node thing which uses a PowerMate Bluetooth as a controller, which is working fine on Mac, but I'm having a hard time with it on Windows (even with a supported adapter + Zadig). Hopefully this will solve the problem with Creators Update is out.

@jasongin any updates on this?

I have made a few fixes and updates to the noble-uwp project in the last couple months, and there is another improvement in the pipeline. It is mostly feature-complete now for almost all scenarios. I think a few people are making use of it, though it hasn't had broad testing yet.
I have not yet worked on setting up node-pre-gyp. If anyone else is able to help with that, I'd appreciate it. Now that the Windows 10 Creators Update has been released, pre-built binaries would be stable.
(Unfortunately my time has been split among several projects, and this one hasn't been top priority for me lately.)

@jasongin cool, thanks for the update.
Should we keep this open until someone sets up node-pre-gyp?

So a PR will be incoming if node-pre-gyp is settled?  I wonder how hard it is to set up.

@jrobeson it would bring us closer to closing. I believe it can be setup with AppVeyor CI.

OK, node-pre-gyp is set up, thanks to @geovie for the help! You can now npm install noble-uwp without needing to compile any code. (It has a peer dependency on noble.)
I'll prepare a PR to noble to have it select noble-uwp bindings when conditions are right (Windows >= 10.0.15063 and Node >= 6), and add noble-uwp as an optional package dependency. I'm assuming we'd prefer to keep noble-uwp in a separate repo/package, rather than merging all the code into noble.


Edited GitHub Pages' index page.

Removed default information.
Added initial basic information about the project.

Codecov Report

Merging #54 (5dff253) into master (f55d3bb) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #54   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           23        23
  Lines          479       479
=========================================
  Hits           479       479

Flag
Coverage Δ

unittests
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1424685...5dff253. Read the comment docs.


BUG: BigQuery - Unable to Import Module

Description
Required. Describe the problem.
Our BigQuery integration has been failing since 5/5.
Timeline:

Beverly messaged Melanie on 5/8/23 to ask why Domo was showing 5/3 as the latest date in our statistics dashboard. Please note, this dashboard is client-facing. The date for Domo comes from BigQuery and Google Analytics. This particular data issue stems from BigQuery data.
Melanie asked Kyle to query the production database to confirm notifications having been sending since 5/3.

Kyle confirmed notifications are sending as expected.

Upon checking cloudwatch log group "/aws/lambda/project-prod-nightly-stats-bigquery-upload-lambda", Melanie found the following error:

[ERROR] Runtime.ImportModuleError: Unable to import module 'nightly_stats_bigquery_upload_lambda': urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.0.2k-fips  26 Jan 2017. See: https://github.com/urllib3/urllib3/issues/2168
Traceback (most recent call last):

Kyle found a link to a similar issue, different library but seemingly the same issue: https://github.com/psf/requests/issues/6432

Steps to Reproduce
Required. Provide information on what steps you are aware of that produce this undesired outcome..

Navigate to VA.gov VANotify KPIs dashboard in Domo https://va-gov.domo.com/page/2040841289
Note that the end date says 5/3 (by default, this will always show the most recent end date for the data present in Domo)

Go to BigQuery to check if there's any data present after 5/3 (if there was data present after that time, I would have raised the issue with a platform analytics ticket since they manages Domo)

SELECT * FROM `vsp-analytics-and-insights.platform_vanotify.prod-statistics`
WHERE date > "2023-05-03";
SELECT * FROM `vsp-analytics-and-insights.platform_vanotify.prod-billing`
WHERE date > "2023-05-03";

See that no data is returned in either table (nightly stats nor billing)
Query our production database to check the notification data and confirm data actually exists for this time period

Confirmed data is present, which means it should have been sent to BigQuery during the nightly import

Check Cloudwatch  to look for errors in the nightly process, I went to "/aws/lambda/project-prod-nightly-stats-bigquery-upload-lambda" and looked for the word "ERROR" between 5/4 and 5/8.

Workaround
Is there something we can do to work around this issue in the meantime? Leave blank if n/a.
We offer very basic stats in SSUI (total triggered, successful, failed in last 7 days, 30 days, and alltime) but this doesn't really replicate what clients need and look for in Domo. Otherwise we would need to provide manual stats to clients (which hopefully won't be necessary).
Impact/Urgency
Required. Describe the impact this bug has on our system, clients, and/or team.

High impact and urgency. This is a production issue that impacts our clients' ability to manage their notifications and report outcomes to stakeholders. This also impacts our billing data, which must be accurate if we are going to use BigQuery to build monthly reports for Franchise Fund.

Expected Behavior
Required. Describe the desired outcome if this were functioning as expected. Include a checklist if applicable.

[x] Analytics data automatically populates nightly for nightly stats and billing data
[ ] Missing data is retroactively corrected
[x] New incident report has been added to the running document
[ ] New ticket(s) have been created to address alerting our team to future issues

Overview of expectations:

Domo and BigQuery should show all available data up to "yesterday's date" (it's always 1 day behind because it's a nightly process).

Domo will automatically refresh data daily, so there shouldn't be any work on that end
We need BigQuery to be re-populated from 5/4 on. Please note, our integration code only refreshes the last 4 days each time it runs, so we need to find a way to replace what was missed and is out of that range.

Our team should be proactively alerted to hard failures like these. Beverly only stumbled upon this data discrepancy by accident and reported it to the team. This ticket doesn't need to solve it, but we should create whatever is needed to do so in a future ticket(s).

QA Considerations
For QA to populate. Leave blank if QA is not applicable on this ticket.
Additional Info & Resources
If applicable, include extra information to assist with troubleshooting, like screenshots, log snippets, links to applicable code files, and/or articles/websites that have relevant info on the issue. Leave blank if n/a.
Info on the BigQuery integration: https://github.com/department-of-veterans-affairs/vanotify-team/blob/master/Engineering/BigQuery/Nightly_Stats_Documentation.md

Updated the requirements file to use urllib3 1.26.15.
Tested in the console, no issues.

Dev was not seeing SSL issues. We do not know why. Attempted to redeploy perf to see if perhaps the lambda had been updated in dev because we regularly deploy but perf/staging/prod only rare get deploys. No change, still failing on perf. Deployed urllib3 pin to 1.26.15 in perf and these are the results:

This resolves the issue. We should attempt to pull the pin out every time we update big query. PR is up, letting it sit overnight though so we can verify it E2E in perf.

Overnight runs (automated) ran without issue last night:
Billing:

Stats:

This went to perf for testing, as shown above, Perf has data. Logs are clean.


Use ga4gh.vrsatile.pydantic models

https://pypi.org/project/ga4gh.vrsatile.pydantic/

Currently we set value to a value object, but we should use therapy_id


Feature to create a chat/conversation link to be shared with

Problem
Hello.
I have much use for a live chat solution but the concern is that most users in my case contact support via various non-web channels (i.e. in person, on phone, email, etc.)
Even so I'd like to solve their problem on live chat platform, but currently the only way I can ask them to do so is to have them visit website with papercups widget and start chat from there. Instead I am wondering whether I can send them a link of new papercups chat/conversation room and have them click there to directly continue on conversation.
Thanks for taking a look and hope you could consider this feature.
Solution
I suppose the approach from Zendesk explains this well.

hey @thejjw! sorry for the late response -- we'll definitely consider this feature :) would you want the chat to just take up the full page? (something like this?)

@reichert621 thanks for a response. yes. the link you provided would certainly fit the purpose!


Fix rename error when sid is empty

Signed-off-by: Wang Xing<EMAIL_ADDRESS>
- What I did
docker cannot rename a container, if it shares the other container's network
example:
step to reproduce
docker run -d --name test hub.c.163.com/combk8s/pause:0.8.0
docker run -d --name test2 --net container:test hub.c.163.com/public/debian:7.9-common
docker rename test2 test3
Error response from daemon: invalid id:
Error: failed to rename container named test2`
- How I did it
add limit: when sid is empty, don't rename sandbox
- How to verify it
- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

Looks good to me

LGTM


Run backup as a service instead of a script

This will allow #3 to be implemented, by running the service as a full fledged daemon instead of a script that calls the backup tool every so often.

Current Status of this work:

Service is now running, and no longer requires entry.sh to call it, as it will do the work reading from the environment variables as required to support backwards compatibility and docker-compose.
Logging has been greatly cleaned up compared to where it was before.
Service configuration supports YAML and JSON. Unit tests suggest full backwards compatibility here as well, which is promising.
Configuration now contains the backup scheduling. Using BACKUP_INTERVAL is now deprecated, but still usable.
Configuration now allows setting the logging level as "debug" or "trace" for when extra logging is wanted or needed to diagnose issues. The long term goal is that debug/trace should be "as needed", and useful errors should be made available on the default seeing.


Dynamically assign port for pprof

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.01% :tada:

Comparison is base (a76d950) 74.87% compared to head (b999ca5) 74.88%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #343      +/-   ##
==========================================
+ Coverage   74.87%   74.88%   +0.01%
==========================================
  Files          44       44
  Lines        4947     4950       +3
==========================================
+ Hits         3704     3707       +3
  Misses        995      995
  Partials      248      248

Files Changed
Coverage Δ

server/pprof.go
87.50% <100.00%> (-0.22%)
:arrow_down:

server/server.go
75.90% <100.00%> (+0.39%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Make VendorTxCode unique with truncated timestamp

Revises the reverted Make VendorTxCode unique to truncate the timestamp to four characters to avoid integer out of bounds errors.
Attn:
@aprofeit @andrewpaliga @girasquid

@girasquid That looks cleaner to me, thanks! @andrewpaliga suggested using the last four digits in the original issue, I'm not sure if that was for a particular reason or seemed easiest. I'll let him comment on that and revise as needed.

The original issue we had was
RangeError:<PHONE_NUMBER>20150904173138 is out of range for ActiveRecord::Type::Integer with limit 8

Where<PHONE_NUMBER> was the order number (I think?) and<PHONE_NUMBER>3138 was the timestamp. The max length for an 8 byte integer is
9223372036854775807

If we just compare that order number with the max length we have about 9 extra characters to play with.
3716080709
9223372036854775807

I assume orders can be bigger than that one, so I think adding just 4 characters of randomness is safe enough to allow larger order numbers.
I don't think using a timestamp is a good way to get 4 random characters though. The big issue with timestamp is we're constrained to numbers, alphanumeric would be better.
So, why don't we use SecureRandom.hex(2)? That will give us a 4 character length random string which has 1_679_616 different possibilities. I think the chance of collisions on a single order is pretty low. Timestamps on the other hand only offer us 10_000 possible combinations for 4 characters.

Of course we can't use alphanumeric, we gotta store it in our db as integer :p

Think we should just use rand(0..10000) if we're stuck with 4 length number. I think we could get away with 5 length though, so rand(0..100000)

@aprofeit Done that way -- wondering if we want to fill the zeroes so the identifier is always a 5 digit number (ie 00027 instead of 27)

If we want to keep it 5 characters max then we'll actually want rand(0..99999). You'll then want to convert it to a string and pad it with 0s to make it 5 characters long. There's a method on String that can pad strings for you...

Random padded string it is.
@aprofeit @andrewpaliga @girasquid

Identifier can only contain digits now.
@aprofeit @andrewpaliga @girasquid

:+1:

:+1:


UI error when changing pagination for Host Packages list

This is the error I get when going to to Host -> Configuration -> Packages and change Per page to a different value.

This should be fixed by https://github.com/ManageIQ/manageiq/pull/2449


VM memory usage is 99.9x% on XenServer/XCP-ng

The VM memory usage is always 99.9x% on XenServer or XCP-ng

The actual VM usage is not

Tested with

XenServer 8.1
XCP-ng 8.2
CentOS 7 vm
CentOS 8 vm

ISSUE TYPE

Bug Report

COMPONENT NAME

VM

CLOUDSTACK VERSION

4.17
4.18

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

XenServer 8.1
XCP-ng 8.2
STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

anyone has the same issue ?

@weizhouapache Hi. I had same issue at previous job. We had XCP-NG 8.2. All VMs had 99% memory usage. VM were with and with out xen-tools

edikevich

@edikevich thanks for your reply.
Have you checked the value on XCP-ng Center or XenCenter ? I'd like to know it is an issue with cloudstack or xenserver/xcp-ng.

@weizhouapache Sorry not now. I changed job) BUT! I remember that the values in XCP-ng Center were correct.
I think this is CS issue.

Closing this as the PR is merged, thanks @weizhouapache (re-open if there's something else pending).


Add version-tracking workflow

Should make verisons_issues.json available for https://github.com/r-releases/help/issues/6 (@llrs). Before this will work, we need another release of r.releases.utils which incorporates https://github.com/r-releases/r.releases.utils/pull/9.

I added check_hash = FALSE so we don't get hit with the brittleness of MD5s, c.f. https://github.com/r-releases/r.releases.utils/pull/9#issuecomment-1978804804


minor env change to test the image

@emiliom, @salvis2, and @leewujung I created the secrets and copied our image info here
Let's see if this works. Expecting to crash and burn :-)
PS: ideally we should have a separate repo that is why I moved away from the idea of having this in the tutorial one.

:fire_engine: standing by

Maybe you need this line from the ICESat-2 hackweek's environment.yml?
https://github.com/ICESAT-2HackWeek/jupyter-image-2020/blob/4459b65fb89a5588fc51b4c429f58f8f01284dc8/environment.yml#L7

Maybe you need this line from the ICESat-2 hackweek's environment.yml
https://github.com/ICESAT-2HackWeek/jupyter-image-2020/blob/4459b65fb89a5588fc51b4c429f58f8f01284dc8/environment.yml#L7
If you will be using the pangeo-notebook base image.

That makes a lot of sense!

That makes a lot of sense!

If only the guy who created that meta-package knew about it!

Let's merge this and see if the secrets are working, it should upload the image to Dockerhub.
Thanks @salvis2 for all the help!


Raw image access for WBIA

Pull Request Overview

Raw Image access for WBIA to read. Needs internal role and needs Asset Group to be in detection stage
First iteration of Asset group stage  implemented as a list of sighting stage database objects
Updated tests to not delete the cloned gitlab submission each time which means that the next test can reuse it
Model Updates
AssetGroupSighting

guid
AssetGroupSightingStage
owner_guid - guid of the asset group
asset_group relationship many to one with AssetGroup

**REST API Updates **
[POST] /api/v1/assets/src_raw/<uuid:asset_guid>

Pull Request Checklist

[x] Ensure that the PR is properly formatted

Example: All lint checks are passing

[x] Ensure that the PR is properly rebased

Example: The PR is rebased on develop (commit: <insert develop commit hash>)

[x] Ensure that the PR uses a consolidated database migration

Example: One database migration is proposed (revision <insert develop revision> -> <insert new revision>)

[x] Ensure that the PR is properly tested

Example: All automated tests are passing

[x] Ensure that the PR is properly covered

Example: The percentage of the code covered by tests has not decreased

[x] Ensure that the PR is properly sanitized

Example: No sensitive data or large content was added to this PR

[ ] Ensure that the PR is properly reviewed

This is potentially controversial and should not be merged until at least Jon & Colin are happy with the direction and this will not happen until each of them has applied a vaccine free brain to the problem..... and it can wait til they do.

/rebase

/rebase

/rebase

/rebase

Seems to be a test failure on migration:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table asset_group_sighting already exists
Is this the same as the doubled migration behavior you were seeing previously?

Seems to be a test failure on migration:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table asset_group_sighting already exists
Is this the same as the doubled migration behavior you were seeing previously?

seems to have been caused by the auto rebases leaving behind double migration files. Should now be sorted


Memcache get with space in the key returns false

<?php
require_once "vendor/autoload.php";
$memcache = new \Memcached();
$memcache->addServer('<IP_ADDRESS>', 11211);
$c = new \Sabre\Cache\Memcached($memcache);
var_export($c->get('sdfasdf'));
var_export($c->get('sdfas df'));

NULL
false

This doesn't seem to match the PSR-16 spec:
     * @return mixed The value of the item from the cache, or $default in case of cache miss.
     *
     * @throws \Psr\SimpleCache\InvalidArgumentException
     *   MUST be thrown if the $key string is not a legal value.
     */
    public function get($key, $default = null);

I think either keys with spaces in the name are legal, in which case a missing key should return NULL, or they are not legal, in which case the code should throw an exception; either way it shouldn't be returning false

not a problem of this library - https://stackoverflow.com/questions/5826768/can-memcached-keys-contain-spaces

Ok, I am very confused, please help me to understand?

This library says: "Read PSR-16 for the API. We follow it to the letter."
The memcache docs say: "keys with spaces are not legal values."
The PSR-16 doc says: "InvalidArgumentException MUST be thrown if the $key string is not a legal value."

I can't see how a library can be following PSR-16 to the letter, when it reacts to an invalid key by returning false :S

https://www.php.net/manual/en/memcached.getresultcode.php
If the key is invalid then probably the call to $this->memcached->getResultCode() returns BAD_KEY_PROVIDED.
The existing code only checks for NOTFOUND
There are lots of other codes that can be returned, for example if the Memcached server is down, or does something else unexpected.
So it is probably useful that the get in this library returns null if the key was a valid key format and length, the Memcached server is running normally, and the key does not exist. But returns "something different" if "something less expected happened" - it returns false.
Then the caller can detect the difference between "the key is not found" and "something worse happened".
Maybe we should add to the @return description of function get() to mention that it can return false.

That docstring is taken directly from PSR-16 - it seems weird to be saying "Read PSR-16 for the API. We follow it to the letter" and then go ahead and change your own copy of the docs (which people aren't reading, because you told them to just read the PSR) to be different from PSR-16...?
~
FWIW, PSR-16 also says:

If it is not possible to return the exact saved value for any reason, implementing libraries MUST respond with a cache miss rather than corrupted data.

which sounds like a sensible behaviour for "something unexpected happened during getResultCode()"
~
PSR-16 also says:

Implementing libraries MUST support all serializable PHP data types, including:

Booleans - True and False.
Null - The null value (although it will not be distinguishable from a cache miss when reading it back out).

Note that it does not say

Implementing libraries MUST support all serializable PHP data types, including:

Booleans - True and False. (although false will not be distinguishable from an internal library error when reading it back out)
Null - The null value (although it will not be distinguishable from a cache miss when reading it back out).

~
The more I read this spec, the more convinced I am that "following the spec to the letter" means:

if possible, return the exact value that was passed to set()
if there's an invalid key, InvalidArgumentException MUST be thrown
if there's any other error that prevents get() from working properly, implementing libraries MUST respond with a cache miss (ie null)

If y'all don't want to follow PSR-16 to the letter, then I can switch to a library that does; but given "Read PSR-16 for the API. We follow it to the letter" in your README, I made the assumption that you are aiming to follow it and would appreciate a divergence from the spec being pointed out ^^;;

Then the caller can detect the difference between "the key is not found" and "something worse happened".

This sounds like a valuable feature, but returning "false" (a totally valid cache value) to indicate:

everything is fine, you stored the value false in the cache and you want to get the value false back out of the cache
or the server is down
or the client is misconfigured
or the cache key is invalid
and I'm not going to tell you which of the above situations is happening, have fun debugging! :D

seems both breaking the spec and not as useful as it could be. If we want to give the user some useful information about error conditions, how about:

throw InvalidArgumentException for invalid keys (which the spec says is a hard requirement)
return null for "cache miss, or general error" (which again, the spec says is a hard requirement)
add a new method which wraps $memcached->getResultCode(), allowing the user to know the difference between "cache miss because the server doesn't have the data" and "cache miss because the server is down"

Adding a new method doesn't seem ideal if you want to implement the spec and only the spec, but since the spec doesn't seem to cover "how should the user tell the difference between cache miss and error?", adding a new method on top of the spec seems less-bad than breaking the spec?

See PR #53 - maybe something like that meets the spec better?

#53 appears match my understanding of the spec ❤
~
Although I have just spotted another glitch in the spec itself :D

"If it is not possible to return the exact saved value for any reason, implementing libraries MUST respond with a cache miss"
"null is indistinguishable from a cache miss"
"a cache miss should return $default" (which is normally null, but the user can specify a different default)

So in fact null is distinguishable from a cache miss -- if you call $cache->get("missingKey", "myDefault") and you get the response null, then you know that null was stored, because otherwise it would have returned "myDefault"

Change done in #53 and release as https://github.com/sabre-io/cache/releases/tag/2.0.1


Additional parameters - AdminSecurityQuestionIndex and AdminSecurityAnswer

Hello,
Currently, values for "AdminSecurityQuestionIndex" and "AdminSecurityAnswer" are hardcoded.
I think it would nice to be able to specify them in the config:
"PrimarySiteAdmin": {
	"UserName": "siteadmin",
	"Email"<EMAIL_ADDRESS>	"Password": "secret",
	"SecurityQuestionIndex": 1,
	"SecurityAnswer" : "vanilla"
}

Thanks !

@shailesh91 Could you please update the Wiki according to these new config parameters?
https://github.com/Esri/arcgis-powershell-dsc/wiki/Variables-reference-page-for-JSON-configuration-files
Thx


Doesn't work with DSM 7.2.1-69057-3 due to additional checks for Synology SSDs in Storage Manager

Seems like Synology implemented additional checks for it's SSDs in Storage Manager. The dedupe button is shown after running the script, but if you click it an error will be presented, that it is working with Synology SSDs only. Found the offending function in /var/packages/StorageManager/target/ui/storage_panel.js as follow:
validDedupeDisk(){let e=["SNV3400-400G","SNV3410-400G","SNV3500-400G","SNV3510-400G","SNV3400-800G","SNV3410-800G","SNV3500-800G","SNV3510-800G"].includes(this.model.trim());return!(!this.isSsd||!this.isSynoDrive||e)}};
This is queried later on in this code snippet
if(this.createPool)return this.needSelectRaidGroup?this.selectRaidGroups.every((e=>e.filter((e=>e.hasData)).every((e=>e.validDedupeDisk)))):!!this.selectDisks.length&&!!this.selectDisks.every((e=>e.validDedupeDisk));{let e=this.poolMap[this.$refs.choose_pool.poolId];if(!e)return!1;if(e.disks.filter((e=>this.diskMap[e])).map((e=>this.diskMap[e])).every((e=>e.validDedupeDisk)))return!0}return!1}
Thanks for looking into it

Also having this issue. Just updated to 7.2.1-69057-3 on a DS423+ and can enable dedupe on the HDD, not the M2 storage pool.

@herbingk
Run https://github.com/007revad/Synology_HDD_db with the -n option. Then DSM shouldn't complain about your drives not being Synology drives.
I'm impressed that you found storage_panel.js and searched it's contents. I formatted a copy of it so I could more easily read it and it was over 40,000 lines! It took me days of trial and error to find what was preventing the Deduplication menu appearing for SATA SSDs.
@apkehoe
Run https://github.com/007revad/Synology_HDD_db with the -n option but NOT the -f option. Support disk compatibility needs to enabled for deduplication to work.
Did you migrate those drives from a DS720+?

@007revad
Synology_HDD_db has been run and did add my M2. and SATA SSDs to to database already before opening the issue. Actually this was my firsts script to implement to get rid of DSM warning messages and for experimenting with M.2 storarge pools. Synology_HDD_db is a life save and very much appreciated!
But as I wrote, the problem seems  to be an additional check  in Storage Manager's storage_panel.js, that explicitly checks for the Synology SSD models.
The functions is:
validDedupeDisk(){let e=["SNV3400-400G","SNV3410-400G","SNV3500-400G","SNV3510-400G","SNV3400-800G","SNV3410-800G","SNV3500-800G","SNV3510-800G"].includes(this.model.trim());return!(!this.isSsd||!this.isSynoDrive||e)}};
The reference in the checking code is
if(this.createPool)return` this.needSelectRaidGroup?this.selectRaidGroups.every((e=>e.filter((e=>e.hasData)).every((e=>e.validDedupeDisk)))):!!this.selectDisks.length&&!!this.selectDisks.every((e=>e.validDedupeDisk));{let e=this.poolMap[this.$refs.choose_pool.poolId];if(!e)return!1;if(e.disks.filter((e=>this.diskMap[e])).map((e=>this.diskMap[e])).every((e=>e.validDedupeDisk)))return!0}return!1}
I am not that firm with JavaScript but maybe rewriting the function as follows could solve the problem already:
validDedupeDisk(){return(this.isSynoDrive)}};

I did migrate the drives from a DS720+ yes. I tried re-running the script with no "-n" (rebooted) and it didn't change the behaviour. Still getting the error saying Synology SSD is required.

I tried removing the -f option and it didn't make any difference. I also tried restoring the config and rerunning the script with -n -r, plus a reboot. Didn't stop the error dialog showing.

@herbingk
Which Synology NAS model do you have? Are you using RAID Groups?
I leave that section as it is and have no issue on my DS1821+ with DSM 7.2.1-69057 Update 3 running deduplication on no-Synology HDDs, SATA SSD and NVMe drives.
My javascript knowledge is only basic so I asked ChatGPT what that section of code does. ChatGPT is not very good at writing code but at least it does a good job of explaining what some simple code does.
That section returns true if the drive is one of the specified Synology drives AND is an SSD AND is a Synology drive.
The problem with replacing this:
get validDedupeDisk() {
    let e = ["SNV3400-400G", "SNV3410-400G", "SNV3500-400G", "SNV3510-400G", "SNV3400-800G", "SNV3410-800G", "SNV3500-800G", "SNV3510-800G"].includes(this.model.trim());
    return !(!this.isSsd || !this.isSynoDrive || e)
}

with this:
get validDedupeDisk(){return(this.isSynoDrive)}};
is that Synology could change it in a future Storage Manager package update when they release new SSD drives, which means I'd constantly be updating the script to match whatever that array of drive modesl changes to.
The easiest solution might be to change:
return !(!this.isSsd || !this.isSynoDrive || e)

to this:
return (this.isSsd)

which would always return true if the drive is an SSD.

@herbingk  @apkehoe
Do you want to try this to see if it fixes the issue:
https://github.com/007revad/Synology_enable_Deduplication/blob/test/test.sh
It replaces this:
return!(!this.isSsd||!this.isSynoDrive||e)
with tihs:
return(this.isSsd)

I tried the script and it changed the js file, but still didn't work. I restarted nginx but I didn't reboot the NAS.

@herbingk @apkehoe
Do you want to try this to see if it fixes the issue: https://github.com/007revad/Synology_enable_Deduplication/blob/test/test.sh
It replaces this:
return!(!this.isSsd||!this.isSynoDrive||e)
with tihs:
return(this.isSsd)

I executed syno_enable_dedupe.sh first and then the test.sh script. The error message still pops up. So the reason must be something else unfortunately.

@herbingk Which Synology NAS model do you have? Are you using RAID Groups?

I use 2x DS1621+ in a Synology HA cluster. There is one volume in one storage pool with 6x SATA SSD RAID 5 and 2x M2 SSD cache RAID 1. I tried to disable the SSD cache and rebooted without changing the behavior.

I executed syno_enable_dedupe.sh first and then the test.sh script. The error message still pops up. So the reason must be something else unfortunately.

I have found that when I edit or restore /var/packages/StorageManager/target/ui/storage_panel.js it can take 20 or 30 minutes before the change shows in Storage Manager. And I also need to refresh the DSM window/tab to see the changes.
DSM seems to read storage_panel.js into memory on a schedule. But I haven't yet found a way to force DSM to read it right away.

I tried to disable the SSD cache and rebooted without changing the behavior.

So even after a reboot that change made no difference. That's dissapointing.

Interesting side note: The menu for deduplication turns up on my storage manager even without modifying storage_panel.js, the change to both synoinfo.conf files is sufficient for that to appear already.

The menu for deduplication turns up on my storage manager even without modifying storage_panel.js, the change to both synoinfo.conf files is sufficient for that to appear already.

I noticed that too. For me the default storage_panel.js only shows the deduplication menu for internal NVMe drives. I had to edit storage_panel.js to get the deduplication menu to appear for SATA SSDs... which coincidentally also made the deduplication menu appear for HDDs. I also had to edit storage_panel.js to get the deduplication menu to appear for NVMe drives in a PCIe adaptor card.

The menu for deduplication turns up on my storage manager even without modifying storage_panel.js, the change to both synoinfo.conf files is sufficient for that to appear already.

I noticed that too. For me the default storage_panel.js only shows the deduplication menu for internal NVMe drives. I had to edit storage_panel.js to get the deduplication menu to appear for SATA SSDs... which coincidentally also made the deduplication menu appear for HDDs. I also had to edit storage_panel.js to get the deduplication menu to appear for NVMe drives in a PCIe adaptor card.

Strange: For  me it shows up for my SATA SSDs immediately and without patching storage_panel.js

Strange: For me it shows up for my SATA SSDs immediately and without patching storage_panel.js

Now that you mention that I remember it did (does) for me too, but it wasn't for someone with a DS1618+ in issue #25

Also having this issue.
DS923+ DSM7.2.1-69057 Update 3
Seeing the option, but getting an error that dedup on ssds is only for synology-ssds linke in https://github.com/007revad/Synology_enable_Deduplication/issues/43#issuecomment-1879576728
also executed the script https://github.com/007revad/Synology_enable_Deduplication/blob/test/test.sh and changed storage_panel.js
but after waiting about 1 hour i am seeing the same problem.

Solution found!
/usr/lib/libhwcontrol.so.1 still needs to be patched with your script, reboot done, error is gone and deduplication panel show up. I tried by commenting out your checks for the new Storage Manager and running the script again.
Maybe you have a patched libhwcontrol.so.1 on your system from prior script development activities?
Editing storage_panel.js wasn't needed for me and I skipped it for the test. I would suggest to adapt the script to always patch libhwcontrol.so.1 when it is present and passes your plausibility checks, no matter what DSM 7 version is running.
I would also suggest to make editing storage_panel.js optional with an extra param, as this is needed for using deduplication on HDDs only. I doubt that deduplication on HDDs is useful as it will defragment files on disk, thereby increases the seek rate and slows down file access on read and write.

@007revad Solution found!
/usr/lib/libhwcontrol.so.1 still needs to be patched with your script, reboot done, error is gone and deduplication panel show up. I tried by commenting out your checks for the new Storage Manager and running the script again.
Maybe you have a patched libhwcontrol.so.1 on your system from prior script development activities?
Editing storage_panel.js wasn't needed for me and I skipped it for the test. I would suggest to adapt the script to always patch libhwcontrol.so.1 when it is present and passes your plausibility checks, no matter what DSM 7 version is running.
I would also suggest to make editing storage_panel.js optional with an extra param, as this is needed for using deduplication on HDDs only. I doubt that deduplication on HDDs is useful as it will defragment files on disk, thereby increases the seek rate and slows down file access on read and write.

forcing the script to patch libhwcontrol.so.1 works for me and shows the dialog. Thanks!

Maybe you have a patched libhwcontrol.so.1 on your system from prior script development activities?

Yes, but I didn't realise it was still edited. Previous versions of syno_enable_dedupe edited libhwcontrol.so.1 and my syno_enable_m2_volume script also does the same edit in libhwcontrol.so.1

Editing storage_panel.js wasn't needed for me and I skipped it for the test. I would suggest to adapt the script to always patch libhwcontrol.so.1 when it is present and passes your plausibility checks, no matter what DSM 7 version is running.

Editing storage_panel.js was added to solve issue #25 and the edit enabling deduplication for HDDs was an unintentional side effect of that edit.

I would also suggest to make editing storage_panel.js optional with an extra param, as this is needed for using deduplication on HDDs only. I doubt that deduplication on HDDs is useful as it will defragment files on disk, thereby increases the seek rate and slows down file access on read and write.

Will do.

Update version available here:
https://github.com/007revad/Synology_enable_Deduplication/releases/tag/v1.3.19

Update version available here: https://github.com/007revad/Synology_enable_Deduplication/releases/tag/v1.3.19

Thanks very much! Works like a charm now. Thanks again for providing these useful scripts. Very much appreciated!


How do i make my own custom images?

How do i make my own custom images? I have searched everywhere, i couldnt find it

You basically need to create a virtual machine and ensure that the hard drive format is RAW (that means no compression or anything else. )
Qemu works great for that.
Install the operating system using your virtual machine and then you should be able to boot the raw disk image in v86

You basically need to create a virtual machine and ensure that the hard drive format is RAW (that means no compression or anything else. )
Qemu works great for that.
Install the operating system using your virtual machine and then you should be able to boot the raw disk image in v86

can i get a bit of tutorial?(im new to this)


TeamCity ImportDotCoverCoverage tests fail when running on TeamCity

TeamCityProvider WriteServiceMessage works directly with the Console, this isn't very "mockable", because this the TheImportDotCoverCoverageMethod hi-jacks the console stream.
This works an all build systems except TeamCity were these service messages have a meaning.
I'll shorty submit a PR with a suggested fix for this.

@devlead Hmm, why is it failing on TeamCity? I mean TheImportDotCoverCoverageMethod resets the console stream on dispose?
A solution with a "mockable" output for WriteServiceMessage sounds like a less "hacky" solution though.

@mholo65 It fails because XUnit is TeamCity aware and does a little magic so test is already within a service message basically.

..of course, and since Console is static, we're hijacking all output.


Test CI job after update to netci.groovy

See https://github.com/Microsoft/visualfsharp/pull/4371

If anyone can tell me why this says "Ubuntu14.04 Release_fcs Build" I'd be very glad. The netci.groovy file in master clearly specifies Ubuntu16.04, and there is no mention of Ubuntu14.04

@dotnet-bot test this please

@mmitche Sorry - Note that I reversed the update Ubuntu 14.04 in a subsequent PR. https://github.com/Microsoft/visualfsharp/pull/4373.  However that PR includes a change to get a specific version of Mono, so we should be able to see if the changes are taking effect

@mmitche Looking at a recently completed build such as https://ci2.dot.net/job/Microsoft_visualfsharp/job/master/job/release_fcs_ubuntu14.04_prtest/962/consoleText it seems to me that recent changes to netci.groovy are not having any effect.

@mmitche Could it be we're taking our netci.groovy from another branch, e.g. dev15.5 or dev15.6?

@dotnet-bot test this please

@mmitche OK, so Ubuntu16.04 is showing, but  Ubuntu14.04 is still showing too.  Any magic I need to do to flush this?

Jenkins can't delete it.  The status is simply a mapping of hash->string->status.  You can push a new commit and these will go away.

You can push a new commit and these will go away.

ok thanks

@dotnet-bot test ci please

sudo is not enabled by default on most of the VM images.  The outerloop images do have this enabled.  The image version (usually 'latest') can be set to 'outer-latest' in this case to enable passwordless sudo, which would enable your scenario.

@dotnet-bot test this please

@dotnet-bot test this please

@mmitche OK, trying to set that here: https://github.com/Microsoft/visualfsharp/pull/4382

@dotnet-bot test this please

@dotnet-bot test this please

@dotnet-bot test ci please

@dotnet-bot test this please

@dotnet-bot test Windows_NT Release_net40_no_vs Build please

@dotnet-bot test Ubuntu16.04 Release_default Build  please
@dotnet-bot test Windows_NT Release_net40_no_vs Build

@dotnet-bot test Windows_NT Release_ci_part4 Build please

For the record:

Part 1 =  34 min total from scheduled to completion.
Part 2 = 47 min total from scheduled to completion.
Part 3 = 27 min total from scheduled to completion.
Part 4 = 30 min total from scheduled to completion.


Restructure the webhook packages

What this PR does / why we need it:
This PR changes the structure of the mutating-webhook and validating-webhook packages to be like that of gomega, where the "root" package contains the API and the implementation(s) resides within a sub-package. Besides making the source tree more organized, this change also encapsulates the implementation details that are exposed in the current tree structure due to package-level granularity of the import mechanism of golang.
In addition, the huge mutating-webhook.go and validating-webhook.go source files, as well as their tests, are break down to multiple source files to ease their browsing.
There should be no functional change by this PR.
Release note:

NONE

/cc @davidvossel  @rmohr  @slintes  @cynepco3hahue


cabana: add support to fetch preserved routes

Thanks to @pbassut for the contribution in PR https://github.com/commaai/openpilot/pull/34105. The original implementation worked, but the UI and logic were a bit more complex than needed, and continuing to spend time fixing bugs based on it doesn’t seem worth it. this PR simplified the approach, keeping the functionality while reducing the overall complexity.  It should be sufficient to implement this feature.

So does this mean we can close the original PR?

Just a heads up, this is not the same feature I had originally implemented. The preserved selector is now in a combobox that people will only notice if they open it in the first place.
And have it in a combobox with the value set to -1 seems like a hack. If we were to add other options like "routes with OP engagement", "routes with faults" etc, keeping adding items in there wouldn't scale.
In addition, and more importantly, opening up a PR with the same feature that another PR already have it is not a cool move. I'm happy to do all the back and forth necessary to bring people up to speed and have them contribute in the long run. What happened here makes people not contribute if their work is going to the trash anyway.
I know it sounds like you're trying to get your commit counts up but there are better ways to get there while still maintaining a healthy community.
Finally, I'll close the PR now since no one responded.

Thank you for your feedback. I appreciate the time and effort you've put into implementing this feature.
That said, I’d like to clarify my reasoning. The RouteDialog feature in Cabana is not a core component, and we don’t need a fully developed route list browser with features like “routes with OP engagement” or “routes with faults.” The goal here is simplicity—a basic list that gets the job done. Adding unnecessary complexity would introduce maintenance challenges without adding much value.
Over the past few days, I carefully reviewed your PR and provided suggestions for improvement. My decision to propose a simpler version was driven by the fact that the current implementation introduced new bugs. Resolving those issues, along with the added complexity, would create unnecessary overhead for the project, which, in my opinion, outweighs any potential benefits.
I’m committed to maintaining a healthy and productive development environment, and my focus is always on the long-term stability of the project.
As an external contributor, like yourself, I deeply value everyone’s contributions. If my PR has caused any frustration, please know that my intention was never to diminish anyone’s work, but rather to help ensure the long-term stability and health of the project.


use label_scaler

Use label_scaler.inverse_transform for both train/predict
It makes code very easy to understand.
Computational time for always postprocess inverse_transform is quite small and i think this is acceptable.

no-compat because GraphConvPredictor.__call__ behavior will change to apply inverse_transform.


chore: fix lombok compiling error

fix Fatal error compiling:
java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'

@zyxxoo The version also needs to be bumped in hg-pd-common.

TODO:
Can we remove the lombok dependency:
since we don't have a large places to generate/replace code, and in the few places where it's necessary, I would rather write some code manually to maintain a consistent style.


Download file on ios

Hello. I'm trying to download files with usual links. On android everything works perfect. On ios after click on link file preview opens. I can see my file, but i don't know how i can download it, and even can't click something like "back" button to close this preview and back to start page with link. May be there is some features that i don't know? Thanks!

On Android, if file path is provided(image, pdf ,xls) it downloads its instead of showing a preview like on iOS. Any way to show file preview on Android?

the same, please give me any solution!

So I guess this hasn't been fixed yet?  iOS just opens preview and there doesn't seem to be a way to go back to the WebView.

Hi all, please give me any solution. Without preview, only download it.

Any solutions yet?

@MaximMatsuk I know it's been an year now, but it would be great to know what worked for you. And if not, then did you try any other approach?

Hello, I can't seem to get this to work i know. the "onFileDownload={ ( { nativeEvent: { downloadUrl } } ) => {" has been added and i need my own code to make this work. I tried to use expo file system and expo sharing to get ti to download but it's not working. all i want is that when they downoload a pdf instead of a preview they can share the document or save it. ANy help would be greatly appreciated.
Below is the code i tried to make it work but failed (the alert function works but then nothing happens):
export default function App() {
let [selectedImage, setSelectedImage] = React.useState(null);
let openImagePickerAsync = async () => {
const downloadResumable = FileSystem.createDownloadResumable(
{downloadUrl},
${FileSystem.documentDirectory}/pdf.pdf,
{},
);
const { uri, status } = await downloadResumable.downloadAsync();
// setSelectedImage({ localUri: uri });
Sharing.shareAsync(uri);

};
let openShareDialogAsync = async () => {
if (!(await Sharing.isAvailableAsync())) {
alert(Uh oh, sharing isn't available on your platform);
return;
}
Sharing.shareAsync(selectedImage.localUri);

};
// if (selectedImage !== null) {
//   return (
//
//
//         Share this
//
//
//   );
// }
return (
<View style={{ flex: 1 }}>
<WebView
//onLoadStart={() => (this.showSpinner())}
//onLoad={() => (this.hideSpinnerxx())}
//onLoadEnd={() => (this.hideSpinnerxx())}
style={{ flex: 1 }}
source={{ uri: 'http://www.pdf995.com/' }}
onFileDownload={ ( { nativeEvent: { downloadUrl } } ) => {
        Alert.alert(
          "Student Union Documents",
          "Do you wish to download and share this document",
          [
            {
              text: "Download",
              onPress: () => {openImagePickerAsync}
            },
            {
              text: "Cancel",
              onPress: () => console.log("Cancel Pressed"),
              style: "cancel"
            },
          ],
          { cancelable: false }
        );}

any solutions?


CBL-4347 : Tag prop encryptor and decryptor as nullable

Tagged propertyEncryptor, propertyDecryptor, documentPropertyEncryptor, and documentPropertyDecryptor as nullable. They are optional.

The null case is handle properly here:
https://github.com/couchbase/couchbase-lite-C/blob/master/src/CBLReplicator_Internal.hh#L182-L212


Helper creates relative activation/reset links

See https://github.com/neos/Neos.IdNeosIo/issues/10
(I'm not certain that the error resides in this package, but the URI is built here)

As explained in neos/Neos.IdNeosIo#10 this needs to be fixed in the userland code, by creating a "proper" request…
This is caused by a recent Flow change. Check if your code does something like this:
        $currentRequestHandler = $this->bootstrap->getActiveRequestHandler();
        if ($currentRequestHandler instanceof HttpRequestHandlerInterface) {
            $httpRequest = $currentRequestHandler->getHttpRequest();
        } else {
            putenv('FLOW_REWRITEURLS=1');
            $httpRequest = Request::createFromEnvironment();
            $httpRequest->setBaseUri(new Uri($this->baseUriSetting));
        }
        $actionRequest = new ActionRequest($httpRequest);
        $this->doubleOptInHelper->setRequest($actionRequest);

and change it to this:
    $currentRequestHandler = $this->bootstrap->getActiveRequestHandler();
    if ($currentRequestHandler instanceof HttpRequestHandlerInterface) {
        $httpRequest = $currentRequestHandler->getHttpRequest();
    } else {
        putenv('FLOW_REWRITEURLS=1');
        $baseUri = new Uri($this->baseUriSetting);
        $httpRequest = Request::create($baseUri, 'POST');
    }
    $actionRequest = new ActionRequest($httpRequest);
    $this->doubleOptInHelper->setRequest($actionRequest);

Note how the $httpRequest is built in a different way!

The baseUri has to be configured for this to work (see https://github.com/neos/Neos.IdNeosIo/pull/12)


Update API schema to new version

This is a tracking issue for https://github.com/Expensify/Expensify/issues/373320 basically for App changes as will be seen in a few follow-up PRs.
Gist is that we're migrating the API schema
/api?command={command}&{params}

to
/api/{command}?{params}

And adding additional accountID parameters alongside each request for better request lifecycle tracking!
https://github.com/Expensify/App/pull/38083
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01882e0b23d422429f
Upwork Job ID:<PHONE_NUMBER>480271872
Last Price Increase: 2024-03-18

@mananjadhav is already assigned to the issue that I created first so just putting that out there.

Closing this since the review issue was auto-created, sorry about that!


"stable" tag is outdated

The stable tag is used in the Gittyup webpage and it points to https://github.com/Murmele/Gittyup/commit/7fa0bce2adb87c301180277363fea0f1264cd118 which is named "Gittyup 1.2.2" but it's the same commit as "Gittyup Release 1.1.2". I also think that stable should points to a more recent release.

Not sure if releases/latest points always to the latest stable release or also to development releases. Has to be checked out


Fix javascript error with when header search is not present

Description
Added linting to all JavaScript files under packages/components
Removed linting from details polyfill as it isn't our code... this will be fixed soon with ES6 refactor
Fixed linting errors in autocomplete
Added check for header search element to prevent JS error when adding and event listener
Removed unnecessary JavaScript which positioned the autocomplete on resize
Refactored CSS to position the autocomplete without the need for JavaScript
Checklist

[x] Tested against our testing policy (Resolution, Browser & Accessibility)
[x] Follows our coding standards and style guide
[x] CHANGELOG entry

@AdamChrimes Bumped version and added date to the changelog

Thanks @tomdoughty 👏


Invalid tag blocks all the subsequent tags from import

The way to reproduce:

in the extension imported into pickleweb, create and push tag test-tag-42
the github log says, pickleweb responded with exception containing: Invalid version string "test-tag-42"
create and push a valid tag, like 3.2.1
the github log says, pickleweb responded with
{"status":"error","message":"weltling/imagick-3.2.1 error on import:Invalid version string "test-tag-42""}

Any subsequent tag will have similar error message, no exception thrown.

In addition, if an extension already contains test-tag-42 before, the import fails with the message
An error occurred while retrieving extension data. Please veriry your tag and try again later.Invalid version string "test-tag-42"

Why should it accept this tag?
See the semver tag naming.
Or do you mean it fails if any tag has a bad name?
It should raise a warning in the log for any of them and fails for the one
triggering the push.
On May 8, 2015 9:39 PM, "Anatol Belski"<EMAIL_ADDRESS>wrote:

In addition, if an extension already contains test-tag-42 before, the
import fails with the message
An error occurred while retrieving extension data. Please veriry your tag
and try again later.Invalid version string "test-tag-42"
—
Reply to this email directly or view it on GitHub
https://github.com/FriendsOfPHP/pickleweb/issues/39#issuecomment-100252229
.

Yeah, if there's only one bad tag, it'll fail to import anything. Or if it already imported, creating one bad tag will block any subsequent tags added (just by the flow described).

Thanks for the catch!
I fix the uncaught exception.
I am adding now a note about the pushed tag must be valid as other tags are not changed anyway, we bail out. Keeping in mind that the creation of deletion of tags will trigger the hook, we would have caught any other changes already.
The import simply reparse everything instead of fetching the info for the new tag and merge to the existing stored tags. It is simply easier to do it this way.


Clean up database connection in backend

The database connection in the backend is all over the place and needs to be cleaned up. It gets initialized in three different ways depending on the environment - Optimally it should be one and the same.
@Bean
  public DataSource getPostgresDataSource() {
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("org.postgresql.Driver");

    if (System.getenv(POSTGRES_DB_URL_ENV) != null && System.getenv(POSTGRES_DB_URL_ENV).length() > 0) {
      // using container orchestration
      dataSource.setUrl(System.getenv(POSTGRES_DB_URL_ENV));
      dataSource.setUsername("am");
      dataSource.setPassword("am");
    }
    else if(!connectionStringRemote.isEmpty()){
      dataSource.setUrl(connectionStringRemote);
    } else {
      dataSource.setUrl(connectionStringLocale);
      dataSource.setUsername("am");
      dataSource.setPassword("am");
    }

    return dataSource;
  }

Task on hold, because don't have permissions to Azure - Stefan has notified Andre for that and we are waiting for his response. Changes for local development are committed to a branch.


could u pls write a readme of how to build your blog?

hi.
could u pls write a readme of how to build your blog?
thank you!

Have you read the comments in hakyll.hs?

HI.
root@AR:/usr/local/gwern.net/gwern.net-master# ghc -rtsopts -threaded -O2 -fforce-recomp -optl-s --make hakyll.hs
[1 of 2] Compiling Feed             ( Feed.hs, Feed.o )
Feed.hs:30:1: error:
Failed to load interface for ‘Data.FileStore.Types’
Use -v to see a list of the files searched for.
Feed.hs:32:1: error:
Failed to load interface for ‘Text.Atom.Feed’
Use -v to see a list of the files searched for.
Feed.hs:35:1: error:
Failed to load interface for ‘Text.Atom.Feed.Export’
Use -v to see a list of the files searched for.
root@AR:/usr/local/gwern.net/gwern.net-master#
i installed those dependencies.how to fix the errors above?
tks

I don't know then. If you cabal installed filestore and feed, it should just work. You apparently have Haskell problems in general.

i see:
cabal install filestore
cabal install feed
then i ran "ghc --make hakyll.hs",it generated exec file:hakyll.
"./hakyll build" generated the _site dir.
but after i created a new source post,and publish it ,why the new published post don't appear in the homepage?
thank you

The hompage is index. The index is hand-written; I never created an auto-populating homepage because I wanted only finished stuff I had selected for the homepage, and to put them in loose order of quality. So new files do not automatically show up - gwern.net is not a blog, as I keep telling people - and that's not a surprise. If you want something like that, you can look through the various Hakyll tutorials & Hakyll blogs and see how they use templates to do that.

Is the hakyll.hs documentation adequate and this issue can be closed?


XAMPP: How to run PH7-Social-Dating-CMS remotely on your server using XAMPP?

Overview
Hi, I'm trying to run PH7-Social-Dating-CMS remotely on my server using XAMPP.
Question
Does anyone know where the main configuration file is?
More details (past and future planned steps)
I'm looking for the main configuration to define the database connection parameters, such as the database host name, username, password, and database name. database host name, username, password, and database name.   That way I hope/think I'll be able to run PH7-Social-Dating-CMS remotely on my server using XAMPP.  I'll then enter the database name, username, and password from new MySQLdatabase that I created using the the phpMYAdmin tool, where imported the "ph7cms_db.sql" file that comes with PH7-Social-Dating-CMS into the database.
Instructions I'm following (from ChatGPT!)
Here are the steps you can follow to run PH7-Social-Dating-CMS remotely on your server using XAMPP:

Download and install XAMPP on your server. You can download it from the Apache Friends website.

Extract the PH7-Social-Dating-CMS files to a directory inside the "htdocs" folder of your XAMPP installation directory. For example, you can create a directory called "ph7cms" inside the "htdocs" folder and extract the files there.

Create a new MySQL database using the phpMyAdmin tool that comes with XAMPP. You can access phpMyAdmin by typing "http://localhost/phpmyadmin" in your web browser.

Import the "ph7cms_db.sql" file that comes with PH7-Social-Dating-CMS into the database you just created using the Import tab in phpMyAdmin.

Rename the "config-sample.inc.php" file in the "inc" directory of the PH7-Social-Dating-CMS files to "config.inc.php".

Open the "config.inc.php" file in a text editor and enter the database name, username, and password that you created in step 3.

Save the "config.inc.php" file and close it.

Open your web browser and type "http://localhost/ph7cms" in the address bar.

Follow the on-screen instructions to complete the installation process.

This I found the config file: pH7-Social-Dating-CMS/_install/data/configs/config.ini

I've tried changing the code in the config.ini file to the following:
[database]
type_name = mysql
type = mysqli
hostname = "localhost"
username = "root"
password = ""
name = "ph7cms"
prefix = ""
charset = "utf8mb4"
port = 3306
But then, in my browser, when I enter http://localhost/ph7cms, it goes to http://localhost/ph7cms/_install/ and says: This page isn’t workinglocalhost is currently unable to handle this request.
HTTP ERROR 500

1)install composer in your file project
2)Create a new MySQL database using the phpMyAdmin
3)delet the attribut required="required" line 25 in _install/views/base/config_system.tpl
4)comment the lines 209 / 310/311/312 in _install/controllers/InstallController.php
5)Then it will work for you, but do not enter the password while setting up bcz its not more required


Added link color rules for after carousel

Patch fix to ensure links below carousel are blue as expected.
Before: https://main--blog--adobe.hlx.page/en/drafts/solene/carousel
After: https://carousel-link-fix--blog--adobe.hlx.page/en/drafts/solene/carousel

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Went and verified the test link against all browsers and the fix has worked for both the test link as well as the production link that was brought up in slack.  QA Approved.


Change native keyword to extern

Purpose
This PR updates the native keyword to extern.

@Shan1024 , Can you fix conflicts?

@hevayo @pahans @nadeeshaan @NipunaRanasinghe Can you check the impact of this change with IDEs. ?

@hasithaa ack and will update the IDEA plugin accordingly


Can't report bug if not logged into Gitlab

Issue Type: Bug

Go to gitlab.com and sign out.
Go to MSVSC and use the Issue Reporter tool.
Hit "Preview on GitHub"
Admire the GitHub 500 page.

NB - not sure if this is a malformed URL issue causing a problem with the login-redirect or a github.com issue.
VS Code version: Code 1.31.1 (1b8e8302e405050205e69b59abb3559592bb9e60, 2019-02-12T02:16:38.656Z)
OS version: Darwin x64 18.0.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz (8 x 3400)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: unavailable_offsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (3.49GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

htmltagwrap
bra
0.0.7

vscode-eslint
dba
1.8.1

vscode-html-css
ecm
0.2.0

php-debug
fel
1.13.0

php-intellisense
fel
2.3.10

auto-close-tag
for
0.5.6

auto-rename-tag
for
0.0.15

vue-snippets
hol
0.1.11

mysql-syntax
jak
1.3.1

vue
liu
0.1.5

php-docblocker
nei
1.7.0

vetur
oct
0.16.2

php-formatter
Sop
0.2.4

Is the extension you're reporting an issue with on GitHub or GitLab? Or is it supposed to be an issue for VSCode itself? What URL are you being sent to that gets you a 500? GitLab.com shouldn't be relevant to this at all.
If you mean logging out of GitHub, that's probably expected behavior.

GitHub - sorry.  gitlab was a musclememory-typo.
Returning to gather a link to provide you to demonstrate the problem it now appears to be working as expected so I can only assume this was a temporary GitHub issue.
I did test some other scenarios at the time that would trigger the login?return_to= model and they were working fine... and posting from VSCode was failing consistently... but no more.
For not I will close this issue as it's probably a waste of everyone's time.
Link, for reference:
https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode%2Fissues%2Fnew%3Ftitle%3DTest%26body%3D%250AIssue%2520Type%253A%2520%253Cb%253EBug%253C%252Fb%253E%250A%250AThis%2520is%2520a%2520test%250A%250AVS%2520Code%2520version%253A%2520Code%25201.31.1%2520%281b8e8302e405050205e69b59abb3559592bb9e60%252C%25202019-02-12T02%253A16%253A38.656Z%29%250AOS%2520version%253A%2520Darwin%2520x64%252018.0.0%250A%250A%253Cdetails%253E%250A%253Csummary%253ESystem%2520Info%253C%252Fsummary%253E%250A%250A%257CItem%257CValue%257C%250A%257C---%257C---%257C%250A%257CCPUs%257CIntel%28R%29%2520Core%28TM%29%2520m5-6Y54%2520CPU%2520%2540%25201.10GHz%2520%284%2520x%25201200%29%257C%250A%257CGPU%2520Status%257C2d_canvas%253A%2520enabled%253Cbr%253Echecker_imaging%253A%2520disabled_off%253Cbr%253Eflash_3d%253A%2520enabled%253Cbr%253Eflash_stage3d%253A%2520enabled%253Cbr%253Eflash_stage3d_baseline%253A%2520enabled%253Cbr%253Egpu_compositing%253A%2520enabled%253Cbr%253Emultiple_raster_threads%253A%2520enabled_on%253Cbr%253Enative_gpu_memory_buffers%253A%2520enabled%253Cbr%253Erasterization%253A%2520unavailable_off%253Cbr%253Esurface_synchronization%253A%2520enabled_on%253Cbr%253Evideo_decode%253A%2520enabled%253Cbr%253Ewebgl%253A%2520enabled%253Cbr%253Ewebgl2%253A%2520enabled%257C%250A%257CLoad%2520%28avg%29%257C11%252C%252013%252C%25208%257C%250A%257CMemory%2520%28System%29%257C8.00GB%2520%280.14GB%2520free%29%257C%250A%257CProcess%2520Argv%257C%257C%250A%257CScreen%2520Reader%257Cno%257C%250A%257CVM%257C0%2525%257C%250A%250A%253C%252Fdetails%253E%253Cdetails%253E%253Csummary%253EExtensions%2520%285%29%253C%252Fsummary%253E%250A%250AExtension%257CAuthor%2520%28truncated%29%257CVersion%250A---%257C---%257C---%250Avscode-eslint%257Cdba%257C1.8.0%250Aphp-debug%257Cfel%257C1.12.6%250Aphp-intellisense%257Cfel%257C2.3.10%250Aphp-pack%257Cfel%257C1.0.2%250Aphp-formatter%257CSop%257C0.2.4%250A%250A%250A%253C%252Fdetails%253E%250A%253C%21--%2520generated%2520by%2520issue%2520reporter%2520--%253E


Reformats base_update.html for consistency w/ base.html

Changes

Updates base_update.html code commenting and code block order to that used in base.html.
Updates {% static  jinja prefix to django {{ STATIC_PREFIX }}

Removals

Removes Google Analytics scripts as those should be superseded by Google Tag Manager.

Review

@higs4281
@sebworks
@rosskarchner

@higs4281 feel free to merge this if I'm offline.

@anselmbradford - We are working with Steven Bellamy to remove old code. We are trying to do this strategically so that we do not have a break in data capture in our old account. Let's chat for 10 minutes to discuss so that we are all on the same page. @kelleyholden

@anselmbradford - We are working with Steven Bellamy to remove old code. We are trying to do this strategically so that we do not have a break in data capture in our old account. Let's chat for 10 minutes to discuss so that we are all on the same page. @kelleyholden

Sure, send me a calendar invite. Also, if it helps I'll be in DC Thursday and Friday.


Tag sixteenth group of mods

Successor to #7562.

#rebuild

Running NetKAN for NetKAN/KopernicusExpansionContinued-CometTail.netkan
Running NetKAN for NetKAN/KopernicusExpansionContinued-EVAFootprints.netkan
1677 [1] WARN CKAN.Curl (null) - Curl environment not pre-initialised, performing non-threadsafe init.
1705 [1] FATAL CKAN.NetKAN.Program (null) - libcurl

All of the KopernicusExpansionContinued mods are on the same GtiHub repo. I think we're getting burned by making identical requests to the GitHub API in rapid sequence, it thinks we're malicious or a bot.

#rebuild


Maven Plugin for Azure App Service, Authentication:  parameter not defined

Maven Plugin for Azure App Service
On the Authentication page on the wiki, in the section "Service Principles in plugin configuration" in a note, the parameter  is discussed but is not previously defined.

@HughDevlin Thanks for your report, the wiki has been updated


Correctly reload dialog state

Currently the dialog state is loaded once and checked in the loop. This change properly reloads the current state on each loop iteration.

@dennwc Thnx for fixing. Merging...