Separate Dev and Prod -- Datacite

We need to make sure that our dev/prod environments use the corresponding datacite test/production endpoints to generate or update dois
Related to #154 and #119
Assumptions:

We have the prefix, account ID, and password for production DataCite in aws secrets
Backend terraform has been configured to grant secrets access to dev/prod requests appropriately

Acceptance Criteria
Given: Some metadata and a request for a DOI
When: hitting the garden dev api
Then: datacite test endpoint generates the doi
When: hitting the garden prod api
Then: real datacite generates the doi

update: all that's "blocking" this is putting the real datacite creds in aws secrets (the backend code is already in place), we've just decided we're not actually at the point of needing/wanting real DOIs quite yet

TODO: add this to a README somewhere so it's documented and we can closet this issue


:bug: New menu is not sorted alphabetically

fixed in https://github.com/equinor/fusion-project-portal/pull/647


empty thebibliography errors

An empty thebibliography environment, either in the main tex file or the bbl file, produces the error
! Package tagpdf Error: there is no open structure on the stack

Without tagging code loading you just get the usual warning
LaTeX Warning: Empty `thebibliography' environment on input line 12.

I'd say an error is not desirable since an author often starts writing a paper with \bibliography given but no \cite commands.
Example:
\DocumentMetadata
  {
    lang=en-US,
    pdfversion=2.0,
    pdfstandard=ua-2,
    testphase={phase-III,math,title,table,firstaid}
  }
\documentclass{article}

\begin{document}

text%\cite{inbook-full}

\bibliographystyle{amsalpha}
\bibliography{xampl}
%\begin{thebibliography}{9} % or this
%\end{thebibliography}

\end{document}

The problem is that the \endlist code tries to close structures that never have been opened as there is no  \item in the bibliography. One could fake an empty structure with
\DocumentMetadata
  {
    lang=en-US,
    pdfversion=2.0,
    pdfstandard=ua-2,
    testphase={phase-III,math,title,table,firstaid},
  }
\documentclass{article}
\makeatletter
\renewenvironment{thebibliography}[1]
     {\section*{\refname}%
      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}%
       \tagstructbegin{tag=LI}\tagstructbegin{tag=LBody}% start empty structure
       }%
      \endlist}
\begin{document}

\begin{thebibliography}{9} % or this
\end{thebibliography}

\end{document}

The (probably better) alternative would be to test in \__block_list_end:  if there is an open body/item to close.

Not clear to me, whether an empty list without items should be treatd as a list (with, say, vertical spacing being added before and after) or whether it should be treated as an error. In some sense it seems to me "error" is the right answer, but not low-level error.


add option to provide a custom output path

Could not run npm run lint
12:38:57 00:04 liip a 130 ~/Repositories/nuxt-graphql-middleware (feature/output-documents-folder+) $ npm run lint

><EMAIL_ADDRESS>lint
> eslint ./src

Oops! Something went wrong! :(

ESLint: 8.57.1

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/liip/Repositories/nuxt-graphql-middleware/playground/.nuxt/eslint.config.mjs' imported from /Users/liip/Repositories/nuxt-graphql-middleware/eslint.config.mjs
    at finalizeResolution (node:internal/modules/esm/resolve:257:11)
    at moduleResolve (node:internal/modules/esm/resolve:913:10)
    at defaultResolve (node:internal/modules/esm/resolve:1037:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:650:12)
    at #cachedDefaultResolve (node:internal/modules/esm/loader:599:25)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:582:38)
    at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:241:38)
    at ModuleJob._link (node:internal/modules/esm/module_job:132:49)

npm run typecheck produced lots of errors around #nuxt-graphql-middleware/generated-types
npm run test failed with Caused by: Error: Cannot find module './.nuxt/tsconfig.json'
npm run prettier worked :-)

All solved by running npm run dev:prepare first. Added a new markdown file to note this down for the future.


⚠ API - Lens has degraded performance

In bdf8f35, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 614 ms

Resolved: API - Lens performance has improved in d4274ff after 8 minutes.


malformed /etc/machine-id issue on kairos Alpine dérivatives

Context
Kairos Alpine derivative
as describe in polymorphic OCI OS images with Kairos : abcd Alpine Based Containerized os Derivative
Kairos version:
KAIROS_VERSION="v3.2.1"
CPU architecture, OS, and Version:
architecture : X86_64
OS kernel :

abcd4desktop run in live ISO mode in HVM : latest Alpine kernel : Linux locahost.localdomain 6.6.61-0-lts #1-Alpine SMP PREEMPT_DYNAMIC 2024-11-14 19:34:11 x86_64 Linux
abcdic4desktop run in sysbox/docker or podman container : docker/podman : any host kernel

Describe the bug
Some init startup steps don't succeed due to invalid /etc/machine-id file content
On Alpine (Openrc init Linux) ephemeral machine-id can be setup at startup running machine-id openrc script at boot runlevel. That doesn't succeed due to invalid non empty/etc/machine-id file`. That latter is single byte file containing  an 0xa (ASCII LF code ?).
Alpine /etc/init.d/machine-id openrc script
#!/sbin/openrc-run

# Copyright (c) Natanael Copa
# This code is licensed under BSD-2-Clause

description="Generate machine-id if needed"

depend() {
        need root dev
}

start() {
        if [ -s /etc/machine-id ] ; then
                return 0
        fi
        ebegin "Generating machine-id"
        dd if=/dev/urandom status=none bs=16 count=1 \
                | md5sum | cut -d' ' -f1 > /etc/machine-id
        eend $?
}

-s file condition at start() stands for non empty file. But found a single byte invalid file
To Reproduce
Launch machine-id openrc script at boot runlevel.
workaround
Delete /etc/machine-id file before rc-adding script at boot run level.
Excpected behaviour
An empty machine-id file in initial Alpine kairos image.
In kairos Dockerfile.kairos-alpine dockerfile, at stanza :
# Set empty machine-id
# This prevents systemd from thinking that the machine is on first boot
# and recreating /etc/ dependencies in services and such
# do this before initramfs so its in the initramfs

maybe replace
RUN echo "" > /etc/machine-id || true

by
RUN rm -f /etc/machine-id && touch /etc/machine-id || true

or
RUN printf "" > /etc/machine-id || true


Document and its steps are outdated and do not match

Document and its steps are outdated and do not match

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8f876156-cc1e-468f-4647-5143a5de03b1
Version Independent ID: 618f43a3-3371-ad99-13aa-087b9303298c
Content: Get started - Build and run your first app - Teams
Content Source: msteams-platform/build-your-first-app/build-and-run.md
Product: msteams
GitHub Login: @heath-hamilton
Microsoft Alias: lajanuar

@sthigale-m, Could you please  mention which steps you think are aren't matching?

For example, .publish folder does not get generated at all as mentioned in the steps.

Hi @sthigale-m--thanks for your help here. The docs were updated to reflect the latest toolkit updates in PR https://github.com/MicrosoftDocs/msteams-docs/pull/2285.

Hi @sthigale-m--thanks for your help here. The docs were updated to reflect the latest toolkit updates in PR https://github.com/MicrosoftDocs/msteams-docs/pull/2285.


Is there a way to update tab item title?

In my case, I need to show a number in the item title, and update them at some times.
It seems that currently there is no method to update the title easily?
For fixed width items it should be easily to be updated since no frame recalculation is needed?

Yes,no good method,only one but support badly.
You can reset titles property and then call -reloadData.
This method will remove all views, clear datas and add again.
(make sure that all array's count are correct :[ )
I will change some menuview's properties to datasource, so can help reload designated items.
It's in construction, coming soon.

@wangmchn That's too heavy for me. I'll create a fork to do some brute force way for myself only for now.
Thanks!

add a update method now......

but found a bug with porgressView if use - (void)updateTitle:(NSString *)title andWidth:(CGFloat)width atIndex:(NSInteger)index;
I will fix soon....

Thanks you very much for the quick response!

Mayby fixed now...

It works. Thanks.


added back in blue/green and canary

Please review and add back in?

Merged and deployed with the appropriate modifications (git commit message, required fixes). Thanks.


Slim support for Emmet-atom

Would it be possible to add slim support for emmet on atom? I saw that it was already implemented on sublime but cant seem to get it to work in atom.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/7898338-slim-support-for-emmet-atom?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github).

Another request for this, please. I'm new to Atom, if someone could explain how to go about implementing it otherwise, happy to do the leg work. Thanks.

I would love this! Another request as well please.

+1


Refactor TextSelectionGestureDetectorBuilderDelegate to not depend on RenderEditable's handleTapDown and handleSecondaryTapDown

This change removes TextSelectionGestureDetectorBuilderDelegate dependance on lastSecondaryTapDownPosition and lastTapDownPosition stored in RenderEditable. This is in preparation of #101151 which will not rely on the gesture state stored in RenderEditable, rather solely use the TapUpDetails/TapDownDetails given by the GestureRecognizers.
As a result of not using handleSecondaryTapDown and lastSecondaryTapDownPosition we move the onSecondaryTap logic to onSecondaryTapUp which has access to TapUpDetails with the globalPosition we need to render the context menu at that specified location. showToolbar and toggleToolbar also now have an optional parameter to display the toolbar at a specified location, where as before they displayed it at renderEditable.lastSecondaryTapDownPosition.
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

Closing for now.


Skip timestamp append by default

Turns out for busy repos the default timestamp costs quite a lot since cache gets dropped a lot, thus increasing build times.
Please consider setting append-timestamp to false by default.
I would expect a major release with it to save people any issues.
Also what was the purpose of the timestamp? Does it give any benefit I'm missing?

Can you show a comparison with and without this setting?

cache gets dropped a lot, thus increasing build times.

The setting controls how the ccache directory is up and dowloaded from github, not ccache itself. This has nothing todo with cache hits and misses in ccache.
All your questions are answered and discussed in the relevant issues and PRs, see
https://github.com/hendrikmuhs/ccache-action/pull/126 and https://github.com/hendrikmuhs/ccache-action/issues/117
As stated in https://github.com/hendrikmuhs/ccache-action/pull/126#issuecomment-1384816326 changing the default will break most existing workflows. This new setting is only useful for workflows that use their own logic for creating the cache key.

Can you show a comparison with and without this setting?

No, sorry. To busy to play around with it. But scenario is: multiple builds, up to 1GB for each build, multiple branches/PRs active at the same time.
Doing series of commits to a single branch creates new cache for each push, overflowing the GitHub cache (10GB limit).
Without timestamp existing caches are overwritten filling the limit more slowly.
Keep in mind each branch has a separate cache regardless of the key used.

The setting controls how the ccache directory is up and dowloaded from github, not ccache itself. This has nothing todo with cache hits and misses in ccache.

yeap, I'm talking about GitHub cache. Once over limit it will be removed resulting in lost potential.

All your questions are answered and discussed in the relevant issues and PRs, see
https://github.com/hendrikmuhs/ccache-action/pull/126 and https://github.com/hendrikmuhs/ccache-action/issues/117

Thank you for linking them. I missed them somehow.
So to summarize: timestamp is a result of someone on the internet using it for no apparent reason and you copying it?
Unless there's a real justification I suggest removing it.

changing the default will break most existing workflows

Probably it won't brake anything. Anyway, that's why I suggested adding it and releasing under new major version.

No need to get rude.
I am always open for suggestions. I am not willing to change something based on gut feelings. I gave you the answer, it clearly stated that overwriting with the same key has a race condition:

As stated in https://github.com/hendrikmuhs/ccache-action/pull/126#issuecomment-1384816326 changing the default will break most existing workflows. This new setting is only useful for workflows that use their own logic for creating the cache key.

The official documentation contains:

You cannot change the contents of an existing cache. Instead, you can create a new cache with a new key.

Nevertheless I merged the option to disable time-stamping for users that want more control and know what they are doing.

Sorry, wasn't trying to be rude, just direct.

based on gut feelings

IMO using timestamp seems to be a 'gut feeling' of someone. I'd love to be proven wrong.
Switched all my workflows to append-timestamp: false, I'll let you know if I run into any issues.

I merged the option to disable time-stamping

I appreciate that!

You cannot change the contents of an existing cache.

Yes, it's being overwritten instead.
Final note: Please include timestamp info in main README.md.

Happy to hear about your experience.
@vadz you indicated problems in https://github.com/hendrikmuhs/ccache-action/pull/126#issuecomment-1384816326, maybe you can share your experience, too.
I understand the documentation that every entry is immutable, further on the documentation describes that in case of an exact match, the creation of a new entry doesn't execute. But we want to create a new entry on every run, see Cache Hits and Misses.
Adding documentation and writing about this repeatedly coming up concern is still on my list. I did not find the time for it yet.

Maybe something has changed since January, but saving the cache under the same name definitely failed for me back then. I'll try to retest it again but won't be able to do it immediately.
FWIW I do agree that if not using timestamps works it should be the default.

Maybe something has changed since January, but saving the cache under the same name definitely failed for me back then. I'll try to retest it again but won't be able to do it immediately.

I just tested turning off timestamp and immediately got:
Failed to save: Unable to reserve cache with key ..., another job may be creating this cache. More details: Cache already exists
This was the first job after turning it off so there was no old existing cache without timestamp. However, looking at repo/actions/caches I can see a (new) cache without timestamp. It seems it was save after all.
Is there some other way we can fix this - that the cache space is used up too quickly? Maybe keep using timestamps but remove old caches (same key, older timestamp) automatically? Is that doable?

Thanks for letting us know! Seems the issue is still present.

Is there some other way we can fix this - that the cache space is used up too quickly? Maybe keep using timestamps but remove old caches (same key, older timestamp) automatically? Is that doable?

I would be very surprised if githubs cache does not handle that internally. Usually a cache works LRU-based, older cache entries should get evicted automatically when the cache space is full and a new entry is pushed. I think we should not try to optimize on that level.
However ccache has a lot of options besides the upper size, e.g. it is possible to evict entries on age, change compression, etc.

The reason I think we could do better than the default automatic eviction, is that as developers we know more about the selected workflow. It's not always true that the oldest cache should be evicted first. In a typical PR workflow, you would like to keep the cache for the PR as long as possible while multiple old caches for the master / main branch has no value. The point is that we are using up the space so fast that PR caches that we want to preserve is evicted.
I wonder if a new "replace-cache: true" setting could work? By replace, I mean after the new cache is saved with the new timestamp, older caches are deleted. I assume you can't delete the last cache for the same reason it failed to save when not appending timestamps.

Caches are separated by branch, however the resource budget is per repository. I hoped to find the eviction logic in action/cache, but that seems to be just the client component. So the exact eviction logic seems githubs secret(if anyone has other information, please let us know). Ideally it is not just deleting the oldest entry, but takes the branch name into account.
However we don't know and I don't like implementing something based on vague assumptions. It would be nice if someone who faces the problem can instrument it's CI, e.g. by listing the caches as described here. This would allow us to reverse-engineer the logic by seeing which caches github choose when evicting entries.
It still sounds wrong to me to try fix cache eviction from the client. When we have proof that something works wrong w.r.t. cache evictions we can also contact github to fix it server side.
FWIW ccache itself has some interesting options as well, e.g. the cache could be pruned by age after every run to keep the individual ccaches smaller.

Just for the record: We still struggle with this, that "wrong" caches are evicted, when there is a lot of activity in our mono repo. I think what happens is that long living PR loose their cache, because a lot of other (short lived) PRs are merged to master. We just spent our entire included minutes quota on two days. It normally takes over 20 ...
Assuming a lot of people use the PR workflow, fixing this should be useful for other people - not just us. To repeat myself: Is there some way we could avoid saving all these unnecessary caches for the main / master branch?

@hansfn do you limit the cache size?
This might help to prevent eviction. In addition I wonder if the --evict-older-than ccache option could help here. It should be possible to try this as part of your workflows and if it turns out useful integrate it into the action as another option.
The eviction itself isn't controlled by the action, so I don't see how this can be fixed in this repository.

To be honest: I don't understand what is going on. The action loads a cache, so it's not evicted, but ccache reports 100% miss. Any clues?

Is it possible that the compiler suite/binary changed due to an update of the base image?

I encountered this as well:
Post job cleanup.
ccache stats
Save cache using key "ccache-linux-gcc-test-no-PR-".
/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/vcmi/vcmi --files-from manifest.txt --use-compress-program zstdmt
Failed to save: Unable to reserve cache with key ccache-linux-gcc-test-no-PR-, another job may be creating this cache. More details: Cache already exists. Scope: refs/heads/develop, Key: ccache-linux-gcc-test-no-PR-, Version: 15c80211763d03468c2c9070680654f9264282cf4daa2c6ceac80f2e3eaeb295

I append the PR ID or "-no-PR" to the key so each PR uses its own cache so they don't interfere with each other. Of course this leads to a huge cache (~100 GB) and to avoid that the cache of older PRs gets evicted because newer PRs have a bunch of timestamped caches, I wanted to use append-timestamp: false
    # ensure the ccache for each PR is separate so they don't interfere with each other
    # fall back to ccache of the vcmi/vcmi repo if no PR-specific ccache is found
    - name: Ccache for PRs
      uses<EMAIL_ADDRESS>      if: ${{ github.event.number != '' }}
      with:
        key: ${{ matrix.preset }}-PR-${{ github.event.number }}
        restore-keys: |
          ${{ matrix.preset }}-PR-${{ github.event.number }}
          ${{ matrix.preset }}-no-PR
        max-size: "5G" # actual cache takes up less space, at most ~1 GB
        verbose: 2
        append-timestamp: false

    - name: Ccache for everything but PRs
      uses<EMAIL_ADDRESS>      if: ${{ github.event.number == '' }}
      with:
        key: ${{ matrix.preset }}-no-PR
        restore-keys: |
          ${{ matrix.preset }}-no-PR
        max-size: "5G" # actual cache takes up less space, at most ~1 GB
        verbose: 2
        append-timestamp: false

Thanks a lot for replying, @hendrikmuhs. Yes, we limit cache size as much as we can. (Typically 2-300 MB.)

Is it possible that the compiler suite/binary changed due to an update of the base image?

No, we compile using our own Docker image.


Tooltip: Update a11y checks to narrow down the interactive elements to a more specific list

Describe your changes here.
Closes # (type the issue number after # if applicable; otherwise remove this line)
Screenshots
Please provide before/after screenshots for any visual changes
Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

Sorry, I was keeping it open for a reference but this PR was created to address issues to introduce the Tooltip accessibility remediations as a part of a minor release but since we decided to release it as an experimental component (GitHub stuff only link) - this PR is not relevant anymore. I'm closing it.


[Chore] Clean up unused Run icons

I think this was posted somewhere already but can't find the issue or PR.
Anyways - we should remove un-used WOX icons from Run:

Oh, found it: #10056


GCP CIS Benchmark Security Rules

Develop the security rules for GCP. This work has already been started.
https://github.com/openraven/cspm-kb/blob/main/policies/cis_gcp_foundations_benchmark.yaml
https://www.cisecurity.org/blog/new-cis-benchmark-for-google-cloud-computing-platform/

Intermediate testing for GCP rule 3.6
Ensure that there is no rule matching the below criteria:
 SOURCE_RANGES is <IP_ADDRESS>/0
 AND DIRECTION is INGRESS
 AND IPProtocol is tcp or ALL
 AND PORTS is set to 22 or range containing 22 or Null (not set)


BUG: group_shift_indexer checks for null group keys

[x] closes #13813
[x] tests added / passed
[x] passes git diff upstream/master | flake8 --diff
[x] whatsnew entry

Upon further consideration I came to the conclusion that the FIX could also have looked like this:
...
                # Skip null keys
                if lab == -1:
                    out[ii] = -1
                    continue
...

Now, this raises the question of how groups with partially missing keys should be handled:

either partial matching of group keys is used, in which case the -1 in labels should be converted to proper group identifiers (use get_group_index with xnull=False in _get_compressed_labels);
or the incomplete keys are ignored (like in nunique(), value_counts()), and specifically in shift() are filled with missing values.

What do you think, @jreback?

Current coverage is 85.23% (diff: 100%)

Merging #13819 into master will increase coverage by <.01%

@@             master     #13819   diff @@
==========================================
  Files           140        140
  Lines         50420      50420
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          42974      42976     +2
+ Misses         7446       7444     -2
  Partials          0          0

Powered by Codecov. Last update 31f8e4d...92035f8

pls add some tests

Ok, I will make a concise test and add it to test_groupby.py.

Note that the file you're editing is from a template, you will need to make the change here:
https://github.com/pydata/pandas/blob/master/pandas/src/algos_groupby_helper.pxi.in
I think your second approach is correct (or at least consistent) - in fact the current impl seems to handle it?
In [1]: pd.__version__
Out[1]: u'0.18.1'

In [2]: df = pd.DataFrame([(i%12, i%3 if i%3 else float("nan"), i)
   ...:                    for i in range(17)], dtype=float,
   ...:                   columns=["B", "C", "F"], index=None)

In [3]: df.groupby(['B', 'C']).shift(-1)
Out[3]:
       F
0    NaN
1   13.0
2   14.0
3    NaN
4   16.0
5    NaN
6    NaN
7    NaN
8    NaN
9    NaN
10   NaN
11   NaN
12   NaN
13   NaN
14   NaN
15   NaN
16   NaN

Can somebody tell me what my actions should be when the Travis CI job #21159 of this PR fails, whilst the build job for the same commit on my forked (and rebased) repository succeeded.

@ivannz Something went wrong with that build, but probably not your fault. I restarted the build

Great! Thank you, @jorisvandenbossche .

thanks @ivannz


Shell and Blazor Navigation

Implemented Navigation using Xamarin Forms Shell and Blazor @page Directives.
Fixes #86
The core of this feature is the ShellNavigationManager, which wraps Xamarin Forms Shell and allows navigation using an API based on Blazor web navigation.
API Summary

ShellNavigatonManager is added as a service using Dependency injection in App.cs
ShellNavigatonManager is accessed in pages using @inject as you would in Blazor Web
Routes are declared using @page "/url" as in Blazor Web
Navigate by calling NavigationManager.NavigateToAsync("/url"). this is similar to Blazor Web but is async.

Solution Changes

Added ShellNavigationManager and a few supporting classes and methods.
Added unit test project. It only has a couple of tests so far
Updated Xaminals Sample to use new navigation including using string parameter in url for animal name.
Added Control Gallery app, the intention of this is an app to test all features without any pretense of being a reasonable app sample.

Known issues
There is a file called KnownIssues.md in the ShellNavigation folder. This contains issues that will require further investigation in the future but aren't blockers to prevent this being merged. I'm happy to turn these into separate github issues if that will be easier to manager.
Documentation
I've opened a draft PR in the docs repo https://github.com/MicrosoftDocs/mobile-blazor-bindings/pull/26

@Eilon I think this is ready for merging now. Can you please take a look please and let me know if you want anything changed?

😮 😮 😮
Will look today! This is awesome!!!

And a docs PR, wow!

I've just pushed with all these changes implemented. Thanks.

I'll have another look, thank you for the quick response!

BTW looks like maybe some of my comments were missed? Maybe because GitHub hides the "middle" comments and you have to expand?

BTW when I start up Xaminals for iOS I get this startup exception, which seems to get swallowed:
System.ArgumentException
  Message=unable to figure out route for: //D_FAULT_ShellContent2
Parameter name: uri

 	0x68 in Xamarin.Forms.ShellUriHandler.GetNavigationRequest at D:\a\1\s\Xamarin.Forms.Core\Shell\ShellUriHandler.cs:100,5	C#
 	0x71 in Xamarin.Forms.Shell.<Initialize<Initialize>g__SetCurrentItem|118_1>d at D:\a\1\s\Xamarin.Forms.Core\Shell\Shell.cs:794,7	C#
 	0x33 in System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start<Xamarin.Forms.Shell.<<Initialize>g__SetCurrentItem|118_1>d> at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:84,17	C#
 	0x25 in Xamarin.Forms.Shell.<Initialize>g__SetCurrentItem|118_1	C#
 	0x1 in Xamarin.Forms.Shell.<Initialize>b__118_0 at D:\a\1\s\Xamarin.Forms.Core\Shell\Shell.cs:774,5	C#
 	0x7C in Xamarin.Forms.ShellElementCollection.OnVisibleItemsChanged at D:\a\1\s\Xamarin.Forms.Core\Shell\ShellElementCollection.cs:58,4	C#
 	0x1B in System.Collections.ObjectModel.ObservableCollection<Xamarin.Forms.ShellItem>.OnCollectionChanged at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/System.ObjectModel/src/System/Collections/ObjectModel/ObservableCollection.cs:263,21	C#
 	0x9 in System.Collections.ObjectModel.ObservableCollection<Xamarin.Forms.ShellItem>.OnCollectionChanged at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/System.ObjectModel/src/System/Collections/ObjectModel/ObservableCollection.cs:338,13	C#
 	0x2A in System.Collections.ObjectModel.ObservableCollection<Xamarin.Forms.ShellItem>.RemoveItem at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/System.ObjectModel/src/System/Collections/ObjectModel/ObservableCollection.cs:182,13	C#
 	0x29 in System.Collections.ObjectModel.Collection<Xamarin.Forms.ShellItem>.Remove at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/Common/src/CoreLib/System/Collections/ObjectModel/Collection.cs:128,13	C#
 	0x23 in System.Collections.ObjectModel.Collection<Xamarin.Forms.ShellItem>.System.Collections.IList.Remove at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/Common/src/CoreLib/System/Collections/ObjectModel/Collection.cs:371,17	C#
 	0x2A in Xamarin.Forms.ShellElementCollection.Removing at D:\a\1\s\Xamarin.Forms.Core\Shell\ShellElementCollection.cs:169,6	C#
 	0x5F in Xamarin.Forms.ShellElementCollection.InnerCollectionChanged at D:\a\1\s\Xamarin.Forms.Core\Shell\ShellElementCollection.cs:158,5	C#
 	0x1A8 in Xamarin.Forms.ObservableWrapper<Xamarin.Forms.Element,Xamarin.Forms.ShellItem>.ListOnCollectionChanged at D:\a\1\s\Xamarin.Forms.Core\ObservableWrapper.cs:203,6	C#
 	0x1B in System.Collections.ObjectModel.ObservableCollection<Xamarin.Forms.Element>.OnCollectionChanged at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/System.ObjectModel/src/System/Collections/ObjectModel/ObservableCollection.cs:263,21	C#
 	0x9 in System.Collections.ObjectModel.ObservableCollection<Xamarin.Forms.Element>.OnCollectionChanged at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/System.ObjectModel/src/System/Collections/ObjectModel/ObservableCollection.cs:338,13	C#
 	0x2A in System.Collections.ObjectModel.ObservableCollection<Xamarin.Forms.Element>.RemoveItem at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/System.ObjectModel/src/System/Collections/ObjectModel/ObservableCollection.cs:182,13	C#
 	0x29 in System.Collections.ObjectModel.Collection<Xamarin.Forms.Element>.Remove at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/external/corefx/src/Common/src/CoreLib/System/Collections/ObjectModel/Collection.cs:128,13	C#
 	0x46 in Xamarin.Forms.ObservableWrapper<Xamarin.Forms.Element,Xamarin.Forms.ShellItem>.Remove at D:\a\1\s\Xamarin.Forms.Core\ObservableWrapper.cs:94,4	C#
 	0x7 in Xamarin.Forms.ShellElementCollection<Xamarin.Forms.ShellItem>.Remove at D:\a\1\s\Xamarin.Forms.Core\Shell\ShellElementCollection.cs:297,54	C#
>	0x12 in Microsoft.MobileBlazorBindings.Elements.Handlers.ShellHandler.ClearDummyChild at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings\Elements\Handlers\ShellHandler.cs:54,13	C#
 	0x16 in Microsoft.MobileBlazorBindings.Elements.Handlers.ShellHandler.AddChild at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings\Elements\Handlers\ShellHandler.cs:67,13	C#
 	0x98 in Microsoft.MobileBlazorBindings.MobileBlazorBindingsElementManager.AddChildElement at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings\MobileBlazorBindingsElementManager.cs:46,13	C#
 	0x19 in Microsoft.MobileBlazorBindings.Core.ElementManager<Microsoft.MobileBlazorBindings.IXamarinFormsElementHandler>.AddChildElement at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings.Core\ElementManagerOfElementType.cs:25,13	C#
 	0xAF in Microsoft.MobileBlazorBindings.Core.NativeComponentAdapter.InsertElement at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings.Core\NativeComponentAdapter.cs:277,17	C#
 	0x4A in Microsoft.MobileBlazorBindings.Core.NativeComponentAdapter.ApplyPrependFrame at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings.Core\NativeComponentAdapter.cs:187,25	C#
 	0x98 in Microsoft.MobileBlazorBindings.Core.NativeComponentAdapter.ApplyEdits at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings.Core\NativeComponentAdapter.cs:69,25	C#
 	0x5A in Microsoft.MobileBlazorBindings.Core.NativeComponentRenderer.UpdateDisplayAsync at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings.Core\NativeComponentRenderer.cs:84,17	C#
 	0x7C in Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue	C#
 	0x19 in Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessPendingRender	C#
 	0x37 in Microsoft.AspNetCore.Components.RenderTree.Renderer.AddToRenderQueue	C#
 	0x1A in Microsoft.AspNetCore.Components.RenderHandle.Render	C#
 	0x2C in Microsoft.AspNetCore.Components.ComponentBase.StateHasChanged	C#
 	0x26 in Microsoft.AspNetCore.Components.ComponentBase.CallOnParametersSetAsync	C#
 	0xC3 in Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync	C#
 	0x33 in System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<Microsoft.AspNetCore.Components.ComponentBase.<RunInitAndSetParametersAsync>d__20> at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:316,17	C#
 	0x27 in Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync	C#
 	0x18 in Microsoft.AspNetCore.Components.ComponentBase.SetParametersAsync	C#
 	0x4F in Microsoft.AspNetCore.Components.Rendering.ComponentState.SetDirectParameters	C#
 	0x41 in Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderRootComponentAsync	C#
 	0x33 in System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<Microsoft.AspNetCore.Components.RenderTree.Renderer.<RenderRootComponentAsync>d__21> at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:316,17	C#
 	0x37 in Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderRootComponentAsync	C#
 	0x7 in Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderRootComponentAsync	C#
 	0xEB in Microsoft.MobileBlazorBindings.Core.NativeComponentRenderer.<>c__DisplayClass11_0.<AddComponent<AddComponent>b__0>d at C:\GitHub\Emblazon\src\Microsoft.MobileBlazorBindings.Core\NativeComponentRenderer.cs:73,17	C#
 	0x33 in System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Microsoft.AspNetCore.Components.IComponent>.Start<Microsoft.MobileBlazorBindings.Core.NativeComponentRenderer.<>c__DisplayClass11_0.<<AddComponent>b__0>d> at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:471,17	C#
 	0x27 in Microsoft.MobileBlazorBindings.Core.NativeComponentRenderer.	C#
 	0x1A in Xamarin.Forms.Device.<>c__DisplayClass40_0<Microsoft.AspNetCore.Components.IComponent>.<InvokeOnMainThreadAsync<InvokeOnMainThreadAsync>b__0>d at D:\a\1\s\Xamarin.Forms.Core\Device.cs:139,7	C#
 	0x33 in System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start<Xamarin.Forms.Device.<>c__DisplayClass40_0<Microsoft.AspNetCore.Components.IComponent>.<<InvokeOnMainThreadAsync>b__0>d> at /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:84,17	C#
 	0x25 in Xamarin.Forms.Device.<>c__DisplayClass40_0<Microsoft.AspNetCore.Components.	C#
 	0x6 in Foundation.NSAsyncActionDispatcher.Apply at /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/Foundation/NSAction.cs:152,5	C#
 	0x66 in UIKit.UIApplication.UIApplicationMain	C#
 	0xB in UIKit.UIApplication.Main at /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:86,4	C#
 	0x11 in UIKit.UIApplication.Main at /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:65,5	C#
 	0x8 in MobileBlazorBindingsXaminals.iOS.Application.Main at C:\GitHub\Emblazon\samples\MobileBlazorBindingsXaminals\MobileBlazorBindingsXaminals.iOS\Main.cs:15,13	C#

But I'm not sure if this is related to your change. You can see it by launching it from VS and catching all CLR exceptions.
This is where it's called from in MBB's ShellHandler.cs code:
        private bool ClearDummyChild()
        {
            // Remove the dummy ShellContent if it's still there. This won't throw even if the item is already removed.
            return ShellControl.Items.Remove(_dummyShellContent);
        }

@lachlanwgordon keep the good stuff coming! If you have an update, I will take another look tonight.

BTW looks like maybe some of my comments were missed? Maybe because GitHub hides the "middle" comments and you have to expand?

Middle truncation? Didn't see that one coming. Taking a look at them now.

@lachlanwgordon keep the good stuff coming! If you have an update, I will take another look tonight.

Next update will be through shortly.

@Eilon I've made all the changes you've suggested. For all the changes that were simple I've marked the conversation as resolved.
Can you take a look at my comments on ComponentExtensions and let me know if you're happy with my changes or if it needs more attention?
That shell exception that is logged on startup is unrelated to the navigation manager and already existed so I've made a new issue for it.

Thanks for suggestions, I've fixed and pushed.

OK then I'm pretty sure this will be good to go!!!!! I will do a final review tonight or tomorrow and get it merged!!! This is so AWESOME!!!

OK here's a weird one. I actually ran the tests you wrote. Yay, tests! 😄
All the ones that ran did in fact pass. Woohoo!
But weirdly, the ones that use [TestCaseSource(...)] don't run! The VS runner gets some weird NullRef:
...
[8/3/2020 5:16:32.270 PM] ========== Test run finished: 0 Tests run in 13.7 ms (0 Passed, 0 Failed, 0 Skipped) ==========
[8/3/2020 5:16:32.583 PM] Trying to update view -2003848501
[8/3/2020 5:16:32.583 PM] Updating view -2003848501
[8/3/2020 5:16:32.587 PM] System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.VisualStudio.TestWindow.Internal.TestWindowViewModel.<>c.<QueueDetailsUpdate>b__93_1(ITestNode n)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Collections.Immutable.ImmutableHashSet`1.Union(IEnumerable`1 other, MutationInput origin)
   at System.Collections.Immutable.ImmutableHashSet`1.Union(IEnumerable`1 items, Boolean avoidWithComparer)
   at System.Collections.Immutable.ImmutableHashSet`1.Union(IEnumerable`1 other)
   at System.Collections.Immutable.ImmutableHashSet.ToImmutableHashSet[TSource](IEnumerable`1 source, IEqualityComparer`1 equalityComparer)
   at Microsoft.VisualStudio.TestWindow.Internal.TestWindowViewModel.<<QueueDetailsUpdate>b__93_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.TestWindow.Utilities.EventPumpExtensions.<>c__DisplayClass4_0`1.<<EnqueueAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.TestWindow.Extensibility.ILoggerExtensions.<CallWithCatchAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

It might be some known issue https://github.com/microsoft/PTVS/issues/6150.
But I'm wondering, can you confirm whether the tests in fact run on your machine?
Here's what Test Explorer shows:

And running dotnet test from the command line also runs only 18 tests even though there are 20 total (2 of them are the TestCaseSource ones).

And running dotnet test from the command line also runs only 18 tests even though there are 20 total (2 of them are the TestCaseSource ones).

This is an issue in nunit3-vs-adapter where it will show "ghost" tests when using TestCaseSource. See https://github.com/nunit/nunit3-vs-adapter/issues/775, it only affects the Visual Studio Test Explorer and the command line result of only finding 18 tests is the correct/intended behaviour.
As a work around you can turn off "Discover tests in real time from C# and Visual Basic .NET source files" and the "ghost tests" will disappear from the list. That feature is quite useful though so I prefer to leave it turned on and ignore the blue exclamation marks.

Ah so those ghost tests aren't really tests?

Oh I see, the individual test cases show up for each "line item" and then the test method erroneously shows up.

Oh I see, the individual test cases show up for each "line item" and then the test method erroneously shows up.

Exactly, [TestCaseSource]s are a bit different to normal [Test]s and they confused me (and apparently Visual Studio) at first but now I love them.

THIS. IS. MERGED.
!!!!!!!!!
 I left in the "Added monkey navigation" comment in the commit because I want people in the future to be awfully confused about what transpired on this day 😄


Optimize data loading (saves ~1ms per step on my runs)

A minor change, but I'm raising a PR so more people can double check it
Changelogs:

Directly casts into np.int64 instead of casting to np.int32 first then to torch.long
Sets pin_memory=True so that data would be loaded directly into the GPU without going thru the CPU first
Loads data to CUDA asynchronously

I could also add prefetching and such... but that would be overkill

nvm, it might even be making things worse
closing for now...


Formatting struct with trailing comment is not idempotent

I am working with with trailing_comma = "Never" set in a rustfmt.toml config, running the nightly rustfmt, and find the following idempotency issue. My understanding is that instead of the following behavior, rustfmt should fully format the code once and not change on future executions.
Starting with the code:
struct Foo {
    field1: usize,
    field2: usize,
    // TODO: maybe we add more fields below
}

Calling rustfmt the first time gives
struct Foo {
    field1: usize,
    field2: usize
    // TODO: maybe we add more fields below
}

Calling rustfmt the second time gives
struct Foo {
    field1: usize,
    field2: usize // TODO: maybe we add more fields below
}

All subsequent calls leave it in this final state.
My rustfmt version is rustfmt 1.4.37-nightly (8cf990c 2021-05-15)

I'm also not sure whether moving the comment to the line above is the intended formatting behavior. I would have expected standalone comments to be kept on their own line, but perhaps this is intentionally not the case for comments within structs?

My understanding is that instead of the following behavior, rustfmt should fully format the code once and not change on future executions

You are correct. Idempotency is a core tenant of rustfmt and non-idempotent formatting behavior is indeed a bug.
For some reason I feel like this is a duplicate but will keep it open unless I find a previous report.

I would have expected standalone comments to be kept on their own line, but perhaps this is intentionally not the case for comments within structs?

tl;dr comments are hard :smile:
rustfmt is an AST-driven/pretty-printer style formatter, where comments are not explicitly represented within the tree so rustfmt has to peek back inside the source to recover comments and determine where to place them within the reformatted version of code. However, it can often be ambiguous which node the developer intended the comment to be associated to.
In the case of a comment that follows an element in a list like this (fields within a struct) the absence of a comma between the end of the element and start of a comma has always been interpreted as a trailing comment which works well except in some cases where the trailing comment is after the last element, as in your examples.
That behavior has been reported previously (refs #4654) and probably isn't too terribly far away from resolution, although the associated PR stalled out.

Hey @calebcartwright I've been looking into this and found that the issue sort of has to do with whether you're using trailing_comment=Never vs trailing_comment=Always, but I think it mostly has to do with rustfmt preserving newlines whether the original source code already has a trailing comma or not.
Maybe that's obvious based on the example, but I think the point helps us better understand the issue so I'm mentioning it. From my understanding, the source of the bug can be tracked to line 615 in lists::extract_post_comment.
https://github.com/rust-lang/rustfmt/blob/365a2f8f6e710f67d6485fe9004bb3f64da977bc/src/lists.rs#L607-L628
Given the first struct:
struct Foo {
    field1: usize,
    field2: usize,
    // TODO: maybe we add more fields below
}

the post_snippet  passed to lists::extract_post_comment is ,\n    // TODO: maybe we add more fields below    } and code execution hits line 617. rustfmt preserves the newline because the white_space array doesn't contain newlines and outputs:
struct Foo {
    field1: usize,
    field2: usize
    // TODO: maybe we add more fields below
}

Running rustfmt again with trailing_comma=Never results in a post_snippet of \n    // TODO: maybe we add more fields below    } (Note: no leading ,). When we trim the post_snippet on line 615 this time around we lose the newline and rustfmt ultimately outputs:
struct Foo {
    field1: usize,
    field2: usize // TODO: maybe we add more fields below
}

Right now I'd like some guidance on what the right behavior should be. Do we preserve newlines or not? I quickly tested a solution where newlines were preserved and one where newlines were always removed and it looks like either way tests are going to break. looks like #4655 also ran into issues of tests breaking when trying to fix this.

Going to close this in favor of #4848


How to let then client reuse http connection?

Elasticsearch version: V8.11.0
go-elasticsearch/v8
I have successfully set up Elasticsearch on my local machine using Docker. To create a client, I have set the MaxIdleConnsPerHost parameter to 10. Now, I am indexing documents using the bulk API. Since there are a large number of documents, it may take some time to complete the process.
func NewClientV8(ctx context.Context) *elasticsearch.Client {
	cert, err := ioutil.ReadFile("http_ca.crt")
	if err != nil {
		log.Fatalf("Failed to load certificate: %v", err)
	}

	certPool := x509.NewCertPool()
	certPool.AppendCertsFromPEM(cert)

	cfg := elasticsearch.Config{
		Addresses: []string{
			"https://localhost:9200",
		},
		Username: "elastic",
		Password: "bghCDHWKJknLrkr+8ZMF",
		Transport: &http.Transport{
			MaxIdleConnsPerHost: 20,
			TLSClientConfig: &tls.Config{
				RootCAs: certPool,
			},
		},
	}

	es, err := elasticsearch.NewClient(cfg)
	if err != nil {
		log.Fatalf("Error creating the client: %s", err)
		return es
	}

	res, err := es.Info()
	if err != nil {
		log.Fatalf("Error getting response: %s", err)
	}
	defer res.Body.Close()

	log.Println(res)
	return es
}

func (*ES8) Bulk(ctx context.Context, docs []BulkRequest) error {

	bulkRequestBody := strings.Builder{}
	for _, doc := range docs {
		metaData := fmt.Sprintf(`{ "index" : { "_index" : "%s", "_id" : "%s" } }%s`, index, doc.Id, "\n")
		docData, err := json.Marshal(doc.Doc)
		if err != nil {
			log.Printf("Error marshaling document: %v", err)
			continue
		}
		bulkRequestBody.WriteString(metaData)
		bulkRequestBody.Write(docData)
		bulkRequestBody.WriteString("\n")
	}

	// Send the bulk request
	req := esapi.BulkRequest{
		Index:   index,
		Body:    strings.NewReader(bulkRequestBody.String()),
		Refresh: "true",
		Pretty:  true,
	}
	res, err := req.Do(context.Background(), es)
	if err != nil {
		log.Fatalf("Error performing bulk request: %s", err)
		return err
	}
	defer res.Body.Close()

	// if res.IsError() {
	// 	log.Printf("Error[%s]: %s", res.Status(), res.String())
	// } else {
	// 	log.Println("Bulk insert successful", res.String())
	// }
	return nil
}

Initially, it worked perfectly fine. However, at the end, I encountered an error message: Error performing bulk request: read tcp <IP_ADDRESS>:50989-><IP_ADDRESS>:9200: read: connection reset by peer.
And i found the http connections is increasing at the process.

Does the client reuse the http connections default? If it does not, how could let it reuse? Thanks for your reply!

I have found another similar issue https://github.com/elastic/go-elasticsearch/issues/123. The root cause is that i close the response's body but not read body content.
I added one line code res.String() and the problem is resolved. I will close the issue.

I have found another similar issue https://github.com/elastic/go-elasticsearch/issues/123. The root cause is that i close the response's body but not read body content.
I added one line code res.String() and the problem is resolved. I will close the issue.


XSS: WAF on Azure Application gateway

Describe the bug
We are using WAF rule (OWASP CRS 3.0) on Azure Application gateway.
But we face something wierd situation.
We got an answer from Microsoft support, they said I need to confirm this with you.
It seems below is affected a rule id = 941100 (XSS Attack Detected via libinjection) on it.
Do you have any comment or suggestion on this?
Steps to reproduce
HTML

ng: https://www.AAAAA.co.jp/lp/on_client3.html?a=a
-> message: [GET https://www.AAAAA.co.jp/lp/test.css net::ERR_ABORTED 403 (ModSecurity Action)]

this css is not read as 403.
ok: https://www.AAAAA.co.jp/lp/on_client3.html
ok: https://www.AAAAA.co.jp/lp/off_client3.html
ok: https://www.AAAAA.co.jp/lp/off_client3.html?a=a

need to clear browser cache every time
on_client3.html and off_client3.html are same HTML as above.

NG cases are:

file name is always started with "on".
url parameter is attached

Your Environment
WAF rule (OWASP CRS 3.0) on Azure Application gateway

Thank you for that information.
Is there any additional information available about which variable matched? For example, I was hoping to see a log line like the following:
"data": "Matched Data: https://www.AAAAA.co.jp/lp/on_client3.html?a=a found within REQUEST_HEADERS:Referer: https://www.AAAAA.co.jp/lp/on_client3.html?a=a"
Because the matched data is a full URL, I'm 90% sure that the Referer HTTP header was the cause of your false positive. It would be nice to be certain of that, though.

Let us assume that the Referer header is the issue. You have two options to resolve this issue.
Option 1
Are you running your WAF at paranoia level 1? If so, you could resolve this issue by using a newer version of the Core Rule Set. This issue is resolved in CRS version 3.0.1 and later. (The detectXSS operator can cause many false positives when it checks the Referer header. This action is likely the cause of your issue. This action was moved to paranoia level 2 in CRS version 3.0.1.)
Option 2
If you cannot use a more recent CRS version then you could instead use a rule exclusion. You could exclude the Referer header from being processed by the offending rule, rule 941100. You could use a rule exclusion like the following:
SecRuleUpdateTargetById 941100 "!REQUEST_HEADERS:Referer"

This is how the rule exclusion would ordinarily be applied in a configuration file, for example with Apache. There may be an Azure-specific way to achieve this through the Azure web UI, however.

Hi @RedXanadu
Thank you for your comment and suggestion.
We are using WAF rule (OWASP CRS 3.0) on Azure Application gateway.
it means I think we are running WAF at paranoia level 1.
But I can not see newer CRS version on Azure Application gateway which we are using..
I will check if we will use newer CRS version on Azure Application gateway.
Anyway, thank you for your kind help!

@RedXanadu
Thanks for your kindness.
As far as I checked, If we want to use CRS 3.1 on Azure Application gateway, we need to re-create Application gateway and attached it.
I will talk with my team if we could upgrade Application gateway, or take easy solution (disable rule 941100).
close with comment for now... thank you.


Dockerize app

This Dockerfile can be used to dockerize the app. It also takes care of port mapping so that the container's port 3000 corresponds with the host's port 3000. At the moment it doesn't work as it crashes during compilation due to the cannot find Python.h error mentioned this morning so I couldn't fully test it but I see no reason why it wouldn't work once that is fixed as I have used this approach before.

Actually now it is crashing at a different point during compilation:
[ 42%] Building CXX object ccp4srs/CMakeFiles/ccp4srs.dir/__/checkout/ccp4srs/ccp4srs/memio_.cpp.o
/opt/ccp4_wasm/checkout/ccp4srs/ccp4srs/memio_.cpp:40:10: fatal error: 'zlib.h' file not found
#include <zlib.h>
         ^~~~~~~~
1 error generated.
em++: error: '/opt/emsdk/upstream/bin/clang++ -target wasm32-unknown-emscripten -fignore-exceptions -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -DEMSCRIPTEN -I/opt/emsdk/upstream/emscripten/cache/sysroot/include/SDL --sysroot=/opt/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -I/opt/ccp4_wasm/ccp4srs/. -I/opt/ccp4_wasm -I/opt/ccp4_wasm/ccp4srs -I/opt/ccp4_wasm/ccp4srs/.. -I/opt/ccp4_wasm/ccp4srs/../checkout/mmdb2 -I/opt/ccp4_wasm/ccp4srs/../checkout/libccp/ccp4 -O2 -c /opt/ccp4_wasm/checkout/ccp4srs/ccp4srs/memio_.cpp -o CMakeFiles/ccp4srs.dir/__/checkout/ccp4srs/ccp4srs/memio_.cpp.o' failed (returned 1)
make[2]: *** [ccp4srs/CMakeFiles/ccp4srs.dir/build.make:246: ccp4srs/CMakeFiles/ccp4srs.dir/__/checkout/ccp4srs/ccp4srs/memio_.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1089: ccp4srs/CMakeFiles/ccp4srs.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
emmake: error: 'make' failed (returned 2)
The command '/bin/bash -c source /opt/emsdk/emsdk_env.sh && emmake make' returned a non-zero code: 1

Not sure if this is related to the docker image or something else?

After the last changes it is now able to find zlib.h, but now I am getting the Python.h error:
[ 72%] Building CXX object coot/CMakeFiles/coot.dir/__/checkout/coot-1.0/lbg/lbg.cc.o
/opt/ccp4_wasm/checkout/coot-1.0/lbg/lbg.cc:22:10: fatal error: 'Python.h' file not found
#include <Python.h> // this is here get round header warnings
         ^~~~~~~~~~
1 error generated.
em++: error: '/opt/emsdk/upstream/bin/clang++ -target wasm32-unknown-emscripten -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D__EMSCRIPTEN_SHARED_MEMORY__=1 -DEMSCRIPTEN -I/opt/emsdk/upstream/emscripten/cache/sysroot/include/SDL --sysroot=/opt/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -DANALYSE_REFINEMENT_TIMING -DDATADIR="/opt/ccp4_wasm/coot/../checkout/coot-1.0/data" -DHAVE_BOOST -DHAVE_CXX_THREAD -DHAVE_GSL -DPACKAGE_VERSION="1.0" -DPKGDATADIR="/opt/ccp4_wasm/coot/../checkout/coot-1.0/pixmaps" -DVERSION="1.0" -I/opt/ccp4_wasm/coot/../checkout/coot-1.0 -I/opt/ccp4_wasm/coot/../checkout/coot-1.0/coords -I/opt/ccp4_wasm/coot/../checkout/coot-1.0/utils -I/opt/ccp4_wasm/coot/../checkout/coot-1.0/src -I/opt/ccp4_wasm/coot/../include -I/opt/ccp4_wasm/coot/../example -I/opt/ccp4_wasm/coot/../checkout/ssm -I/opt/ccp4_wasm/coot/../checkout/mmdb2 -I/opt/ccp4_wasm/coot/../checkout/clipper -I/opt/ccp4_wasm/coot/../checkout/fftw-2.1.5/fftw -I/opt/ccp4_wasm/coot/../checkout/fftw-2.1.5/rfftw -I/opt/ccp4_wasm/coot/../checkout/libccp4/ccp4 -I/opt/ccp4_wasm/coot/../boost -O2 -pthread -DHAVE_BOOST -DNODERAWFS -DFFTW_ENABLE_FLOAT -std=gnu++11 -fexceptions -pthread -DHAVE_BOOST -DNODERAWFS -DFFTW_ENABLE_FLOAT -c -matomics -mbulk-memory /opt/ccp4_wasm/checkout/coot-1.0/lbg/lbg.cc -o CMakeFiles/coot.dir/__/checkout/coot-1.0/lbg/lbg.cc.o' failed (returned 1)
make[2]: *** [coot/CMakeFiles/coot.dir/build.make:2598: coot/CMakeFiles/coot.dir/__/checkout/coot-1.0/lbg/lbg.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1524: coot/CMakeFiles/coot.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
emmake: error: 'make' failed (returned 2)
The command '/bin/bash -c source /opt/emsdk/emsdk_env.sh && echo "" > silly.c && emcc silly.c -s USE_ZLIB=1 -s USE_LIBPNG=1 && rm -f silly.c && emmake make' returned a non-zero code: 1

Hi Stuart,
Paul has held his hands up to having missed out adding a file to the api folder causing bombed compiles:
_ZN21molecules_container_t23copy_fragment_using_cidEiRKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE (referenced by top-level compiled C/C++ code)
Have you got a fix for that in hand, or do we need to bug Paul ?
Cheers,
Martin

On 31 Oct 2022, at 10:09, stuartjamesmcnicholas @.***> wrote:
I just merged Paul's request to not compile lbg sources. So this might now be OK.
—
Reply to this email directly, view it on GitHub https://github.com/stuartjamesmcnicholas/CCP4-Web-Assembly/pull/16#issuecomment-1296867196, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJJ2AECFPZTJRIW4W4GZMLWF6LEVANCNFSM6AAAAAARRBZR6Q.
You are receiving this because you are subscribed to this thread.

I'll let you know in a few minutes. I'm in the middle of a build.

The build problem should now be fixed.

I will try to build a new image and see if it works

Now emmake make runs fine but when I run emmake make install I'm seeing this:
[100%] Built target prosmart_common
Install the project...
-- Install configuration: "Release"
CMake Error at cmake_install.cmake:44 (file):
  file INSTALL cannot find
  "/opt/ccp4_wasm/react-app/node_modules/pako/dist/pako.js": No such file or
  directory.

make: *** [Makefile:74: install] Error 1
emmake: error: 'make install' failed (returned 2)
The command '/bin/bash -c source /opt/emsdk/emsdk_env.sh && echo "" > silly.c && emcc silly.c -s USE_ZLIB=1 -s USE_LIBPNG=1 && rm -f silly.c && emmake make install' returned a non-zero code: 1

Looks like you need to “npm install” in react-app ?

On 31 Oct 2022, at 11:18, Filomeno Sanchez @.***> wrote:
Now emmake make runs fine but when I run emmake make install I'm seeing this:
[100%] Built target prosmart_common
Install the project...
-- Install configuration: "Release"
CMake Error at cmake_install.cmake:44 (file):
file INSTALL cannot find
"/opt/ccp4_wasm/react-app/node_modules/pako/dist/pako.js": No such file or
directory.
make: *** [Makefile:74: install] Error 1
emmake: error: 'make install' failed (returned 2)
The command '/bin/bash -c source /opt/emsdk/emsdk_env.sh && echo "" > silly.c && emcc silly.c -s USE_ZLIB=1 -s USE_LIBPNG=1 && rm -f silly.c && emmake make install' returned a non-zero code: 1
—
Reply to this email directly, view it on GitHub https://github.com/stuartjamesmcnicholas/CCP4-Web-Assembly/pull/16#issuecomment-1296941624, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJJ2ADFIJUTPPRQXXXPX6DWF6THBANCNFSM6AAAAAARRBZR6Q.
You are receiving this because you commented.

@stuartjamesmcnicholas I think this is OK to merge now, the image builds fine and the port mapping seems to be working.


Experiments with windows in destroying

Hello @matteobachetti! Thanks for submitting the PR.

In the file srttools/imager.py, following are the PEP8 issues :

Line 491:80: E501 line too long (81 > 79 characters)


Duplicate mosque listing on the production - 4

The issue in words:

In production, mosque IDs 35798 United Muslim Organization, and  47479 Masjid Al-Ihsaan with the address "10180 SW 168th St, Miami, FL 33157, USA" is the same mosque. When searching for a mosque near Miami, FL, United States, on the second page of the search result, "Masjid Al Ihasaan, and United Muslim Organization with the same address "10180 SW 168th St, Miami, FL 33157, USA" can be found on the page. Both of the mosque listings have the same phone number "3052590042". On Google search, it shows two businesses with the names "United Muslim Organization" and "Masjid Al-Ihsaann", is the same mosque, United Muslim Organization is the name of the organization and Masjid Al-Ihsaan is the name of the mosque.
Steps to reproduce the issue:

Open prayersconnect.com on any browser.
Click on the search bar to find mosques near you.
Type in "Miami, FL, United States" and search.
Scroll down to select page number 2.
Will be able to find mosque listing with the names "Masjid Al-Ihsaan",  and "United Muslim Organization"
There should be just one mosque "Musalla Al-Faiza" with the address of "210180 SW 168th St, Miami, FL 33157, USA"

Screenshots:

Done


Set heroku stack to 18

Using the "Deploy to Heroku" button errors due to Heroku defaulting to the latest stack, which doesn't support Ruby 2.6.3:
-----> Building on the Heroku-20 stack
-----> Ruby app detected
-----> Installing bundler 1.17.3
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby/Rack
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-20/ruby-2.6.3.tgz -s -o - | tar zxf - ' failed on attempt 1 of 3.
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-20/ruby-2.6.3.tgz -s -o - | tar zxf - ' failed on attempt 2 of 3.
!
! The Ruby version you are trying to install does not exist on this stack.
!
! You are trying to install ruby-2.6.3 on heroku-20.
!
! Ruby ruby-2.6.3 is present on the following stacks:
!
! - cedar-14
! - heroku-16
! - heroku-18
!
! Heroku recommends you use the latest supported Ruby version listed here:
! https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
!
! For more information on syntax for declaring a Ruby version see:
! https://devcenter.heroku.com/articles/ruby-versions
!
! Push rejected, failed to compile Ruby app.
! Push failed

This hardcodes the stack to heroku-18, which does support Ruby 2.6.3.

Hi! Instead of pinning to the older Heroku-18 stack, I would recommend updating the Ruby version specified in Gemfile/Gemfile.lock from 2.6.3 to 2.6.6, since 2.6.6 is available on Heroku-20.

Hi! Instead of pinning to the older Heroku-18 stack, I would recommend updating the Ruby version specified in Gemfile/Gemfile.lock from 2.6.3 to 2.6.6, since 2.6.6 is available on Heroku-20.


Parser (v3) accepts schema with type=array but items undefined

Found in version 2.0.9...
The spec says here that "items MUST be present if the type is array".  But here is an instance that contradicts that rule -- see param1.
operations-6.json.txt

Hi @kerrykimbrough,
Do you want the parser to throw any warning here?
Thanks,
Mohammed

There are possibly 2 sides to the problem.
Currently, OpenAPIDeserializer checks first for items and assumes ArraySchema if found. But then later will accept any type. So, if items found, then any type != array should cause a warning. Similarly, after finding type != array is found, then finding items should cause a warning.

See PR #1101

Fixed in 2.0.13


♻(frontend) rework  to expand use cases

Purpose
The existing  in marsha was only appropriate for use in the LTI view as it forced a fixed position with an overlay
covering the whole viewport.
It also lacked some accessibility related elements.
Proposal
We made available a new  component from the same file, which enables users to use only the animated spinner without the whole full-screen overlay.
We also made some accessibility improvements to said  which we refactored into the basis for .

🙏


add bbox prop

Fixes #18

@aaronlidman since you were among the last to make changes here, have time to take a look at this? Adds the geocoder bounding box param, and re-browserify the example to include it. Should be pretty straightforward, but this is the first time I've done anything with react or browserify so just want to make sure I didn't miss anything.

@mattficke - Looks good to me 👍

@aaronlidman thanks!


feat!: Add new color tokens and update Alert component & docs

This change: (check at least one)

[x] Adds a new feature
[ ] Fixes a bug
[ ] Improves maintainability
[x] Improves documentation
[ ] Is a release activity

Is this a breaking change? (check one)

[x] Yes
[ ] No

Is the: (complete all)

[x] Title of this pull request clear, concise, and indicative of the issue number it addresses, if any?
[x] Test suite(s) passing?
[x] Code coverage maximal?
[x] Changeset added?

What does this change address?

Added new color tokens color-yellow-97 & color-green-93.
Updated documents to reflect the new color tokens.

@satya-achanta-venkata I think the new alert design that uses these colors also indicates we need to add a border around it for better visual separation from the rest of the page. I think that border is the same color as the icon, based on the Figma design. Can you add that?
I also denied a couple of the changes—looks like we also need to update the error alerts to use black text (like the rest of the alerts already do).

@satya-achanta-venkata Looks a lot better! I think there's one more glaring fix, which is that links in error Alert also need to be updated to black, which probably needs to happen here.

@satya-achanta-venkata I have a small piece of feedback, would you be able to change the background of the info alert to use glacier-blue-90 instead of glacier-blue-80?


(ayekan) Configure Prometheus for Mimir remote write and deploy Mimir

This deploys the Mimir cluster to Ayekan and ensures that the local prometheus writes to it. It also configures the prometheus to only use serviceMonitors from o11y.eu/monitor=enabled namespaces.

Fixed the shebang nit


Shrink the size of all Error types

This commit improves the in-memory size of Error from 7 pointers to 1 pointer.
Errors are in general relatively rare in applications and having a huge error
type ends up generating lots of instructions for moves and such, so this PR
optimizes for size and passing around errors rather than creating errors.

Nice! You just have to update the tests which use pattern matching on the kind. It's also a breaking change so could you update the CHANGELOG?

Updated

Could you rebase please?

Sure thing, done now

When might this pull request be land/be merged?


GRA-1487: peer endpoint nil check

Describe your changes
endpoint nil check on endpoint detection
Provide Issue ticket number if applicable/not in title
Provide link to Netmaker PR if required
Provide testing steps
Checklist before requesting a review

[x] My changes affect only 10 files or less.
[ ] I have performed a self-review of my code and tested it.
[ ] If it is a new feature, I have added thorough tests, my code is <= 1450 lines.
[x] If it is a bugfix, my code is <= 200 lines.
[ ] My functions are <= 80 lines.
[ ] I have had my code reviewed by a peer.
[ ] My unit tests pass locally.
[x] Netclient & Netmaker are awesome.

Approved, but this should be a hotfix, please open against release branch and master.

integration tests are failing will push a fix for it


Feature/73 handlebars extensions

#73 -please review
I hereby agree to the terms of the Knot.x Contributor License Agreement.

Docs added.

Approved.


nil check - guess MI doesnt even return that field

@psujohn looks like you merged it before I got to it... but looks good regardless.


Revert "Fixed links and added service accelerator document "

Reverts finos/ansible-cfi-ocp#21

close without merge - not required.


MRG FIX: Raise error on gallery failure [ci skip]

@agramfort I think we want our builders to raise on failure, it will be easier to detect and fix failures.

Ready for review/merge from my end.

thanks
one more thing that needs to be added to sphinx-gallery
cc @lesteve @Titan-C


Specify behavior for expired/revoked credentials

Description
As STS implementation ,
I want to know the desired behavior on whether a VP should also contain expired/revoked VCs,
so that a verifier knows whether to expect invalid VCs in a VP.
Acceptance Criteria

[ ] Statement in VPP flow

Additional Information
It may make sense to comment that independent of the STS, a verifier's duties to perform proper verification (including a revocation checks) remain unchanged as they cannot rely on a STS's faithful behavior.

Generally I agree with mentioning this, but it relates to the CredentialService, not the STS.
My proposal would be to say, that "a CredentialService implementation SHOULD only include valid (non-expired, non-revoked, non-suspended) credentials in a PresentationResponseMessage"

Let's review and see if this is still valid.

I think it is. Self-assigning.


Expo SDK 50

With Expo SDK 49, expo-sqlite on iOS doesn't support Uint8Array, and on Android, numbers are cast to strings despite the blob column type. Otherwise, it works.
So you can develop a native Evolu application and wait for the Expo SDK 50 release, or you can release it now without Android and Uint8Array usage. In Android, only strings are properly handled.

https://github.com/expo/expo/issues/23970#issuecomment-1680996963

https://expo.dev/changelog/2024/01-18-sdk-50
Soon ✨

Done.


more prebuilt docker images

We talked about having additional prebuilt docker images with common software, such as ffmpeg or opencv. I'd like to add dockerfiles for building those as well as build pipelines as github actions workflows.

Just pushed commits and a new tag (0.1.8) with dockerfiles and pipelines. @kelleyl could you take a look at those images and see if existing tools run file with it as the base image?

From the latest release (0.2.3) slim version of buster + python is used as the root base image. The previous release (0.2.2) added tensorflow and pytorch installed images. I'll keep this issue open to report future expansion of range of docker images.

We haven't found any other "common" libraries that could be useful for app development for last two years, I think this issue is now well-resolved. As recently there was the release of pytorch2, I will add torch2 base images and will close this issue upon merge of them.


PR for Issue 128

PR for #128

Looks good to me. Thank you!

re: JDK. Actually this week on maven-dev they were discussing bumping it to 1.8. Seems its just about time.

Looks good to me. Thank you!

No .. thank you for creating this plugin.

Released to Central. Will be sync'ed shortly


yii\base\Controller::createAction()  ignores dynamic inline actions

What steps will reproduce the problem?
Add behavior with inline action(public function actionBehavior()) to controller($controller).
Create action: $action = $controller->createAction('behavior');
What is the expected result?
$action is InlineAction('behavior', $controller, 'actionBehavior');
What do you get instead?
$action is null
Additional info

Q
A

Yii version
2.0.43

PHP version
any

Operating system
any

Do you really add actions via behaviors? Initially behaviors were not created for that. They are mainly to handle events.

If you want actions like that, can't it be done via traits instead?

@samdark In my case uses only magic/dynamic actions, for example: actionCreate have alias actionAdd for compatible with old api. Why do you limit developers to scope of your/my applications?

@samdark https://github.com/yiisoft/yii2/pull/18876/files

We could have it added but also it would have to be included in console actions detection.

@bizley console commands extends yii\base\Controller

Yes. I'm referring to that feature.

@bizley You can talk about this with @samdark - he is disagree to add common methods for this. https://gist.github.com/WinterSilence/6079451c719bdc49d5aea2578e37feaf


Fix Alert and Modal docs

Alert and Modal docs aren't scrollable after visiting the component stories and then switching to docs view. Also Alert "code" in docs looks like (args) => <Alert {...args} /> which isn't quite right.

Resolved with 1.0.0


SharedTransitionShell blocks application when navigating using gestures

If you are creating an issue for a BUG please fill out this information. If you are asking a question or requesting a feature you can delete the sections below.
Failure to fill out this information will result in this issue being closed. If you post a full stack trace in a bug it will be closed, please post it to http://gist.github.com and then post the link here.
Bug Information
Version Number of Plugin: 2.4
Device Tested On: iPhone XS iOS 14.2
Simulator Tested On: iPhone 11 iOS 14.3
Version of VS: VS Mac 8.8.4 (build 30)
Version of Xamarin: <IP_ADDRESS>1
Versions of other things you are using:
Steps to reproduce the Behavior
When I try to navigate using Shell navigation with SharedTransitionShell work fine, but if the navigation won't complete and I drag page to right again the application can't go back and some times freeze.
I did think that Xamarin.Forms was produce the issue, but I did test with a SharedTransitionShell vs Shell and with shell work fine.
Expected Behavior
Actual Behavior
Code snippet
Screenshots

Using Shell

Using SharedTransitionShell
I not using transitions right now, it's only navigation

Any news on this bug?


includeos doesn't compile on Ubuntu 17.10

IncludeOS doesn't compile on Ubuntu 17.10. On a system without clang 3.8 it spits out this:

Installing missing dependencies (requires sudo):
[sudo] password for ubuntu:
E: The repository 'http://apt.llvm.org/artful llvm-toolchain-artful-3.8 Release' does not have a Release file.
Sorry <<<
Could not install dependencies

If I install clang 3.8 we  get a bit further:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/cstdlib:77:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/std_abs.h:102:3: error:
support for type '__float128' is not yet implemented
abs(__float128 __x)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/std_abs.h:102:18: error:
support for type '__float128' is not yet implemented
abs(__float128 __x)
So Clang 3.8 can't compile the GCC 7 libs. I tried overriding install.sh and etc/install_dependencies_linux.sh and build again but there are still some artifacts left from the previous build attempt. Don't know how to fix this.  However, in a clean tree and getting some help from @alfred-bratterud we ended up with the following changes:
ubuntu@vaskemaskin:~/IncludeOS$ git diff
diff --git a/etc/install_dependencies_linux.sh b/etc/install_dependencies_linux.sh
index a31f3dcf..cb6635cf 100755
--- a/etc/install_dependencies_linux.sh
+++ b/etc/install_dependencies_linux.sh
@@ -7,7 +7,8 @@
############################################################
BUILD_DEPENDENCIES="curl make cmake nasm bridge-utils qemu jq python-pip g++-multilib gcc"
-[ ! -z "$CC" ] && { CLANG_VERSION=${CC: -3}; } || CLANG_VERSION="3.8"
+#[ ! -z "$CC" ] && { CLANG_VERSION=${CC:-4}; } || CLANG_VERSION="4.0"
+CLANG_VERSION=4.0
TEST_DEPENDENCIES="g++"
PYTHON_DEPENDENCIES="jsonschema psutil junit-xml filemagic"
INSTALLED_PIP=0
diff --git a/install.sh b/install.sh
index d8369991..38bef318 100755
--- a/install.sh
+++ b/install.sh
@@ -247,8 +247,8 @@ fi
printf "\n\n>>> IncludeOS installation Done!\n"
printf "    %s\n" "To use IncludeOS set env variables for cmake to know your compiler, e.g.:"\

     '    export CC="clang-3.8"'\

     '    export CXX="clang++-3.8"'\

     '    export CC="clang-$clang_version"'\

     '    export CXX="clang++-$clang_version"'\
     ""\
     "Test your installation with ./test.sh"

Now it builds, installs and runs nicely. We should require clang 4.0 to build from now on, methinks. Long term goal should be removing the dependency on GCC libs, but that might be tricky.

I seem to be getting the same '__float128' support error even after applying the patch above on a clean tree. Was there any other change you made to get the thing to build?

Try installing clang-5.0 and set CC to clang-5.0 and CXX to clang++-5.0 then install.sh again

That worked, thanks!


Assignment poll autoupdate fails

Create a new assignment poll, insert some votes, then publish the poll.
All correct here but now if you hide the poll again it does not disappear on normal users display. See also #1838.

This is a design decision.
The client looses no information that it already has. The reason is, that the angular client should be the "fried" of the user. If the user uses the rest api manually, he would also now the vote results when they where published and unpublished later.
So I would prefer to close this issue as wont fix.

Hm. The problem is that if the manager clicks on the publish button by accident, all users get this data and the interface does not show that these data are somethink like "invalid" later. @emanuelschuetze What do you think?

I think we have to change this "design" decision to solve cases where parts of a rest-element where deleted

Looks like this issues is a duplicate of #1859 where @ostcar referenced to a js-data issue. so closed this one here.


WIP - Make RNG tests accessible for Android app

Also tried to move the API to a rule, but have some issues getting it working, so making it a draft for now
Related to #522

I'm wondering, I saw now that you have made parameterised tests for mobileTheme. Should I add an override on the takeSnapshot to loop through the mobile theme for wear and add multiple tests for those? Or is it preferred to use the JUnit  parameterised test classes?

I should probably try to land this and iterate as you said, but I'm on the cabin with very bad internet, so might be a bit hard. Sorry about that

I should probably try to land this and iterate as you said, but I'm on the cabin with very bad internet, so might be a bit hard. Sorry about that

No issue from me. But smaller PRs are easier to review. So maybe avoid implementing the tests in the same PR

Yeah maybe I can revert the wear tests and do that in multiple iterations. Good idea!

I'm wondering, I saw now that you have made parameterised tests for mobileTheme. Should I add an override on the takeSnapshot to loop through the mobile theme for wear and add multiple tests for those? Or is it preferred to use the JUnit  parameterised test classes?

Good question. I'm not sure.
I like the shared functionality having minimal assumptions, then we can easily introduce those one level higher for Wear.

Yeah I agree! That makes sense :)


[Question][Module Name] Configure mTLS with mysql

Question
There is an example on apache devlake website on how to configure the DB_URL to connect with a mysql instance using server certificate. Can we also add an example on how to configure the DB_URL to connect with client cert, client key and server certificate?
Screenshots
If applicable, add screenshots to help explain.
Additional context
Add any other context here.

I think mounting the client cert/key to the devlake container and referring them within the DB_URL should do the trick.
Would you like to try it out and maybe contribute to the doc?


Publish to TIBCO Cloud Mashery

Current behavior: API Scout currently is a read-only portal with no option to publish to an API management platform or API gateway, to expose the APIs as products.
Expected behavior: API Scout should be able to publish APIs to TIBCO Cloud Mashery
What is the motivation / use case for changing the behavior? This feature would allow the developer to collaborate with the API Product Manager to make APIs available for external consumption

From the issue description, I could imagine user experience would be like:

User deploys apiscout into kuberneties cluster.
User deploys microservice into the same kuberneties cluster.
API Scout updates swagger API docs.
API Scout publishes deployed microservice into Mashery cloud.
API Scout can be configured with Mashery cloud details like host url, authentication credentials, etc...

appreciate your comments.


Mobile-unfriendly

On an iPhone running iOS 8, I couldn't use mobile Safari to click open or closed any of the problems. This is not very good.

Acknowledged. We're understaffed, so this may not be addressed right away.


How can I change the size of the heat map?

I have a heat map with many attributes generated with:
associations(dfVasp,nominal_columns=['user', 'partition_name', 'qos', 'account'], theil_u=True)
But the values are cropped since there is no more space for them.

As easy as adding to the function the argument:  figsize=(16,9)

You can also change the precision of the numbers. Try adding fmt=.1f to have only one figure after the floating point.

Duplicate of issue #11


Investigate organisations API usage

Investigate if it would be beneficial to use the API more extensively for things like:

this, finding out if the country has an embassy/high comission/consulate and where in the country it is
finding out if countries have no consular facilities

The risk would be content changing as the API is being updated. Which should not be a problem as long as the code is robust and makes sure it handles expected changes correctly.

I've moved this to Trello in an attempt to end up with a single place containing Smart Answers stories/tasks/bugs.
See the Trello card (not public).
Closing this issue.


Documentation

[x] Install guide
[x] Diagrams
[ ] Code Pattern documentation
[x] Demo video

I'll add comments here for Doc related issues rather than opening new issues:

[ ] Add a README for the assets directory similar to how models do it (including a license, etc)
[ ] Update wiki according to feedback from IBM Developer team (@rhagarty would know what needs updating better than me)
[ ] Update title in README to match wiki (once it's approved by @rhagarty )

@rhagarty could you take a look at the README and the wiki page and comment here anything remaining that needs to be addressed before we can move this into publishing?


Sqlite: migration failing

Sqlite: migration failing

BookStack Version *: 0.11
PHP Version: 7.0
*Sqlite

Trying to install bookstack on an Sqlite database
Throwing This Exception
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1 Cannot add a NOT NULL column with default
value NULL (SQL: alter table "pages" add column "created_by" integer not n
ull)
[PDOException]
SQLSTATE[HY000]: General error: 1 Cannot add a NOT NULL column with default
value NULL

Steps to Reproduce
Just run "php artisan migrate"

BookStack does not support SQLite, only MySQL and by extension, MariaDB is supported.

Bookstack is built on laravel... it sure can support SQlite. Just Altering the migrations should do that

@bridgeyuwa Thanks for creating this issue.
@AbijeetP is correct. While Laravel does support SQLite, BookStack does currently not.
An issue to add support is already open under #367 so I will close this. I would like to support SQLite at some stage to make setup for smaller instances even easier/more manageable but we do have to take into account the extra amount of testing and maintenance required going forward to add SQLite support.


class Abstract Filter not found

Hi guys,
I'm trying this bundle and i've got an error when i use a command.
For exemple :
php bin/console doctrine:schema:update --force
PHP Fatal error:  Class 'Sonatra\Component\DoctrineExtensions\Filter\AbstractFilter' not found in /myproject/vendor/sonatra/security/Doctrine/ORM/Filter/SharingFilter.php on line 27

I followed the documentation and add :
    orm:
        entity_managers:
            default:
                filters:
                    sonatra_sharing:
                        class:      Sonatra\Component\Security\Doctrine\ORM\Filter\SharingFilter
                        enabled:    true

in my config.yml.
Did i forgot something ?
Cheers
PS: tested with symfony 3.3.5, php 7.0.20

If you want to use the Sharing Filter, you must add the optional depencency sonatra/doctrine-extensions:
$ composer require sonatra/doctrine-extensions: "^1.0.0@dev"

I should add this info in doc.

I'm not sure about using it, i just followed the doc

Precisely, you must add this dependency in order to use the sharing filter.

You can close this issues as soon as the doc is upated i guess

Added by 6b1197f718827c0ad5249626c5141868efe52482.


How is train_fn.cs.get_default_configuration() being set?

This is a question about the code.
The first config which is evaluated, is train_fn.cs.get_default_configuration().
I am wondering how this config is set if the user does not set it as part of the @ag.args definition? And moreover, can the user set it (and how)?
Some quick digging in the code (core/decorator.py, core/space.py) did not produce something obvious. Is this logic in AutoGluon, or in ConfigSpace?

User can setup the default value when creating the search spaces, for example:
real_space = autogluon.space.Real(0.0, 3.0, default=2.5)

If the user doesn't setup the fault value, ConfigSpace will automatically suggest defaults, which is usually the average between upper and lower values.

Thanks!