Azure Storage explorer not able to retrieve the child resources

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.23.0
Regression From
1.21
Architecture
i86
Storage Explorer Build Number
20220223.14
Platform
Windows
OS Version
Windows10
Bug Description
Unable to retrieve child resources.
Details:
{
"name": "FetchError",
"message": "request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate",
"stack": "FetchError: request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate\n    at ClientRequest. (C:\Users\bbshssankara\AppData\Local\Programs\Microsoft Azure Storage Explorer\resources\app\node_modules\node-fetch\lib\index.js:1491:11)\n    at ClientRequest.emit (node:events:394:28)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:394:28)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
"type": "system",
"errno": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
"code": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY"
}
Steps to Reproduce
Unable to retrieve child resources.
Details:
{
"name": "FetchError",
"message": "request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate",
"stack": "FetchError: request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate\n    at ClientRequest. (C:\Users\bbshssankara\AppData\Local\Programs\Microsoft Azure Storage Explorer\resources\app\node_modules\node-fetch\lib\index.js:1491:11)\n    at ClientRequest.emit (node:events:394:28)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:394:28)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
"type": "system",
"errno": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
"code": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY"
}
Actual Experience
when i expand the Blob containers, the child resources are not loading to view
Unable to retrieve child resources.
Details:
{
"name": "FetchError",
"message": "request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate",
"stack": "FetchError: request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate\n    at ClientRequest. (C:\Users\bbshssankara\AppData\Local\Programs\Microsoft Azure Storage Explorer\resources\app\node_modules\node-fetch\lib\index.js:1491:11)\n    at ClientRequest.emit (node:events:394:28)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:394:28)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
"type": "system",
"errno": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
"code": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY"
}
Expected Experience
Unable to retrieve child resources.
Details:
{
"name": "FetchError",
"message": "request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate",
"stack": "FetchError: request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate\n    at ClientRequest. (C:\Users\bbshssankara\AppData\Local\Programs\Microsoft Azure Storage Explorer\resources\app\node_modules\node-fetch\lib\index.js:1491:11)\n    at ClientRequest.emit (node:events:394:28)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:394:28)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
"type": "system",
"errno": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
"code": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY"
}
Additional Context
Unable to retrieve child resources.
Details:
{
"name": "FetchError",
"message": "request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate",
"stack": "FetchError: request to https://riminismithsarchive.blob.core.windows.net/?comp=list&include=metadata failed, reason: unable to get local issuer certificate\n    at ClientRequest. (C:\Users\bbshssankara\AppData\Local\Programs\Microsoft Azure Storage Explorer\resources\app\node_modules\node-fetch\lib\index.js:1491:11)\n    at ClientRequest.emit (node:events:394:28)\n    at TLSSocket.socketErrorListener (node:_http_client:447:9)\n    at TLSSocket.emit (node:events:394:28)\n    at emitErrorNT (node:internal/streams/destroy:157:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n    at processTicksAndRejections (node:internal/process/task_queues:83:21)",
"type": "system",
"errno": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
"code": "UNABLE_TO_GET_ISSUER_CERT_LOCALLY"
}

@ssprasadk can you give using system proxy setting a try? You can read more about it here: https://docs.microsoft.com/en-us/azure/storage/common/storage-explorer-network#use-system-proxy-preview

Closing due to lack of response. If you are still having this problem we recommend opening an Azure support ticket. Alternatively you can open a new issue here.


Document Appearances.

Since we start to have a nice set of appearances (#165 will add a few more) it is important to document them:

[x] Extend icon studio to generate appearance doc image + icons.
[x] Extend objects doc generator to generate appearance doc too.
[x] Fix texturetransform and color issue.

https://www.cyberbotics.com/doc/guide/appearances?version=document-appearances

test me

Build Passed :ok_hand:
You can safely merge 'document-appearances' into 'revision'.

:+1:

test me

test me

Build Failed :confused:
https://cyberbotics2.cyberbotics.com:8443/job/Webots/319/consoleText

Build Passed :ok_hand:
You can safely merge 'document-appearances' into 'revision'.

:+1:


Breadcrumbs collapse in mobile mode

Is your feature request related to a problem? Please describe.
In terms of the UX of the system, I consider it more usable having collapsing breadcrumbs on mobile.
It's highly useful especially when the names of collections and communities are long. On mobile view is a limited place where a user can have the most important information about the actual record and still have easy access to different levels of the repository's structure.
Describe the solution you'd like
Instead of a full breadcrumbs view in two lines (homepage, community, collection, title of record), there will be one line with a title of record and a button that provides access to different levels of the repository's hierarchy (homepage, community and collection).
Additional context
How it's realised in DSpace 7:

Possible realisation:

@tdonohue Have you had a chance to look at this issue? I think that it is a useful feature concerning mobile mode optimization.


Question about the glibc version which a distributed binary is built with.

I tried to use ffmpeg with OpenH264 using a binary which is distributed via the URL below, on CentOS6.
But it failed and displayed the error message below.
Can you provide a binary which is built with glibc-2.12?
I'm sorry if I'm asking too much, but I would really appreciate your help.
I still need to use CentOS6 specifically, and upgrading glibc is problematic.
The reason why I want to use the distributed binary is to take advantage of the provider pre-paying the license royalties/fees.
Thanks in advance.
URL:
http://ciscobinary.openh264.org/libopenh264-1.3.0-linux64.so.bz2
error message:
ffmpeg: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /lib64/libopenh264.so.0)

I found the URL below.
When the firefox was installing OpenH264 Video Codec plugin, it downloaded OpenH264 binary via the URL.
It works with ffmpeg on CentOS6.
Can I use the URL below besides the URL I mentioned my previous comment?
URL:
http://ciscobinary.openh264.org/openh264-linux64-v1.3.zip

Yes that's the Gecko Media Plugin version that ships with Firefox.  You can use that instead if it works for you, it's licensed the same way as the regular downloads.

Thank! It lets me use by all means!


[Documentation] Add GSSOCC banner to the readme of this Repo ✍🏻

Describe the problem
The README file is missing the Hacktoberfest and GSSoC banners. The issue is to add these banners at the appropriate location to showcase the project's involvement in these events.
To Reproduce
Steps to reproduce the behavior:
Go to the GitHub repository.
Navigate to the README.md file.
Scroll down to check for banners related to Hacktoberfest and GSSoC.
See that the banners are missing.
Expected behavior
The Hacktoberfest and GSSoC banners should appear on the README file, ideally at the top, to indicate that the project is part of these events.
Additional context:
The banners can be sourced from the official Hacktoberfest and GSSoC websites. They should align with the current styling of the README file, and possibly, they could be centered for better visibility.

Sorry, but its already there


Sometimes .wakatime-project is ignored

Moved from wakatime/jetbrains-wakatime#118:

Some of my activity on project ignores name in .wakatime-project and is displays in dashboard as solution name

Closing this, as it's actually related to Rider which is Jetbrains.


Upgrade to TypeScript 2

As a part of the implementation of #209 we need to upgrade the version of typescript because the newest version of apollo-client uses it

closing this, as a duplicate of #217


fixing small notices on the ErrorHandler

missing return point on handleError()
wrong return and missing param on PHPDoc of registerErrorHandler()
missing documented prop $client

The only point of attention here is: as $this-client was being created on the fly it was, by default, public, but I set it to private as it should only be used inside the class anyway...

thanks!


Redirect doesn't work

I have to set to redirect "youtube.com" to my subs page, but it's not doing so. It just takes me to the "what to watch" page,

Believe this was due to a temporary change on YouTube pages for a promotional logo. Working again now.


Build fails for MDX files having = character

When adding = in the file contents, the dev script fails to compile for contentlayer. I have verified that there are total 3 files so far which have these symbols like (=, <=, >= etc).
Note these characters are directly present and probably parsed into

 tags because there are other files which have these characters but are inside

 tag i.e written in MDX inside codeblock section. for eg:
10 >= 9

Attaching screenshot of the error

Error text
 > _mdx_bundler_entry_point-92faee0a-865e-4538-91df-d8bf5b84daff.mdx:48:5:  > _mdx_bundler_entry_point-3c6e9d52-b8b2-4b35-b009-5eb90f57de8e.mdx:41:49: error: error: [plugin: esbuild-xdm] [plugin: esbuild-xdm] Unexpected character `=` (U+003D) before name, expected a character that can start a name, such as a letter, `$`, or `_`
Unexpected character `=` (U+003D) before name, expected a character that can start a name, such as a letter, `$`, or `_`
    41 │ ... line i of the n subsequent lines ( where 0 <    48 │ • 1=  i < n ) contains the ith value ge...
       ╵                                                 <= n <= 10^5
       ╵    ^^

 > _mdx_bundler_entry_point-c7153f82-223a-4f26-b087-547faea0ad82.mdx:109:110: error: [plugin: esbuild-xdm]
Unexpected character `=` (U+003D) before name, expected a character that can start a name, such as a letter, `$`, or `_`
    109 │ ...ray, you have to return the total age of all the persons, given that no person has age <= 20.
        ╵                                                                                ^

Error: Found problems in 3 of 16 documents.

 └── Encountered unexpected errors while processing of 3 documents. This is possibly a bug in Contentlayer. Please open an issue.

     • "blog/hackwithinfy-round-1-experience-with-questions.mdx": UnexpectedMDXError: Error: Build failed with 1 error:
     _mdx_bundler_entry_point-92faee0a-865e-4538-91df-d8bf5b84daff.mdx:48:5: error: [plugin: esbuild-xdm] Unexpected character `=` (U+003D) before name, expected a character that can start a name, such as a letter, `$`, or `_`
     • "blog/hackwithinfy-round-2-experience-with-questions.mdx": UnexpectedMDXError: Error: Build failed with 1 error:
     _mdx_bundler_entry_point-3c6e9d52-b8b2-4b35-b009-5eb90f57de8e.mdx:41:49: error: [plugin: esbuild-xdm]
Unexpected character `=` (U+003D) before name, expected a character that can start a name, such as a letter, `$`, or `_`
     • "blog/learn-reduce-method-in-javascript-with-code-examples.mdx": UnexpectedMDXError: Error: Build failed with 1 error:
     _mdx_bundler_entry_point-c7153f82-223a-4f26-b087-547faea0ad82.mdx:109:110: error: [plugin: esbuild-xdm] Unexpected character `=` (U+003D) before name, expected a character that can start a name, such as a letter, `$`, or `_`

SourceFetchDataError: {
  "_tag": "HandledFetchDataError"
}

Contentlayer version: 0.0.28-dev.12
OS: Windows 10

Closing in favour of  kentcdodds/mdx-bundler#122


Pull in new TF addition "data_actions"

https://github.com/terraform-providers/terraform-provider-azurerm/blob/v1.16.0/CHANGELOG.md
Looks like they've added since October 1st a new azure provider, which adds support "data_actions" which I need for my project:
https://github.com/terraform-providers/terraform-provider-azurerm/pull/2000
Thanks!

Adding note from developer that it's in azurerm provider 1.16.0 - https://github.com/terraform-providers/terraform-provider-azurerm/issues/1538

Thanks @lukehoban @joeduffy this came at a great time and will help get my company on board for going full Pulumi!! 🍻 💯

Excellent to hear this!! :+1: :100:

This is now available in v0.16.1 of https://www.npmjs.com/package/@pulumi/azure.


History - Need to scroll to the top for request details when double clicked from the bottom

In the history listing, when more records are in the history and we are in the bottom, double click any record and we have to scroll to the top to see the request details
Expected outcome
The request details to be shown in right to the clicked record instead scrolling to top
Actual outcome
User have to scroll to top to see the request details (its very difficult, may be the user want to click  on the next record, he has to scroll to bottom and top for the request details)
Versions
App: <IP_ADDRESS>-stable
Chrome: 49.0.2623.112
Platform: Windows (8.1)
Steps to reproduce

Go to history (hope 100+ records in the history)
Scroll to the bottom, and double click on any record from the bottom area
have to scroll to the top to see the request details

Duplicate of #513


[feature] Comparison to new GitHub Artifact Attestations?

Is your feature request related to a problem? Please describe.
GitHub recently released Artifact Attestations as a new feature. It seems to overlap with the generators here, although I'm not entirely sure.
Describe the solution you'd like
A comparison of the two would be good to have. I'm not sure if Artifact Attestations would entirely replace the tooling here, but could perhaps be used together with them or as a subset?
Describe alternatives you've considered
n/a
Additional context
Saw the release of this new GH feature and it seemed very simple to use. Was wondering if it would make sense to use to implement SLSA for https://github.com/argoproj/argo-workflows/issues/12099

We have not done a full evaluation yet. But for now, we know that Github's Action is meant to be at L2, while our slsa-framework's Workflows are at L3.

https://github.com/actions/attest-build-provenance/issues/55

I don't remember if we record the ${{ env.* }}. I recall opening a tracking issue for it a while back but I can't find it. Env variables are another way to pass parameters to a build

fwiw, it'd be fairly simple for a maintainer to obfuscate the code used to build their artifact by using a malicious (non-recorded) input combined with GH's script injection features :)

True. We don't use workflow parameters though, so if that's the only missing piece, it sounds like we'd be able to use Artifact Attestations for L3?

True. We don't use workflow parameters though, so if that's the only missing piece, it sounds like we'd be able to use Artifact Attestations for L3?

yes an no. The properties need to be project-agnostic, else there's no way for a verifier to trust builds from a builder across all their dependencies without inspecting the build workflow.

fwiw, it'd be fairly simple for a maintainer to obfuscate the code used to build their artifact by using a malicious (non-recorded) input combined with GH's script injection features :)

Other inputs include secrets ${{ secrets.* }}. It's fairly common on GH for users to build and push to registry in the same trust domain (job / VM). Easy to hide malicious inputs for script injections there too. And of course there are the usual GH events that contain user-defined info (in the GH event)
It's also worth distinguishing between generators and builders:

Generators (and the GH action provenance) need to record inputs to the repository workflow (workflow inputs, vars, GH event). The generators in this repo record all of these (need to check for vars @ianlewis do you remember?), including the GH event. Secrets are still a source of inputs but we can't record it since they are secrets.
Builders need no record all the repo workflow input, secrets or vars. That's because their interface is different: we record the inputs to the reusable workflow itself, so it does not matter how it was triggered by the user: the builder builds the project and the only inputs are those from the reusable workflow. Secrets can be passed but assuming the builder itself is not subject to script injection (or uses the secrets as an input) then we have a complete set of inputs. The builder still record the GH event anyway, in case that's useful for troubleshoting

I recall opening a tracking issue for it a while back but I can't find it. Vars variables are another way to pass parameters to a build

#1555

fwiw, it'd be fairly simple for a maintainer to obfuscate the code used to build their artifact by using a malicious (non-recorded) input combined with GH's script injection features :)

"features" 😄  Indeed, it's easy enough for these issues to fly under the radar that GitHub warns about it in the documentation specifically.
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#example-of-a-script-injection-attack
For the generators, pretty sure we don't record vars yet unfortunately. I believe these are also not in the event payload so we need to add them specifically.
https://github.com/slsa-framework/slsa-github-generator/blob/2f113ffa96f45c20f09c3cd15831d24d32cffa3d/slsa/buildtype.go#L61-L65
For builders we just have normal inputs and the build itself can't read the vars unless explictly given them so can't affect the build - https://github.com/slsa-framework/slsa-github-generator/issues/1555#issuecomment-1397253544

I would say no. The properties need to be project-agnostic, else there's no way for a verifier to trust builds from a builder across all their dependencies without inspecting the build workflow (defeats the purpose of SLSA levels). In SLSA the build level is associated with a builder and that's how we scale trust.

To be fair though, for generators, we don't do any validation on the inputs so likely likely won't make a difference in our ability to verify.
The only difference is that we can record the inputs in a trustworthy way whereas the GitHub artifact attestations currently cannot. Users of slsa-github-generator generators could implement their own policy checks over the inputs using the --print-provenance flag on slsa-verifier + cue/rego etc.

I would say no. The properties need to be project-agnostic, else there's no way for a verifier to trust builds from a builder across all their dependencies without inspecting the build workflow (defeats the purpose of SLSA levels). In SLSA the build level is associated with a builder and that's how we scale trust.

To be fair though, for generators, we don't do any validation on the inputs so likely likely won't make a difference in our ability to verify.

In practice it's unlikely those inputs would be used during verification, unless the carry prod vs debug build sort of information. However they are necessary incident response.
Note that the slsa-verifier supports verifying workflow_dispatch inputs, at least for our v0.2 builders.

In practice it's unlikely those inputs would be used during verification, unless they meaningful "high-level" info about a build, like prod vs debug. However they are necessary incident response.
Note that the slsa-verifier supports verifying workflow_dispatch inputs, at least for our v0.2 builders.

Agreed. I think that it's also likely that users would want to apply their own policy over the inputs. For example, to verify that that the prod/debug flags are set properly for production,  or to verify there are no inputs set at all etc.

FWIW, I wrote a bit about Artifact Attestations here: https://www.ianlewis.org/en/understanding-github-artifact-attestations
It's not specifically contrasting with this project but it does talk about why it's SLSA 2 and not SLSA 3. Maybe that would be helpful to folks wanting to know the differences.


[Bug] use ttf file of prior verion

fix bug caused by upgrade of ttf file

Thanks for your time!


Using different frac_w for weights and bias

Is it possible to use a different frac_w for the bias and for the weights? My biases values are much larger than my weight values so finding an appropriate frac_w for both of them is difficult. If I regenerate my weights using different frac_w for the biases, and then update main.cpp and conv_pipe.cl to take this new parameter into account, would that work?

Yes, you can set different values for frac_w, but you need to change the code at where the bias is added to the final results.


Admin role not displayed in user list of project admin

Loged in as a project admin
Menu: project / collaboration
All members of the project are displayed but system admin are not visible for their role, they look like ordinary project members (see picture: gaby and marion are system admin).

OPTIONAL: Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Desktop (please complete the following information):

OS: Windows 10 Pro N, 1903 - 18362.418

Browser Google Chrome, 78.0.3904.87

Version Knora App, 1.6.2

this issue has been moved to YouTrack: DSP-342


Clippy refactoring fixes

Not all warning have been fixed:

docs warnings (they need some huge argueable refactorings, e.g SSA -> Ssa)
unused result must being used, due to it requires some logic for handling. So imo it's fine to dirty output for some time
stuff that I can't fix "elegantly" and don't making things worse
unused vars/fns that don't require additional logic (just comment out or so) <- too long and useless to fix.
Reply to this email directly, view it on GitHub, or mute the thread.

I have a few concerns, will add them later today. But so far looks good!

btw this fix doesn't influence tests and doesn't change any logic
Green travis is just an accident (you can try to build it yourself and it can fail)

btw this fix doesn't influence tests and doesn't change any logic

@l4l It does change some logic, see my comment above.

Alright, this seems good to me. I think it is ready to be merged.

So please do merge it. I can't right now.


google/osv-scanner: In v1.3.1 multilple.intoto.jsonl became multilple.intoto.jsonl.zip

https://github.com/aquaproj/aqua-registry/pull/11189#issuecomment-1491109384
https://github.com/google/osv-scanner/releases/tag/v1.3.1
https://github.com/google/osv-scanner

https://github.com/google/osv-scanner/issues/323


Run on multiple GPU

I use 2 executors and run the xgboost demo. I tried to change spark.sql.files.maxPartitionBytes and maxRowsPerChunk but it always has 1 partition and run on single executor and single GPU. How to use multiple GPU?

It's controled by  numWorkers of xgboost's params

How many data partitions do you have? You need to specify 2 executors and 2 workers.

Was this issue resolved (numWorkers = number of GPUs)?


chore: Run cleaning

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#701  👈
#700
#632 : 2 other dependent PRs (#633 , #642 )
#628 : 1 other dependent PR (#629 )
#613
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @AngelOnFira and the rest of your teammates on  Graphite


Add a crude backoff to sync

Fixes https://github.com/turt2live/matrix-bot-sdk/issues/100

@turt2live apparently doing lots of syncs while the homeserver is down is a great way to lead to disk fill by vurtue of your logs filling up with lots of stacktrace on the ERROR log level -- I really need this to land :(


Add case insensitive string literals

#3 implies that there is a need for case-insensitive string matching (for keywords, probably).
There should probably be an easy, but intuitive syntax to do it (e.g. i"whatever"). I'll look into how other PEG parsers mark it.

Apparently in pest it's marked written as ^"ASCII case-insensitive string".
Both tatsu and lalrpop recommends regex with ?i


Fix for tabs in darkmode

before:

after:

Assets need to be compiled with the production flag @mjauvin

Assets need to be compiled with the production flag @mjauvin

What's that ??

Never mind, I found it.


V2 beta

I've got a bunch of time before the end of the year to spend on open source work, I'd be happy to help with anything you need to move v2 out the door @ro0gr. It sounds like from #359 you mostly have it locally, but let me know if there's anything I can do to help or test.

@jrjohnson Hey 👋 First, sorry for that huge delay.. And I really appreciate your will to help here!
So as I said before there is a PR containing a different efforts(it's not public https://github.com/san650/ember-cli-page-object/pull/556). The ember upgrade part is definitely incoimplete(but contains a lot of tests cleanup), so I think it's the best candidate to be extracted into a dedicated PR. We could even go a step further and upgrade to ember-source@4. Meanwhile, I'm currently focused to make embroider really work.
I understand the year is almost over, you are probably busy with some other activity. However, if you are still interested, feel free to reach me in the ember discord for the further coordination!

@SergeAstapov, yes, with the #560 on board I'm going to finish my embroider effort(#556), and that's when I plan to drop the ember-cli-node-assets for sure.
As for the ember-native-dom-helpers, it should be removed together with the moduleFor adapters removal, which is also planned to be done after the #560(TBH it could be done independently of the<EMAIL_ADDRESS>PR, but at the moment it seems reasonable to me to move the<EMAIL_ADDRESS>to the finish line first).

Just as a data point: Update from beta.3 to beta.3 was smooth for us, no problems to report.

updated to beta.5, equally uneventful ✅

🎉 awesome work @ro0gr!


Run python style tests before test target

Run pycodestyle and pylint tests before the test target.

These targets are already added in #2007


Ran PEP 257 on prompt.py, added param and raises.

Pydocstyle pass through on prompt.py and some param and raises adds.

@hackebrot I'm getting the following error on AppVeyor--
Environment: PYTHON=C:\Python33, TOX_ENV=py33

Failed to provision build worker virtual machine in a cloud. Please try restarting build later.

Should I close this pull request and resubmit?

Hey @talaniz! 👋
Thank you for this PR. Don't worry about the AppVeyor error - in this particular case it seems to be an infrastructure problem; the other Python 3 environments passed on it.


intercept $http respnoseError, show popup alerts stated in errror.json

Merge delayed until we really need this

Labelled with shelved for future reference so we're closing this issue


#255 Updating the twitter logo

Replaced the old logo of twitter to the new one 'X'
In Project, Contact us, about us section

@Gyanthakur pls review


feat: Introduce a reusable MarkDownEditor with improved UX

Description

Fixed UI height: The height of the Markdown UI has been adjusted to prevent it from hiding the collection tabs when the documentation is very long.
Improved save feedback: A toast now pops up when the content is saved by either blurring, hitting cmd+s, or by clicking the Save button.
Added placeholder text: Placeholder text has been added to guide users to write documentation of their collection!
Adjusted double-click behavior: Double-clicking no longer takes you into edit mode, making it easier to copy/paste from the docs. Instead, you can quadruple click. This allows users to use the native "double-click" and "triple-click" functionality of text boxes. If this doesn't go over well, reverting is fine.
Enhanced button design: The button has been redesigned and repositioned for a nicer experience.
Hover enables a nice background color

Resolves #2032
Demos
Video of switching from placeholder text view/preview to edit mode
https://github.com/usebruno/bruno/assets/18120837/3c735e22-e8cb-4a99-9c45-f8a06bb33463
Dark Mode
Note: This looks even nicer with this change #2030

Light Mode (with hover activated)

Screenshot of what a really long document looks like now (peep the scrollbar)

Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[x] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[x] Create an issue and link to the pull request.

Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.

Looks nice but why a quadruple click ?
I submitted a big PR a while ago to introduce Monaco Editor on top of the current one we got (codemirror), i can't give you any date but it will be in beta someday, and will improve the IDE experience for whatever language you choose

Thanks for the comment @bpoulaindev! I changed it to quadruple so that when in the preview, you can select words and paragraphs without going into edit mode.  With that being said, I totally get it if four clicks is overkill and am happy to revert

Hi @lizziemac
Here are my feedbacks:

Fixed UI height: The height of the Markdown UI has been adjusted to prevent it from hiding the collection tabs when the documentation is very long. >> yes it's a good idea

Improved save feedback: A toast now pops up when the content is saved by either blurring, hitting cmd+s, or by clicking the Save button. >> yes it's a good idea

Adjusted double-click behavior: Double-clicking no longer takes you into edit mode, making it easier to copy/paste from the docs. Instead, you can quadruple click. This allows users to use the native "double-click" and "triple-click" functionality of text boxes. If this doesn't go over well, reverting is fine. >> sorry but I don't like the quadruple click to enter edit mode. I can survive if it enters in edit mode when I want to copy/past from the doc

Added placeholder text: Placeholder text has been added to guide users to write documentation of their collection! >> see comment above

Enhanced button design: The button has been redesigned and repositioned for a nicer experience.
Hover enables a nice background color **>> Ok but can you add also a cancel button if the user doesn't want to save ? Also I don't like that it saves automatically when you close the tab

Thanks for the feedback! I totally forgot about wanting to cancel editing 😆 I'll try to address your comments soon!  I'm thinking when we leave a tab, give the user a pop up asking to save or cancel

Hi @busy-panda and @bpoulaindev
I have addressed all current feedback. Changes made are:

Double-click to edit re-introduced
Leaving the tab without saving now replicates behavior of other tabs in the collection.

When leaving the tab while editing, then returning to the tab, the doc is still in Edit mode
No pop-up currently as I believe that would scope-creep the PR, because it would affect the behavior of the entire collection.

Cancel button lets you revert changes (image of button below)

Hi @lizziemac
I still have these two points that I think would be great to address:

You made the change only in the Collection docs tab, but the same should be done in the request docs tab
I don't think it's necessary to change the background color when the user hover with the mouse. Just changing the cursor like you do is enough to indicate that it is editable if he double clicks.

Cheers

Hey @busy-panda !

You made the change only in the Collection docs tab, but the same should be done in the request docs tab

I was planning to make this a separate PR, but I'll see how much more code it is. I mostly kept them separate because I didn't want to overwhelm with a huge change, especially before getting approval on the design.

I don't think it's necessary to change the background color when the user hover with the mouse. Just changing the cursor like you do is enough to indicate that it is editable if he double clicks.

I'd like to keep the hover color, I think the change in the cursor style can easily be missed, and the hover color is something other GUIs do as well for this section (I'm thinking Postman specifically)

marking as draft because introducing requests resulted in some unexpected side effects

@busy-panda I've addressed your comment about adding this to the request tab as well, and it is now responsive! Video below with updates. I improved the UI a bit further just because with the response panel things were getting less clean unless I made changes.
Request responsiveness examples

Thanks for working on this @lizziemac !
Some nice ideas here on how to improve the current docs editor experience.
As this PR involves a lot of UX changes, we would need some time to review this and share our feedback.
Given the current backlog of PR's, it will take us some time to get to this.

thanks @helloanoop ! - I can rebase and get the code on the latest after your team is able to review and provide any additional feedback, or ping me if you'd like it sooner


Alignment (probably) shouldn't be required for empty vectors

Flatcc's verify_vector requires that vectors be properly aligned even when the vector is empty. The consumers in https://github.com/google/flatbuffers do not enforce this and moreover the producers will sometimes emit an empty vector which they didn't bother to align.
(Encountered in the context of arrow IPC, which uses flatbuffers to store metadata) A minimal example: https://gist.github.com/bkietz/6150b9aae6d1bea0c85c0527d7fb04d6

@bkietz thanks for making a note of this. I am not able to dig deeply into this at the moment, I am thrilled that flatcc is being used with Arrow, and I did how some feedback to one of the Arrow designers back then. I have worked a bit with the Arrow format in Julia and Go.
That said, I disagree about alignment. You could get away with it, sort of, for empty vectors, but the (empty) data still needs to be aligned to at least 32-bits because of the length header. Furthermore pointer types in some languages, notably C, are required to be aligned, at the very least if dereferenced, but even if not, who knows what aggressive optimizations a compiler might do. In C vectors can be accessed via raw pointers iff the user takes responsibility for endian conversion, or the platform is known little endian. Therefore there are functions that are expected to return aligned pointers even if the length is empty.
Non-alignment can also lead to unexpected errros such as a user doing pointer math to get the header field, even if the user is not supposed to that directly, since the binary format is well documented. Even a compiler might do that, though unlikely.
As for the google/flatbuffers consumers: No consumers I am aware of enforce alignment, notably, it is perfectly valid to read from an unaligned buffer, e.g. from a network buffer, iff you are sure you platform arch can handle it, such as x86 and some, but not all ARM. Verification is different though. Googles C++ verifier did not verify alignment very aggressively early AFAIR, but that does not mean it should not do that, only that it did not implement it.
From a practical perspective, it would also be an odd exception in the verifier to first check and a fail, then add branch logic to check if it in fact happened to  be an empty vector, and doing it before would be a an unwanted performance penality, and still a complication.
Therefore I suggest you try to address the issue at the source.

On a related note:
I would like the verifier to be able to accept unaligned buffers but still verify that they are properly aligned relative to buffer start. This would be useful for verify buffers in unaligned network buffers without having to make a copy.
I think most of the code is already doing that, but AFAIR not all the code, and there should be a mode flag to request such behavior. This could be added as a PR, but it is not something I plan to address short term.
I would also be possible to have a verifier that entirely avoids checking for alignment. This would be done with a compile time config flag, preferably such that the main logic is unchanged but all align helper functions just return true. Again, subject to PR.

Therefore I suggest you try to address the issue at the source.

I will not be able to do that; de-facto these empty vectors are acceptable to many other readers of the arrow format (and some are even checked in as gold files). Therefore we're going to need to patch our copy of flatcc to handle this corner case.

Furthermore pointer types in some languages, notably C, are required to be aligned

The alignment requirement need not be an obstacle here.
In the case of empty vectors the pointer returned by SomeTable_somevector() could be

NULL (but that might be unfavorable due to memcpy and other functions which forbid NULL even when size is zero)
a pointer to a max aligned static buffer reserved for empty vectors
any properly aligned pointer to any byte in the buffer (if we want to preserve the guarantee that pointers all point into the same buffer)

I agree with @mikkelfj that vectors should be aligned even if empty. In C++, even if you don't dereference (which would  be UB and/or a crash on some architectures), even just converting unaligned pointers may result in "unspecified" values.. while this is unlikely to happen in practice, it would be a bad idea to allow it.
Thus, the alignment for a vector of double is 8, and the minimum alignment of ANY vector is 4, since we access the size field from it.
If the C++ verifier doesn't check this, then that is a bug / oversight. My apologies. Ideally this would be fixed, but we'd need to audit if there are any past buggy serializers that allowed this unalignment first. @dbaileychess
@bkietz how did the project end up with these unaligned vectors? which writing code in what language produced these?
Remains the question how to recover from the situation. I guess Arrow needs a patched verifier that disables this particular check. I'd highly recommend fixing any writers to ensure alignment from now on.

@bkietz FYI ardappel is is the original FB designer and dbaileychess is the current google maintainer. I support ardappel's response.
I agree that a patched version of the flatcc verifier is probably the best short term solution, but I still recommend to address the problem at the source, perhaps through deprecation.
Flatcc runtime files includes a config.h file that users can use to overwrite flags. This could also be used to add a flag patched behaviour: https://github.com/dvidelabs/flatcc/blob/master/config/config.h
To address your suggestions:

NULL is not acceptable because empty is different from absent.
A pointer to a default buffer is not suitable for several reasons, although the idea is sound: there would be an unacceptable performance overhead to check for this at runtime (any additional branch is unacceptable), and some applications might assume identity of a buffer location. We did discuss such default objects in a separate context where one could optionally have default tables and other objects, but it was never decided, it is also a different case, and any performance overhead would be opt in.
any aligned pointer has the same identity and performance issues.
all of the above adds unwanted complexity into code that is already fairly complex, only to address behaviour that is not really desireable.

This is not to be dismissive. I  want to support an efficient solution for arrow, but it should not happen by changing the nature of the core format.
Also, I am not sure if it was clear to you before, but a verifier is very different from a reader. A reader can take all the shortcuts it want, almost, because it can assume the buffer is valid in exchange for speed and other objectives. A verifier should ideally be fast, but it should first and foremost be correct and assume a buffer might be invalid.

@bkietz how did the project end up with these unaligned vectors? which writing code in what language produced these?

I was primarily testing against the C++ library (which is also what produced the repro case above). I have not checked if any other libraries produce such vectors. I'll try to extract a minimal producer-side repro using the C++ library.

I'd highly recommend fixing any writers to ensure alignment from now on.

That sounds reasonable to me.
FWIW flatcc is the only implementation thus far which has balked at these empty vectors. The arrow integration tests pass flatbuffer metadata between C++, Java, Rust, C#, and Go. The intent is to make sure everything is inter-valid so all arrow implementers verify incoming messages in addition to reading. None of those has raised this error before, so if alignment starts to be asserted for empty vectors in more flatbuffers libraries I suspect more users than arrow will break.

Argh.. looks like this has been a bug in the C++ library all along. StartVector passes the alignment of element type T to the centrally used function PreAlign, which then does:
  // Aligns such that when "len" bytes are written, an object can be written
  // after it (forward in the buffer) with "alignment" without padding.
  void PreAlign(size_t len, size_t alignment) {
    if (len == 0) return;
    TrackMinAlign(alignment);
    buf_.fill(PaddingBytes(GetSize() + len, alignment));
  }

Note the early out on len == 0.
Worse, this same function is used for alignment to LenT, the size field, which is ALSO skipped.. this is much more serious, since in theory that can cause the size field to cause an unaligned read. Wonder why that has never been an issue.. @dbaileychess
So this means all buffers generated by the C++ implementation have possibly unaligned empty vectors in them. And any languages that were implemented by studying/copying the C++ implementation in any way may have it too.
So while to be correct, I still think an empty vector should be aligned, I have to admit it does not make sense for any verifier in any language to require it.. including C.
This bug is essentially grandfathered in.
I'd still think it be good to fix this bug where possible. Even that will be challenging, as it may grow the size of some FlatBuffers and brittle tests the world over will break :)
In terms of how to fix it, it may be tempting to just remove the len == 0 check, because in the end when writing 0 bytes, you may still intent to derive a pointer from the current location. But maybe better to first audit the callers of PreAlign, and see which ones could possibly benefit from this "optimisation", and split into 2 functions if any.
The call PreAlign<LenT>(len * elemsize) in StartVector is flat out wrong, since it says I am going to write 0 bytes for LenT alignment, when actually we want to write sizeof(LenT) bytes.. but PreAlign<LenT>(sizeof(LenT)) is also wrong since the bytes are to be written before the alignment point, not after. So this should do something else entirely different if the len == 0 check is kept. This should for sure be fixed even if the bigger alignment of T is not.

I'll open a draft PR to flatcc adding FLATCC_ALLO_MISALIGNED_EMPTY_VECTORS to flatcc_rtconfig.h

I'll open a draft PR to flatcc adding FLATCC_ALLO_MISALIGNED_EMPTY_VECTORS to flatcc_rtconfig.h

aside from minor typo:
FLATCC_ALLOW_MISALIGNED_EMPTY_VECTORS
I am fine with that. Add comment to explain why the setting exists. Documentation in main README also needs update.
The question is whether it should be enabled by default?
I tend to prefer to keep things as they are by default, partly because that is the correct behavior, and partly because anything else is technically not guaranteed to work and C compilers get increasingly aggressive with optimizations - this is the number one reason for bug reports and fixes in flatcc by far, though mostly due to harmless warnings.
However, given the scale of the bug, I am not entirely sure.
As for other languages not complaining: AFAIK only C and C++ implements verifier logic. Other languages generally just depend on the built-in language safety features such as buffer overrun protection. So it is no surprising that other languages do not complain, even C would not do that without explicit verification. However, that does not mean that all those languages have been reading data correctly, though they likely have.

For reference, the flatcc verifier did have an issue related to verifying buffers that contained alignment of size 8 or above, but it only happened with size prefixed buffers (a feature that was added some years of the original FB release). It was a rare occurrence and only fixed in late 2023, so there is a chance that this fix might have triggered something with arrow.
https://github.com/dvidelabs/flatcc/issues/210

I don't think this is an issue for Flatbuffers. @aardappel Is correct in the StartVector() we do special case the len == 0 conditional. Its basically a no-op. BUT, you have to finish a vector with an EndVector() call that:
  /// @cond FLATBUFFERS_INTERNAL
  template<typename LenT = uoffset_t, typename ReturnT = uoffset_t>
  ReturnT EndVector(size_t len) {
    FLATBUFFERS_ASSERT(nested);  // Hit if no corresponding StartVector.
    nested = false;
    return PushElement<LenT, ReturnT>(static_cast<LenT>(len));
  }

Pushes the size of the vector (0) into the buffer. That function aligns the value being written:
  // Write a single aligned scalar to the buffer
  template<typename T, typename ReturnT = uoffset_t>
  ReturnT PushElement(T element) {
    AssertScalarT<T>();
    Align(sizeof(T));
    buf_.push_small(EndianScalar(element));
    return CalculateOffset<ReturnT>();
  }

I made an test example:
table MyRoot {
  a:string;
  vector:[int];
  c:string;
}

root_type MyRoot;

And made it with this json:
{
  "a": "aaaaaaa",
  "vector": [],
  "c": "cccccccc"
}

And the annotated buffer is:
// Annotated Flatbuffer Binary
//
// Schema file: test.fbs
// Binary file: test.bin

header:
  +0x00 | 10 00 00 00             | UOffset32  | 0x00000010 (16) Loc: 0x10 | offset to root table `MyRoot`

padding:
  +0x04 | 00 00                   | uint8_t[2] | ..                        | padding

vtable (MyRoot):
  +0x06 | 0A 00                   | uint16_t   | 0x000A (10)               | size of this vtable
  +0x08 | 10 00                   | uint16_t   | 0x0010 (16)               | size of referring table
  +0x0A | 04 00                   | VOffset16  | 0x0004 (4)                | offset to field `a` (id: 0)
  +0x0C | 08 00                   | VOffset16  | 0x0008 (8)                | offset to field `vector` (id: 1)
  +0x0E | 0C 00                   | VOffset16  | 0x000C (12)               | offset to field `c` (id: 2)

root_table (MyRoot):
  +0x10 | 0A 00 00 00             | SOffset32  | 0x0000000A (10) Loc: 0x06 | offset to vtable
  +0x14 | 20 00 00 00             | UOffset32  | 0x00000020 (32) Loc: 0x34 | offset to field `a` (string)
  +0x18 | 18 00 00 00             | UOffset32  | 0x00000018 (24) Loc: 0x30 | offset to field `vector` (vector)
  +0x1C | 04 00 00 00             | UOffset32  | 0x00000004 (4) Loc: 0x20  | offset to field `c` (string)

string (MyRoot.c):
  +0x20 | 08 00 00 00             | uint32_t   | 0x00000008 (8)            | length of string
  +0x24 | 63 63 63 63 63 63 63 63 | char[8]    | cccccccc                  | string literal
  +0x2C | 00                      | char       | 0x00 (0)                  | string terminator

padding:
  +0x2D | 00 00 00                | uint8_t[3] | ...                       | padding

vector (MyRoot.vector):
  +0x30 | 00 00 00 00             | uint32_t   | 0x00000000 (0)            | length of vector (# items)

string (MyRoot.a):
  +0x34 | 07 00 00 00             | uint32_t   | 0x00000007 (7)            | length of string
  +0x38 | 61 61 61 61 61 61 61    | char[7]    | aaaaaaa                   | string literal
  +0x3F | 00                      | char       | 0x00 (0)                  | string terminator

You can see the empty vector size field is placed at 0x30 (which is properly aligned) and just contains the value 0. Other padding is added after wards for the other field.
I tried this with all sorts of sizes of both a and c and never saw a misplaced alignment for the empty vector.

Here is an example where the previously written thing has a non-4 byte alignment (0x1E is not 4 byte aligned), but the C++ code does properly add in the 2 padding bytes to force the vector to be 4 byte aligned at 0x18.
vector (MyRoot.vector):
  +0x18 | 00 00 00 00             | uint32_t   | 0x00000000 (0)            | length of vector (# items)

padding:
  +0x1C | 00 00                   | uint8_t[2] | ..                        | padding

vtable (MyLeaf):
  +0x1E | 06 00                   | uint16_t   | 0x0006 (6)                | size of this vtable

@dbaileychess Thanks for looking into this. I seems flatcc verifier should remain as is.
I'll wait for @bkietz to suggest next steps.

@dbaileychess alignment to 4 bytes is indeed guaranteed by the presence of the vector size. However the empty vector in question has elements which require 8 byte alignment. I've annotated the buffer from my repro case:
// Annotated Flatbuffer Binary
//
// Schema file: /home/bkietz/arrow/format/Message.fbs
// Binary file: dump.bin

header:
  +0x00 | 14 00 00 00             | UOffset32  | 0x00000014 (20) Loc: 0x14 | offset to root table `org.apache.arrow.flatbuf.Message`

padding:
  +0x04 | 00 00 00 00 00 00       | uint8_t[6] | ......                    | padding

vtable (org.apache.arrow.flatbuf.Message):
  +0x0A | 0A 00                   | uint16_t   | 0x000A (10)               | size of this vtable
  +0x0C | 0E 00                   | uint16_t   | 0x000E (14)               | size of referring table
  +0x0E | 06 00                   | VOffset16  | 0x0006 (6)                | offset to field `version` (id: 0)
  +0x10 | 05 00                   | VOffset16  | 0x0005 (5)                | offset to field `header_type` (id: 1)
  +0x12 | 08 00                   | VOffset16  | 0x0008 (8)                | offset to field `header` (id: 2)

root_table (org.apache.arrow.flatbuf.Message):
  +0x14 | 0A 00 00 00             | SOffset32  | 0x0000000A (10) Loc: 0x0A | offset to vtable
  +0x18 | 00                      | uint8_t[1] | .                         | padding
  +0x19 | 03                      | UType8     | 0x03 (3)                  | table field `header_type` (UType)
  +0x1A | 04 00                   | int16_t    | 0x0004 (4)                | table field `version` (Short)
  +0x1C | 10 00 00 00             | UOffset32  | 0x00000010 (16) Loc: 0x2C | offset to field `header` (union of type `RecordBatch`)
  +0x20 | 00 00                   | uint8_t[2] | ..                        | padding

vtable (org.apache.arrow.flatbuf.RecordBatch):
  +0x22 | 0A 00                   | uint16_t   | 0x000A (10)               | size of this vtable
  +0x24 | 0C 00                   | uint16_t   | 0x000C (12)               | size of referring table
  +0x26 | 00 00                   | VOffset16  | 0x0000 (0)                | offset to field `length` (id: 0) <defaults to 0> (Long)
  +0x28 | 04 00                   | VOffset16  | 0x0004 (4)                | offset to field `nodes` (id: 1)
  +0x2A | 08 00                   | VOffset16  | 0x0008 (8)                | offset to field `buffers` (id: 2)

table (org.apache.arrow.flatbuf.RecordBatch):
  +0x2C | 0A 00 00 00             | SOffset32  | 0x0000000A (10) Loc: 0x22 | offset to vtable
  +0x30 | 0C 00 00 00             | UOffset32  | 0x0000000C (12) Loc: 0x3C | offset to field `nodes` (vector)
  +0x34 | 04 00 00 00             | UOffset32  | 0x00000004 (4) Loc: 0x38  | offset to field `buffers` (vector)

vector (org.apache.arrow.flatbuf.RecordBatch.buffers):
  +0x38 | 00 00 00 00             | uint32_t   | 0x00000000 (0)            | length of vector (# items)

vector (org.apache.arrow.flatbuf.RecordBatch.nodes):
  +0x3C | 01 00 00 00             | uint32_t   | 0x00000001 (1)            | length of vector (# items)
  +0x40 | 00 00 00 00 00 00 00 00 | int64_t    | 0x0000000000000000 (0)    | struct field `[0].length` of 'org.apache.arrow.flatbuf.FieldNode' (Long)
  +0x48 | 00 00 00 00 00 00 00 00 | int64_t    | 0x0000000000000000 (0)    | struct field `[0].null_count` of 'org.apache.arrow.flatbuf.FieldNode' (Long)

The vector size for RecordBatch.buffers is placed at 0x38, which IIUC means the empty vector element span is the byte range [0x3c, 0x3c). That span is not aligned to 8 bytes

Thanks for making the annotation, it's always easier for me to see the layout!
So my take is if a vector is empty, it doesn't really matter what alignment it is supposed to have. There is no data in the buffer for it to take an alignment.
I don't count the size prefix location as the start of the vector either. The data part is the part directly after the length_ field. That part should be aligned IMO to the element size. And since there are no elements, it doesn't matter.
I guess a question is, are you checking the length of the vector before trying to access the "backing" data of it?

@mikkelfj I feel you should by default allow unaligned empty vectors for alignments > 4, because apparently that is the defacto standard. Checking for alignment >4 should be an option.
@dbaileychess you are correct at least the size is never misaligned, thanks to the (redundant) per element alignment. But it is still a bug that the StartVector code essentially does nothing, this bug has been masked. If instead we had written the vector data assuming correct alignment was already guaranteed, this would be a big bug.
A [double] can be misaligned still, and this is a problem in C/C++, see my first comment on this issue. This is apparently benign in that no compiler is able to know that this pointer is potentially misaligned, and no hardware does funny things with pointer bits for supposedly aligned pointers, but.. they could, in theory.
We could codify going forward that empty vectors are merely aligned to 4, and assume C++ compilers will never be able to find out.
Or, we can fix the C++ builder (and who knows what other languages) going forward to align to the type also?

And, while I am ranting, can we reflect for a moment how relatively complicated such a simple thing as alignment can be, and how much effort over the life of FlatBuffers has been spent on it?
Like I said in https://github.com/google/flatbuffers/issues/5875, I would totally just skip alignment entirely if I could do it all over again :)

I guess a question is, are you checking the length of the vector before trying to access the "backing" data of it?

Either users who specify this option take responsibility for checking size before otherwise accessing the vector field, or we need to also modify reader codegen to ensure that misaligned pointers are never materialized (though it would be odd to react to an rtconfig option in the compiler source...).

@aardappel I'm fluctuating on whether flatcc should default allow unaligned empty because @dbaileychess suggested it was not a native bug, but then it was anyway, and that obviously affects that decision.

I guess a question is, are you checking the length of the vector before trying to access the "backing" data of it?
It would be terrible to have extra runtime checks for that, performance wise. There is already an unvoidable null check that hopefully gets optmized out of any inner loops. A verifier can special handle a failed vector alignment check and then see of the length is zero. This only adds overhead to the verifier, and only when relevant.

And, while I am ranting, can we reflect for a moment how relatively complicated such a simple thing as alignment can be, and how much effort over the life of FlatBuffers has been spent on it?

I want nested flatbuffers to be dead for that reason. It is by far the most complicated part of the flatcc builder runtime, and a nutrious bug feeder. I don't even think C++ tries to do it right, last I heard it just used 8 byte aligment. FlatCC tries to create nested flatbuffers that are properly aligned both relative to the nested buffer and to the parent buffer, and it is not pretty.
But, aligment is important for many reasons, including performance, atomic access, GPUs, optimizations. I can see a second format without alignment and it would be much simpler and denser, but it is not FlatBuffers as we know it.
@bkietz feel free to submit PR on the verifier, then we can always fight over what default to use, but we need the code in place it seems, not only for arrow.

As to incorrect behaviour of unaligned empty buffers:
I don't think we should runtime fix this, that is costly. We should require buffers to be valid on platforms that are sensitive to it, and rely on "it probably works anyway" on other platforms.
I don't think we should define empty to be always 4 bytes, simply because of pointer types.

Perhaps I don't understand the C implementation, but you always have to check the length of a vector before starting to read from it. How do you know how long it is? You shouldn't be dereferncing the .data() field without knowing the length.

You shouldn't be dereferncing the .data() field without knowing the length.

In fact C forbids that misaligned pointers be materialized at all; <IP_ADDRESS>
A pointer to an object or incomplete type may be converted to a pointer to a different
object or incomplete type. If the resulting pointer is not correctly aligned for the
pointed-to type, the behavior is undefined.

So (int*)ptr can be UB even without the dereference.
credit

@mikkelfj we have 10+ years worth of the C++ implementation (and maybe others) allowing incorrectly aligned vectors (for sizeof(T) > 4) to be created and stored.. this is now the defacto standard that implementations must handle. So yes, the default should be off. You can only enforce correct alignment if you know for sure the writer was also C, that sounds very much like an opt-in situation.
I do believe C++ tries to correctly align nested FlatBuffers, but also possible there are implementations that don't. They have actually proven rather useful and are here to stay, so you'll have to deal with them :)

@dbaileychess This is from memory, the code is 10 years old by now, but internally the C reader returns a pointer to the first element. AFAIR C++ returns a pointer (internally) to the size header field. The returned pointer is an abstract pointer type via typedef because it needs to be endian translated, but the accessor method goes like:
Tmyvec v = get_vec(buf, ...);
size_t n = get_vec_len(v);
Tmyvecelem x = get_vec_at(x, index);

Here the problem is get_vec_at. It doesn't want to check the length. I don't even think it wants to check for null, but I am not sure. For little endian, this becomes an unconditional direct memory access instruction.

@bkietz that is probably true, wrt. ptr materialization. Certainly pointer casts have given a lot of headache in flatcc and elsewhere. However, for unmaterialized pointers, it is very common to cast them at least to size_t, then tag pointers by adding one to e.g. distinguish between leaf and non-leaf tree nodes. The size_t type is then cast back to a pointer, but the pointer is cleaned up via cast to size_t and back before access. This is such a common pattern that it can be assumed valid. however, I also think it is valid to cast to size_t though not necessarily back if unaligned, even it is done.
The problem is really when the pointer is accessed or manipulated in ways that are not carefully implemented for such behavior.

@aardappel I'm not arguing either way on what flatcc should do, I am trying to understand. I just stated that my previous statements were affected by conflicting information.
That said, I think you are saying now  that C++ does it correctly when writing elements of size 8, but earlier you said it did not not, and @bkietz also seems to confirm this. If this is the case, C++ writer shoud be fixed, but it does not remove the 10 years of precedences. As for whatever other languages might do, it does not matter if C++ has the bug. If C++ does not have the bug, I think we need to figure out what other languages do.

I think I have been quite clear that C++ has the bug.

Updated README in verifier section to make a note of this:
https://github.com/dvidelabs/flatcc/commit/86b2f78cd0cba998a3175f8c0ccebdb0613c2bd5

I think I have been quite clear that C++ has the bug.

yes indeed, I already added a correctionto my comment. I was misreading another sentence that referenced something else. Sorry about that.


GSoD workplace: Create new WasmEdge plug-in contributor guides in C, C++, and Rust

Project Name: Create new WasmEdge plug-in contributor guides in C, C++, and Rust
Description:
This issue serves as a centralized place to track the progress of the WasmEdge plug-in contributor guides project, which is part of the Google Season of Docs (GSoD) program. The objective of this project is to create comprehensive guides for developers who want to contribute to the WasmEdge ecosystem by implementing plug-ins in C, C++, or Rust.
The purpose of this issue is to keep a record of the pull requests (PRs) submitted by me throughout the course of this project. By linking the PRs here, it will be easier to track and review the progress and provide feedback as needed.
Project Details:

GSoD Project Name: Create new WasmEdge plug-in contributor guides in C, C++, and Rust
Contributor: @mhmohona
Mentor: @juntao, @alabulei1, @q82419

Outline

Getting Started with WasmEdge Plugins

What is a WasmEdge plugin?
How can WasmEdge plugins be used?
Benefits of using WasmEdge Plug-in System

Developing WasmEdge Plugins

Requirements for developing a WasmEdge plugin
Choosing a programming language

C
C++
Rust

Setting up the development environment
Creating a WasmEdge plugin project
Defining the plugin API
Implementing the plugin API
Compiling the WasmEdge plugin

WasmEdge Plugin API Reference

Loading a WasmEdge plugin
Registering the plugin API
Importing the plugin modules
Sample application that uses a WasmEdge plugin
Examples of WasmEdge Plug-ins

Overview of the WasmEdge Plug-ins
WasmEdge-Process Plug-in
WASI-Crypto Plug-in
WASI-NN Plug-in with OpenVINO backend
WASI-NN Plug-in with PyTorch backend
WASI-NN Plug-in with TensorFlow-Lite backend
WasmEdge-HttpsReq Plug-in

Understanding WasmEdge Plugins

Best Practices for Developing WasmEdge Plug-ins

Security best practices
Performance best practices
Compatibility best practices
Documentation best practices

Error handling

How to handle errors in WasmEdge plugins
Tips for avoiding common error-handling pitfalls

Debugging
How to debug WasmEdge plugins
Tips for using WasmEdge's debugging tools
Testing

How to test WasmEdge plugins
Tips for writing effective WasmEdge unit tests

Conclusion

Recap of WasmEdge Plug-in System

Future Development Roadmap

PRs Submitted:

#105
#106
#107
#102

Update until now -
Improved existing documentation -

Plugin Introduction -->  #105
Loadable Plugin --> #106
Currently released Plugin --> #107

Created new documentation -

Developing WasmEdge Plugins --> #102

Requirements for developing a WasmEdge plugin
Choosing a programming language

C
C++
Rust

Setting up the development environment
Creating a WasmEdge plugin project
Defining the plugin API
Implementing the plugin API
Compiling the WasmEdge plugin

Currently working on -

WasmEdge Plugin API Reference --> #116

Loading a WasmEdge plugin
Registering the plugin API
Importing the plugin modules
Sample application that uses a WasmEdge plugin
Examples of WasmEdge Plug-ins

Overview of the WasmEdge Plug-ins
WasmEdge-Process Plug-in
WASI-Crypto Plug-in
WASI-NN Plug-in with OpenVINO backend
WASI-NN Plug-in with PyTorch backend
WASI-NN Plug-in with TensorFlow-Lite backend
WasmEdge-HttpsReq Plug-in

@mhmohona Please update your work progress here. Thanks.

Update till July 31 -

Followed up with mentors.
Finalized the #102

Update till September -
Worked on following PRs

#146
#144
#153


awssdk.securitytoken is missing NuGet package README file

We've noticed that your package on NuGet.org is missing a README file.
Why READMEs are Important
A README is essential for users to understand your package's purpose and functionality quickly. It's the first thing users see on NuGet.org and helps them decide if your package meets their needs.
Get Started with READMEs
How to Add a README
If you're new to NuGet READMEs, follow guidance on how to add one to your package.
How to write high quality of READMEs
Follow a blog post with README best practices and a template file to help you get started.
We Value Your Feedback
We value your feedback. If you encounter any issues or have suggestions, please reply to this issue.
Thank you for your contribution to the NuGet community.

@lyndaidaii, thank you for reporting this issue. We have over 300+ packages for this repository. Please cut us one issue for all of the packages and we will look into addressing the issue.

@boblodgett, I am so sorry about that, I will close other duplicate one.

Those are top installed packages on NuGet.org, appreciate if you could include readme for those packages. it will really help customers to get started with your packages:
awssdk.secretsmanager
awssdk.sqs
awssdk.dynamodbv2
awssdk.extensions.netcore.setup
awssdk.core
Please let me know if you have any question or Feeback to NuGet.org. Thanks!


can't read the mapreduce results

this is my code
(defjs map_category()
  (emit this.category 1))

(defjs sum_games(c vals)
  (return ((@ Array sum vals))))

(defun sum-by-category ()
  (cl-mongo:pp (cl-mongo:mr.p ($map-reduce "game" map_category sum_games))))

when I execute sum-by-category, it returns nil
RETRO-GAMES> (sum-by-category)

NIL
RETRO-GAMES>

but when I run the same code directly in the mongodb,
> db.game.mapReduce(map_category, sum_games, {out: "map_reduce_example"})
{
	"result" : "map_reduce_example",
	"timeMillis" : 6,
	"counts" : {
		"input" : 3,
		"emit" : 3,
		"reduce" : 1,
		"output" : 2
	},
	"ok" : 1,
}
> db.map_reduce_example.find()
{ "_id" : "Classic", "value" : 1 }
{ "_id" : "Strategy", "value" : 2 }

I can confirm exactly the same problem while reading "Lisp for the Web" :smiley:
Problem still seems to exist. I assume it's because of a change in mongodb as cl_mongo hasn't seen development in some time.  :disappointed:
If my lisp skills would be better I would have a look at the internals.


set initial system chat message for LHN preview

Details
Fixed Issues
$ https://github.com/Expensify/App/issues/43830
PROPOSAL: https://github.com/Expensify/App/issues/43830#issuecomment-2181227442
Tests
Precondition: Have an account haven't setup expensify

User A starts a new chat with a new User B (User B doesn't have an Expensify account).
User B open message link from email

Log in with a user who hasn't set up Expensify
Open Expensify chat from LHN
Verify default system chat message Welcome! Let's get you set up. is displayed in the LHN

[x] Verify that no errors appear in the JS console

Offline tests
QA Steps
Precondition: Have an account haven't setup expensify

User A starts a new chat with a new User B (User B doesn't have an Expensify account).
User B open message link from email

Log in with a user who hasn't set up Expensify
Open Expensify chat from LHN
Verify default system chat message Welcome! Let's get you set up. is displayed in the LHN

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/11959869/add8d66e-8619-491e-bdd9-a1089023a352

Android: mWeb Chrome
https://github.com/Expensify/App/assets/11959869/cd4aab39-18ed-440a-abec-3045d53a0456

iOS: Native
https://github.com/Expensify/App/assets/11959869/ee554c71-d857-4a5d-8a48-ea72a7660040

iOS: mWeb Safari
https://github.com/Expensify/App/assets/11959869/99ed716b-af1e-41c9-aa66-dab7fe9316ed

MacOS: Chrome / Safari

MacOS: Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/grgia in version: 9.0.5-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/grgia in version: 9.0.5-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 9.0.5-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.6-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


plots don't show

Hi!
I'm currently running into the oddity that the plots don't show?
I'm trying the example code from your pyviz page:
import pandas as pd, numpy as np
idx = pd.date_range('1/1/2000', periods=1000)
df  = pd.DataFrame(np.random.randn(1000, 4), index=idx, columns=list('ABCD')).cumsum()

import hvplot.pandas
df.hvplot()

and just get a white return line:

How can I debug this?
Versions:
hvplot: 0.4.0
notebook: 5.7.8
OS: CentOS 7.5
conda 3.7 env.

Oh, I also have the jlab extension installed, am I missing something still?
$ update_jupyterlab_extensions                                                                                (py37)
Node v11.14.0

Extension '@jupyterlab/git' already up to date
Extension '@jupyter-widgets/jupyterlab-manager' already up to date
Extension 'jupyter-matplotlib' already up to date
Extension '@jupyterlab/geojson-extension' already up to date
Extension '@jupyterlab/plotly-extension' already up to date
Extension '@jupyterlab/statusbar' already up to date
Extension '@jupyterlab/toc' already up to date
Extension '@jupyterlab/latex' already up to date
Extension '@jupyterlab/github' already up to date
Extension '@pyviz/jupyterlab_pyviz' already up to date
Extension '@jupyterlab/google-drive' already up to date
Extension 'jupyter-leaflet' already up to date
Extension 'dask-labextension' already up to date
Extension '@lckr/jupyterlab_variableinspector' already up to date

Any errors on your browser's console?

Hmm; works fine for me:

Oh yes! (It works fine on my Mac, btw):
On my remote linux server, I get errors about missing resources:

[removed server ip from screenshot]

Those errors don't seem related, none of them are required for pyviz stuff at least.

Was this resolved? We haven't been able to reproduce this even in large tutorials. Please reopen if you have any more details.

whatever it was, it works now. :/

For what its worth, if you start jupyter notebook from base environment and run hvplot by switching to another kernel (using ipykernel), you need to make sure bokeh libraries are installed in the base environment. That was the fix for my setup.

Also if you happen to have something that blocks javascript execution in your browser, the plots won't show...

That's probably not something a javascript-based plotting package can address! :-)

I know, I just put it here so someone who would be in this situation could find out this silly thing...

I met this problem one day. Whatever I change which kernel, base or my virtual kernel, the plot will not show. But I just refreshed the website (Press the keyboard F5), and the plot is shown again. It is amazing!

I met this problem one day. Whatever I change which kernel, base or my virtual kernel, the plot will not show. But I just refreshed the website (Press the keyboard F5), and the plot is shown again. It is amazing!

l cant :)

Can you please open a new issue @clf-1104 giving more details about your problem and environment?


Add custom data transformers

Today we have one datatransformer available for fields that are 100% numeric:

EMS\FormBundle\Components\DataTransformers\ForgivingNumberDataTransformer

The same DataTransformer should be created for alphanumeric fields:

EMS\FormBundle\Components\DataTransformers\ForgivingAlphaNumericDataTransformer

And this should be made extendeable so that we can add custom dataTransformers for specific custom fields.

Extendable in the same way as SubmissionHandlers and Validations can be added.

Extendable in the same way as SubmissionHandlers and Validations can be added.


Does not work in Safari.

I tried using https://sachinchoolur.github.io/ngclipboard/ in safari.
The console shows the error on (happens for cut/copy)
$scope.onError = function(e) {
        console.error('Action:', e.action);
    console.error('Trigger:', e.trigger);

    showTooltip(e.trigger, fallbackMessage(e.action));
}

This is a known limitation

This is a known limitation

How come the directive (which I assume is only a wrapper) limits Safari?
ClipboardJS itself is Safari compatible..,.

Seems to be fixed in the current version of Safari.

It may be worthwhile to update the README to indicate that this package now works with newer Safari versions. Unfortunately I do not know at which Safari version this was fixed; otherwise I'd make a PR.


Add content to the SFPUC website regarding different drain types

Jean is going to look into creating copy about the difference between drains that go into the combined sewer system and those that drain to the bay or ocean.
This educational copy will live on the SFPUC website where they already have information about the system.
Once we have icons and make necessary changes (see #38) to surface those differences, we will link users to that copy (and link folks back to adopt a drain) with some simple legends and labels on the popups. (e.g. "This drain goes to the bay or ocean - learn more")
@hackajesse do you know Jean's handle?

@jasonlally @jwalshie I think...
–
Jesse Biroscak
<EMAIL_ADDRESS>c.<PHONE_NUMBER>
[Li] [Tw]
On Wed, Dec 2, 2015 at 1:34 PM, Jason Lally<EMAIL_ADDRESS>wrote:

Jean is going to look into creating copy about the difference between drains that go into the combined sewer system and those that drain to the bay or ocean.
This educational copy will live on the SFPUC website where they already have information about the system.
Once we have icons and make necessary changes (see #38) to surface those differences, we will link users to that copy (and link folks back to adopt a drain) with some simple legends and labels on the popups. (e.g. "This drain goes to the bay or ocean - learn more")
@hackajesse do you know Jean's handle?
Reply to this email directly or view it on GitHub:
https://github.com/sfbrigade/adopt-a-drain/issues/66

@jeanwalshie This is the issue related to creating copy on the PUC website that describes the difference between drains and the importance of caring for a drain that goes to the ocean/bay.
Once you have a link, add it to this thread and then we can add it as a link where folks can learn more when adopting those types of drains.

http://sfwater.org/index.aspx?page=152
Check it out. I modified an existing page on our site with info about catch basins vs. storm drains. I'll continue to make edits to this page but the link will remain the same.

Great! We'll add this link to the interface after we have #100 in place. I'll leave this issue open until we do so and update the issue title to reflect the updated task.

Based on our conversation, I think the simplest thing to do will be to include the informational link on the info window for the ocean/bay drain types, in addition to indicating the drain types through the legend and on the map via the icon.

let's please use this link instead:  http://sfwater.org/index.aspx?page=399

we'll also need to add the storm drain icon to the legend. (i didn't see this specifically called out.)

@jasonlally reminder to push what you have when you have a moment. I can pick up from there.

@jszwedko - sorry it took me so long, I pushed today #119

No worries! I'll take a look.

Addressed by #119


Load Management

in it's current version, the web3function does not make any load management in case to much requests are sent between 2 task runs.

Fixed with event trigger refactor


libicui18n.so.48: cannot open shared object file

Hi everybody,
I tried to use this gem within my development environment (mac osx, installed icu4c from source), and everything worked just fine.
On staging environment, though, the gem installed fine, but whenever I run a rake task this is what i get:
libicui18n.so.48: cannot open shared object file: No such file or directory - /path/to/my/app/shared/bundle/ruby/1.9.1/gems/charlock_holmes-0.6.8/ext/charlock_holmes/charlock_holmes.so
I tried building the gem specifyng a path (I set it to the place where libicui18n.so.48 lives) as explained in the readme, but no luck :(
Does anyone know what's going on?
Thanks
Marco

What I don't understand is why the gem installation doesn't give errors even if i build it with a non existing path or with no path at all...
I tried :

bundle install
bundle config build.charlock_holmes --with-icu-dir=/usr/local/lib/icu/current; bundle install
bundle config build.charlock_holmes --with-icu-dir=/a/path/that/does/not/even/exist; bundle install

No one of those tries gave errors, but running rake tasks yielded the aforementioned error.
I even tried with different versions of icu (all compiled from source), but no luck...
ideas?

I was having this issue after upgrading from ubuntu 12 to 14 and what fixed it for me was to:

sudo rm -fr vendor/bundle
sudo -u git RAILS_ENV=production bundle install

Thanks @sebastianconcept. This worked for me.

Thanks @sebastianconcept.

Thanks @aberndsen   that helped me

spot on @sebastianconcept! :+1:
Thx a lot! ;-)

Thanks @sebastianconcept.

@sebastianconcept thank you. only your solution worked after upgradeing fom Debian7 to Debian8

@aberndsen thanks your comment solve my problem, the same symptom, upgrading ubuntu from 12.04 to 14.04.


Amplify Pull in a Bitbucket Pipeline

Which Category is your question related to?
amplify-cli
Amplify CLI Version
4.13.1
What AWS Services are you utilizing?
Almost everything :)
I'm not committing the aws-exports.js file to my repo, which causes the app to crash at build in a Bitbucket Pipeline.
I'd like to run Amplify pull in a "non-interactive" way, supplying credentials/options with the repo's environment variables.  I've read #3292, but I can't frankly tell if there's a solution there or not.
Further, this repo is for an app that is using another app's back-end.  there's been no amplify init run.  So I really only need the `aws-exports.js" file (which I'm thinking about adding to the repo, and making the repo private, if that's the only route).
Any advice is always appreciated 🌮 !

Try our Amplify Console service, you can connect it to the Bitbucket repo, it will provide the CICD for you.
https://us-west-2.console.aws.amazon.com/amplify/home?region=us-west-2#/

@kimfucious Closing this issue based on @UnleashedMind's response. Please let us know if you need further assistance or have more questions.

Thanks, @UnleashedMind for the docs.  Sorry for the delay in response, I got distracted by other things.  That link on headless pull were the docs I was looking for.
What I'm actually trying to do here is use CI/CD to run expo publish on a React Native app.  I got the idea from here.
I'll try that out.  Also, ignoring the current issues with Amplify Console's inability to create new environments when using auth configured with social auth providers and connecting to a public repo with team-provider-info.json excluded, I think I'll take a look at modifying the amplify.yml file and see if I can get Amplify Console to do something similar to what the aforementioned article describes.
It's a bit different, because expo publish puts the app bundles in S3, I believe, and their mobile client app, must use an API to pull the bundles down to the phone.  Frankly, I don't know enough yet to talk about this intelligently nor how "Amplify does React Native".
To clarify a bit further:

My current process is manual.
I've got NPM scripts for dev, staging, and prod.  These will first copy specific versions of app.json ( an expo related file) and aws-config.js (this is a copy of aws-exports.js) for the respective environments, and then run expo publish.
I'm testing the iOS app in Test Flight, and the app gets updated "OTA" when expo publish is run the the prod versions of app.json and aws-config.js

That's all probably more than you care/wanted to know, but I thought I'd share what I'm trying to accomplish, with the hopes of perhaps gleaning some valuable insight from you fine folks at Amplify!
Any docs toward automating this on AWS would be most appreciated as well.


Updated referenced docker images

Bumped postgres and nginx versions.
Removed the specific branch when cloning sync-endpoint (= this can be controlled by setting default branch on sync-endpoint repo)
Updated README.md

Hi @wbrunette - I've updated the checkout command to checkout the taketwo branch. This PR still targets the development branch of sync-endpoint-default-setup though - should we create an "updatejdk"-branch in this repo as well and redirect this PR to that?

a personal opinion, I think it's fine, evetntually all update-jdk branches will be moved to development as we will likely just have "development" and "main" but happy to have consistency though in the short term with the upgrade-jdk

Upon further testing I noticed some edits had to be made to db-bootstrap (encrypting stored password, updated 'timeout' command). @wbrunette: can we merge this to develop branch now?


not working

bot says started but does not work pls help

Be more specific, I have so little information that I have no clue where to even start.

I'm closing this issue because you've not provided any information.


Lint fixes / Demo0

One-by one syntax/lint fixes...

you can just fix all the demos at once I think

Also the triple equal rule is too strong. I use a == null to captured undefined too and that's the only place I use it.

Hm. Double equal is quite unsafe. It is better to be more explicit. If you want to capture undefined AND null, then it should be actully written like that =).
Will fix all demos, ok

Kinda used to it and Facebook internally allows it just fine. Don't worry, won't abuse it here.

Okay. Will update eslint config then.

(Is this done?)

Yep. Walked through all modules and lint report is nice and clean now.

Merging! Btw the style nits really have nothing to do with whatever "internal rules". Just got used to them personally and didn't want to juggle between them =)


Prefix not changing

config.txt file doen't work

Please use the bug report template, as this isn't nearly enough information to help you.

Please use the bug report template, as this isn't nearly enough information to help you.


feat(v2): default locale config

Motivation
In most situations, we shouldn't need to provide a i18n.localeConfigs because the locale direction and locale labels  can generally be inferred from the locale itself, considering it is compliant with BCP 47 locales and Node 14 Intl API is able to get language labels.
Also made it possible to run yarn start --locale fa even if fa is not in the config: it will just print a warning instead of throwing.
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
tests and v2 site

@longlho can you help review this please?

@slorber can you explain the use case a bit more? default locale has a lot of implication in terms of negotiation (e.g if I support en-US and you ask for en-GB technically I can fallback, but not the other way around).

@longlho default locale is just the one we use in priority if no locale is provided by the cli - - locale option, we don't have a fallback system for now


i dont know if its a problem on my side or the mod's but

Could you sent me the log of MSL and the .sml file you're using (Discord is fine) ?

Fix in the next release


promtool: rule update doesn't preserve escaping as needed

Bug Report
What did you do?
Converted 1.x rules to 2.x YAML format with promtool update rules.
What did you expect to see?
Working 1.x rules resulting in working 2.x rules.
What did you see instead? Under which circumstances?
A double-backslash in an annotation got reduced to single-backslash, while a double-backslash in an expr field was preserved.
This had the effect that the rule was invalid. The double-backslash in the annotation was from within a regexp in a template expression, which became invalid syntax.
Environment

System information:
Linux 4.4.0-138-generic x86_64

Prometheus version:
I used promtool 2.5.0, not Prometheus.

I am aware that we want to remove the update command anyway. However, I assume the code path to render rules as YAML is used elsewhere, too, and breaking escaping is problematic then, too.
@grobie That's what I referred to @gouthamve perhaps @grobie mentioned that to you.

Closing this as the update command is gone, and while trying to verify the same problem with the rendering on the Rules tab in the web UI, I could not reproduce the problem.


docs(discussion/form-vs-fetcher): fix user avatar details popup example filename

Update docs/discussions/form-vs-fetcher.md user avatar details popup example route filename to match the one referenced in the code.

Looks like there's a conflict in contributors.yml - do you mind getting that resolved?

@brophdawg11 should be resolved now, thanks for reviewing!


Support magic method init_subclass & class_getitem for extension class (PEP 487, 560)

#3518 supports to creating a generic Python class in Cython but extension class are still not available.
Same as the inheritance arguments support.
cdef class G:
    def __class_getitem__(cls, item):
        return cls

>>> G[int]
TypeError: __class_getitem__() takes exactly 1 positional argument (0 given)

cdef class G:
    def __class_getitem__(cls, *args):
        return cls

>>> G[int]
<class 'int'>

The generated code is incorrect:
static PyObject *xxx__class_getitem__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, CYTHON_UNUSED PyObject *__pyx_v_item);

Solution
Explicitly add @classmethod for the magic methods. (but actually not required)
cdef class G:
    @classmethod
    def __init_subclass__(cls, a=None, **kwargs):
        super().__init_subclass__(**kwargs)
        print(a)

    @classmethod
    def __class_getitem__(cls, items):
        return cls

>>> G[int]
<class 'xxx.G'>
>>> class A(G[int], a=60): pass
60

__init_subclass__ looks like a bit of a nightmare for cdef class - it'd probably work when you base a regular class from it, but basing another cdef class off I don't see how it could work. I'd be inclined to have Cython raise an error if you create __init_subclass__ for a cdef class rather than try to work around that inconsistency.
__class_getitem__ should probably work. PR welcome I suspect.


new division of the data set

How can I get the new division of the data set in the paper?

Thank you for your interest in our project. I guess you are referring to the NuScenes Boston Split. Someone else has raised the same question before [issue16](NuScenes Boston Split #16), and I have uploaded the code for generating the Boston split here.


[CMake] Remove unneeded include_directories

cc @compnerd @JDevlieghere @dcci

@swift-ci please test and merge


invalid syntax for having comments inside

Ran into this issue while I was messing around. Not a huge issue at all but thought that might as well report it just in case.
Having comments inside info and dict will result in invalid syntax.
This does not work:
info = [
#   [ Age,   'Name',   'Place' ]
    [ 26,    'Jack',   'River' ],
    [ 32,    'Riven',  'England' ],
]

dict = {
#   'Name':  'Job'
    'Jack':  'Unemployed',
    'Riven': 'League of Legends'
}

This does work:
#   [ Age,   'Name',   'Place' ]
info = [
    [ 26,    'Jack',   'River' ],
    [ 32,    'Riven',  'England' ],
]

#   'Name':  'Job'
dict = {
    'Jack':  'Unemployed',
    'Riven': 'League of Legends'
}

to be fixed soon

fixed https://github.com/pikasTech/PikaPython/commit/5da6b727e90080de0ab370a5375a073019d7ec54