Switch to a C++11 API

This PR puts in c++11 OpenTracing API based off of @jmacd’s LightStep tracer.
For the most part it follows the design of the OpenTracing APIs in other languages. A few exceptions are

It removes the format parameter from Inject/Extract, instead choosing the simpler design described here where only a carrier is passed in.
It allows span methods SetTag, Log, SetOperationName, etc to be called after a span is finished (but doesn't specify behavior) and permits Finish to be called multiple times so that instrumentation code isn’t required to do additional synchronization. (See discussion here).

I wrote added a version of LightStep’s tracer that implements the API and there’s an instrumentation of nginx that uses the API if anyone wants to see examples of what it looks like in practice.

@bhs @jmacd @jquinn47 @yurishkuro @jquinn1 @SaintDubious . Let's leave open till 6/29 and if no objections, should we merge this? Cheers

What was the outcome of the c++98 vs. c++11 discussion?  I am not very familiar with C++ ecosystem, so don't know what the impact is of requiring later version.

@yurishkuro the decision was to create a C++11 implementation, and leave space for a separate C++98 implementation to be added when there is interest and we can settle on a design: https://github.com/rnburn/opentracing-cpp/tree/master/c%2B%2B98

@tedsuo Any data / stats to support this decision, like not leaving 50% if installed C++ base out in the cold? Again, not making a judgement if it's good or not, I just don't know.
Also, if the plan is to potentially have a separate c++98 implementation, isn't it what the current version supports? If some people are already using it, then maybe it should be forked to opentracing-cpp98 repo before replacing with this PR?

I'm not aware of anyone using this version :-/
As with lots of C++ discussions, if we try to find what's the best thing,
the conversation will never finish.
Since this is an "infrastructure" API, and not a "hip" general library, the
right thing is to write a C API, wrap it in a C++98 API and then bundle it
with some C++11 bells and whistles.
But, let's get it "wrong" first, iterate fast... and then we see what we
learn. This repo has been stale for too long I believe.
On Tue, Jun 27, 2017 at 2:09 PM Yuri Shkuro<EMAIL_ADDRESS>wrote:

@tedsuo https://github.com/tedsuo Any data / stats to support this
decision, like not leaving 50% if installed C++ base out in the cold?
Again, not making a judgement if it's good or not, I just don't know.
Also, if the plan is to potentially have a separate c++98 implementation,
isn't it what the current version supports? If some people are already
using it, then maybe it should be forked to opentracing-cpp98 repo before
replacing with this PR?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/opentracing/opentracing-cpp/pull/11#issuecomment-311439616,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwLb4gQ1N4XHV55z0DwBkZG6STkgBs1ks5sIUU-gaJpZM4OG4sB
.

@lookfwd sums it up pretty well: no one is using the current API. Attempts to create a perfectly efficient C++98 API struggled to retain the abstraction/decoupling that the OT concepts require while matching the efficiency that could be gained from having no abstractions. In the long run a C API would be very useful, but in the short run it turned into a case of "perfect is the enemy of good enough."  The end result was that C++ tracers have not been binding to the OT API, and systems which were interested in tracing have been using these non-OT interfaces.

For the record, I reviewed this code and like it.
I believe that it makes sense to maintain both a "modern" C++ library and a C++98 library, they're different enough to keep the code bases separate. The value of sharing code between these libraries is small, unless it is to achieve interoperability, and I think we can approach that topic when it arises.

I believe that it makes sense to maintain both a "modern" C++ library and a C++98 library

I would agree, assuming there's anyone wanting a C++98 lib :)

I thought that the binary built-in format was a value that was reserved for later use. I didn't see a carrier interface defined for it in the other languages. But if there consensus on how to define such an interface, I can add it in a similar way to the TextMap interfaces.
For custom binary carriers that are tied to specific tracers -- those are meant to be handled by the CustomCarrier. (See for example LightStep's binary carrier).

I thought that the binary built-in format was a value that was reserved for later use. I didn't see a carrier interface defined for it in the other languages.

https://github.com/opentracing/opentracing-go/blob/master/propagation.go#L49 is an example, but there are similar things defined for Java, Python, etc. Also see https://github.com/opentracing/specification/blob/master/specification.md#note-required-formats-for-injection-and-extraction
Thanks!

Would std::istream, std::ostream work for binary carriers? You could then do something like
std::ostringstream oss(std::ios::binary);
tracer->Inject(sc, oss);
auto blob = oss.str();

if you wanted to get a byte array of the data.

I added Inject/Extract methods that take streams for the binary propagation.

The stream-carrier methods look good. @bhs the reason binary carrier was left out, I suspect, is that I left it out of lightstep-tracer-cpp.
The question about which dependencies are acceptable is a good one. On the one hand if we're calling this a C++11 API we should stick to the standard C++11 library. On the other hand, the parts incorporated here, included in the C++14 and C++17 specs (i.e., variant types, expected types, and the stringref type). On the other hand, in these cases, the feature is being used to make the OT API  idiomatic while C++ continues to evolve.
In these cases specifically, I favor the use of a feature but perhaps we can address @bhs's concerns as follows:
(a) retain any copyright notices, but copy the headers into an opentracing/feature to clean the include path; use an opentracing::feature namespace.
(b) use forward-compatible names so that when C++14 or 17 come along with these features standardized, it's a simple namespace change to adapt the code
(c) use the c++ preprocessor to ensure that a user who has their own copy of similar post-C++11 features in their code base can supply their own, assuming naming compatibility as in (b)--e.g., if mapbox wants to use this library, they'll definitely not want our fork of their own variant type.
It should be pretty easy to make these changes, the one thing I'd like to recommend is that the StringRef type be named something more like string_view for C++17 compatibility.

I updated StringRef and Expected to use their c++ standard names (string_view, expected), changed the namespaces to opentracing so that they won't collide if someone uses one of the packages directly, and simplified the include paths.

My only thought is to somehow have all those to a v1.0 namespace and folder. I would think that when OT 2.0 etc. comes, one would still like to link and us the old API. What are your thought about supporting multiple OT versions?

I do have an inline namespace that specifies the ABI version. I would think using branches might be a better way to manage the different versions than directories.
If we want to support installing multiple versions concurrently, though, maybe I should add some sort of version tag to the library name so that the installed libraries don't overwrite one another.

If we want to support

It would be nice to be some discussion around this. This API is a contract between both tracers and client applications and I would guess it's quite difficult to upgrade them all in an single operation. I would expect different major versions to co-exist. I'm not sure how important is this for people though.

I'm not sure how important is this for people though.

API stability is one of the top goals, if not #1.

I updated CMakeLists.txt to set version properties for the opentracing shared library (following these guidelines). It should allow older versions of the library to coexist with newer versions.
I couldn't find any similar feature to manage versioning of the static library, but I suppose that's less of an issue.

@jmacd @jquinn47 @yurishkuro @SaintDubious we are feeling confident about this, and would like to merge if there are no objections. We will version it as v0.1 and move to bindings for ZipKin and LightStep, followed by Envoy instrumentation.

:+1:

@jquinn47 @SaintDubious shouldn't have problem, since as far as I know they don't link to this.
:thumbsup:


Power Shell v6.0.1 Segfaults when doing nothing.

Steps to reproduce
Start powershell. type help. scroll through. quit help. Wait. Actually don't even need to run help. Just wait. It takes about 30 odd seconds each time.
pwsh
PowerShell v6.0.1
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /home/userr> help
PS /home/user> Segmentation fault

Expected behaviour
Not to segfault
Actual behaviour
gdb pwsh
GNU gdb (Debian 7.12-6+b1) <IP_ADDRESS>61007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pwsh...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/pwsh
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff48cb700 (LWP 21463)]
[New Thread 0x7ffff40ca700 (LWP 21464)]
[New Thread 0x7ffff38c9700 (LWP 21465)]
[New Thread 0x7ffff30c8700 (LWP 21466)]
[New Thread 0x7ffff28c7700 (LWP 21467)]
[New Thread 0x7ffff1d4d700 (LWP 21468)]
[New Thread 0x7fffe2582700 (LWP 21469)]
[New Thread 0x7ffff106b700 (LWP 21470)]
[New Thread 0x7fffe1d81700 (LWP 21471)]
[New Thread 0x7fffe1580700 (LWP 21472)]
[New Thread 0x7fffe0d7f700 (LWP 21473)]
PowerShell v6.0.1
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

[Switching to Thread 0x7fffdf57c700 (LWP 21594)]
0x00007fff1cfc0d6d in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0

Environment data
$PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.1
PSEdition                      Core
GitCommitId                    v6.0.1
OS                             Linux 4.14.0-3-amd64 #1 SMP Debian 4.14.13-1 (2018-01-14)
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

pwsh-strace.txt
Strace output. Same issue.

PowerShell v6.0.1
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /tmp> Segmentation fault

real	0m30.397s
user	0m0.764s
sys	0m0.070s

PowerShell v6.0.1
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /tmp> Segmentation fault

real	0m30.520s
user	0m0.721s
sys	0m0.101s

PowerShell v6.0.1
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /tmp> Segmentation fault

real	0m30.652s
user	0m0.705s
sys	0m0.106s

This looks like dotnet/corefx#24552. Was your machine upgraded from Debian 8?

Hmm could be. But the question remains. Why is it loading libssl twice ? And in fact looking at the GDB output seems to fire off multiple threads to load it?
I will remove libssl1.00 and repeat  and see if that fixes it. In which case most definitely a bug in the code because multiple threads being kicked off when idle is not good programming practice.

This is discussed at length in the linked issue. Dotnet's cryptography provider prefers libssl-1.0.0 if it's present on disk and then falls back to 1.0.2. The fix merged in just three days ago, and PowerShell hasn't taken the update yet. Since it's a weekend and a holiday today, that's not terribly surprising.
Once dotnet is updated and PSCore moves to that new version, it'll load 1.0.2 first and respect the environment variable CLR_OPENSSL_VERSION_OVERRIDE.

Fairy nuff. Well not crashing now. But still curious why it is ending and starting new threads when I am not actually doing anything and why those threads would need curl or libssl  all the time.
Understand I am not actually running anything just sitting there at the PS prompt. I would not expect it to do anything but wait for an input.

Understand I am not actually running anything just sitting there at the PS prompt. I would not expect it to do anything but wait for an input.

I don't disagree with that assertion. It is beyond me why powershell spawns a bunch of background threads that load up crypto providers, web libraries, and so on.

I believe HelpSystem uses libcurl and then libssl.

Yes.. but when I am not using help and just sitting at the prompt it still makes those calls. Why?

PowerShell initializes at startup a lot of component to provide the best response time to users in interactive sessions. I believe we want to remove this for non-interactive sessions.

sudo apt-get remove libssl1.0.0 fixed this for me.

Currently we moved to .Net Core 2.1 and don't use curl anymore. Please test with latest build or wait 6.1 Preview3.


MMM-GoogleSheets doesn't run

Hi,
I have installed the module in the module folders and added this config:
{
module: "MMM-GoogleSheets",
header: "Google Sheets",
position: "bottom_right",
config: {
url: "https://script.google.com/macros/s/AKfycbxmn9YV5XolyGP5PJF7JpO3--QdF2qSqWruOkJJ-l0VXrpVN8NqEZVRE-9dc8J9F_sw5g/exec",
sheet: "EOY", // Name of the sheet within the document
range: "A17:L18" // Range of cells to display
}
}
I have tested the google deployment by adding to the web url: ?sheet=Sheet1&range=A1:B10
It functions properly.
It seems that when i run MagicMirror2 that the module doesn't even get recognized. I see no logs on the console related to GoogleSheets and it doesn't show on the MagicMirror.
Looking forward to your reply,
Thanks

@omadab your configuration looks good, and I verified that I can see the data with that sheet and range.
My guess would be some kind of MM config issue rather than a module issue. Can you post the full config file? If the module isn't showing up at all and there are no errors in the config, then it is very unlikely to be a module issue, but I can do my best to help debug in case it is.

Thanks for the quick reply @ryan-d-williams
If you see nothing wrong with the module, then ill reach out to MagicMirror2 and try to debug from their end
Here is the config file:
/* Config Sample
*

For more information on how you can configure this file
see https://docs.magicmirror.builders/configuration/introduction.html
and https://docs.magicmirror.builders/modules/configuration.html

You can use environment variables using a config.js.template file instead of config.js
which will be converted to config.js while starting. For more information
see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
*/
let config = {
address: "localhost", // Address to listen on, can be:
// - "localhost", "<IP_ADDRESS>", "::1" to listen on loopback interface
// - another specific IPv4/6 to listen on a specific interface
// - "<IP_ADDRESS>", "::" to listen on any interface
// Default, when address config is left out or empty, is "localhost"
port: 8080,
basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: ["<IP_ADDRESS>", "::ffff:<IP_ADDRESS>", "::1"], // Set [] to allow all IP addresses
// or add a specific IPv4 of <IP_ADDRESS> :
// ["<IP_ADDRESS>", "::ffff:<IP_ADDRESS>", "::1", "::ffff:<IP_ADDRESS>"],
// or IPv4 range of <IP_ADDRESS> --> <IP_ADDRESS> use CIDR format :
// ["<IP_ADDRESS>", "::ffff:<IP_ADDRESS>", "::1", "::ffff:<IP_ADDRESS>/28"],

useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "en",
locale: "en-US",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 24,
units: "metric",
modules: [
{
module: "alert",
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left"
},
{
module: "calendar",
header: "US Holidays",
position: "top_left",
config: {
calendars: [
{
fetchInterval: 7 * 24 * 60 * 60 * 1000,
symbol: "calendar-check",
url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
}
]
}
},
{
module: "compliments",
position: "lower_third"
},
{
module: "weather",
position: "top_right",
config: {
weatherProvider: "openmeteo",
type: "current",
lat: 40.776676,
lon: -73.971321
}
},
{
module: "weather",
position: "top_right",
header: "Weather Forecast",
config: {
weatherProvider: "openmeteo",
type: "forecast",
lat: 40.776676,
lon: -73.971321
}
},
{
module: "newsfeed",
position: "bottom_bar",
config: {
feeds: [
{
title: "New York Times",
url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
}
],
showSourceTitle: true,
showPublishDate: true,
broadcastNewsFeeds: true,
broadcastNewsUpdates: true
}
},
{
module: 'MMM-GoogleCalendar',
header: "My Google Private Cal",
position: "top_left",
config: {
calendars: [
{
symbol: "calendar-week",
calendarID: "[MYEMAILADDRESS]"
},
{
module: "MMM-GoogleSheets",
header: "Google Sheets",
position: "bottom_right",
config: {
url: "https://script.google.com/macros/s/AKfycbxmn9YV5XolyGP5PJF7JpO3--QdF2qSqWruOkJJ-l0VXrpVN8NqEZVRE-9dc8J9F_sw5g/exec",
sheet: "EOY", // Name of the sheet within the document
range: "A17:L18" // Range of cells to display
}
},
        // To add more calendars, replicate the above entry within this array with the respective ID
    ],
}

},
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") { module.exports = config; }

@omadab your config file is incorrect. See this screenshot:

Notice how the module name is "MMM-GoogleCalendar" but you have config information for MMM-GoogleSheets inside the google calendar module config. If you clean up this issue (MMM-GoogleSheets should be it's own module with it's own config) then it should work as expected.

Yes you are right. Thank you, really weird because i ran  npm run config:check but it could not recognize the error. I will work on fixing this thanks


Automatic PR from RestAPI-PR366

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/366

Coverage increased (+0.01%) to 41.881% when pulling 5ef7e3d30ada98f92a7b3b4867c401143c414869 on AutorestCI:RestAPI-PR366 into 43cc958cfd1aa00b2051792248ebc9ab5c5e92eb on Azure:dev.


PAYMENT Options

I want to integrate few payments options like ,paypal, payoneer, skrill, credit and debit cards system gateway.
Let me to know the files and directories where I should work in.
Thank you.

@ph7ali Paypal and Stripe exist already. If you want to add more check out the following module:
_protected\app\system\modules\payment

I tried about 6 hours to add module but could not short out the problem. It shows "invalid path id" . and when I direclty put my files into the  ".../protected\app\modules" admin panels shows two modules already installed "Hello world" and "my module payment" and when i try to uninstall both modules using admin panel so it  gives a message " uninstall finished. NO INSTRUCTION FILE FOUND" .

I tried about 6 hours to add module but could not short out the problem. It shows "invalid path id" . and when I direclty put my files into the  ".../protected\app\modules" admin panels shows two modules already installed "Hello world" and "my module payment" and when i try to uninstall both modules using admin panel so it  gives a message " uninstall finished. NO INSTRUCTION FILE FOUND" .

@ph7ali Why are you creating a module if what you want is payment ??
All you have to do is modify (add) to the actual code.

First  thing, I really want to create a new module for payneer.
2nd. I want to kill a question which rings my mind always that's Why we should need integration of 3rd party just for chat.
My thoughts : software should be independent of 3rd party for chating. I mean I want to create a module to chat without integration of 3rd party supports that's API OR APP.  Thank you for pay attention. ..

@ph7ali Why use third party for chat ?
Because this require too much power to be run without a cloud infrastructure and if you have a cloud infrastructure, you ain't running pH7CMS or asking question here.
2nd... If you don't know what's the difference between an API (Application Programming Interface) and an APP (Application) then maybe you shall hire a developer because in the end, you'll just get hacked because you didn't sanitize your inputs or something like this.

@ph7ali Like I already said, you can just add to the actual payment system. The basis of Object Oriented programming is to make it easy to add new functions to existing system. So there's no need to build another module. You just add code to the actual payment module. That's it.

Thank you so much. .

@ph7ali What did you expect ? We take you by the hand learning the art of programming ? Don't wanna be rude but it's not really the place and we don't have much time.
If you wanna learn the hard way what it means to get unpolished code on the Internet and be hacked, you have plenty of example if you Google around. Unless you prefer to have fake hope of "everything is easy".

There is nothing like that in finally i want to say thank you so much to help me a lot.

@ph7ali You can surely host a small messaging system, for example there's UddeIM on Joomla that works pretty good.
If you really want to have something functional without much work or at least less then I suggest you search for "Joomla Community Builder".

I have already integrated Html5 chat. But , for the payment I preferred  new module.  But it's okay . I got it.

Don't under estimate the power HTML5Chat gives you, no server load supporting communication, multiple layouts and complete access/devive/user control, its simple to set up and has good up time history.
You have freedom and options use HTML5Chat from a completely new angle when you subscribe.
$8.33/m if you pay for the year in one payment.


logs: bump jsonnet dep to start using ConfigMap and Services from loki.mixins

See:

https://github.com/observatorium/observatorium/pull/508
https://github.com/observatorium/observatorium/pull/511

Needs https://github.com/observatorium/observatorium/pull/520

How to rollout the serviceName change on StatefulSets on app-interface?

We should be able to leverage https://github.com/app-sre/qontract-reconcile/pull/1627

How to keep the old http service referenced in observatorium-template.yaml intact to minimize rollout dependencies.

To solve this from my POV we would:

Include in this PR the old services referenced in observatorium-template.yaml
Deploy
Create a new PR where we update the services in observatorium-template.yaml
Deploy
Create a new PR where we remove the old services
Deploy

How to rollout the serviceName change on StatefulSets on app-interface?

We should be able to leverage app-sre/qontract-reconcile#1627

ACK

How to keep the old http service referenced in observatorium-template.yaml intact to minimize rollout dependencies.

To solve this from my POV we would:
1. Include in this PR the old services referenced in `observatorium-template.yaml`

2. Deploy

3. Create a new PR where we update the services in `observatorium-template.yaml`

4. Deploy

5. Create a new PR where we remove the old services

6. Deploy

ACK

Once we have https://github.com/observatorium/observatorium/pull/521 merged we will be able to progress on this


x/text: Region.ISO3() doesn't return ISO 3166-1 alpha-3

What version of Go are you using (go version)?
go version go1.12beta2 linux/amd64
golang.org/x/text master (6c92c7dc)
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/dave/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/dave/Source/Go"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go-1.12"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.12/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build800313732=/tmp/go-build -gno-record-gcc-switches"
What did you do?

package main

import (
    "fmt"
    "golang.org/x/text/language"
)

func main() {
    region, _ := language.AmericanEnglish.Region()
    fmt.Println(region.ISO3()) // expect "USA", got "US"

    region, _ = language.LatinAmericanSpanish.Region()
    fmt.Println(region.ISO3()) // expect "ZZZ" (maybe?), got "419"
}

What did you expect to see?
The documentation states:

ISO3 returns the 3-letter ISO code of r. Note that not all regions have a 3-letter ISO code. In such cases this method returns "ZZZ".

What did you see instead?
ISO3166-1 alpha-2 in the first example, UN M.49 in the second.
Also worth noting that the docs should probably clarify ISO 639-3 vs. ISO 3166-1; "ISO" is ambiguously used for both.

Looks like it was fixed 5 days ago by golang/text@d14c52b222ee852cdba8b07206ca0c614b389876 - can you verify?

Looks fixed from here.  Thanks!


Check for updates on launch

When launching an AppImage using AppImage Launcher, we could automatically check for updates and notify the user that an update is available, then use AppImageUpdate to complete the update process.

appimaged uses this:
https://cloud.githubusercontent.com/assets/2480569/19410850/0390fe9c-92f6-11e6-9882-3ca6d360a190.jpg

@probonopd I am aware of this. I am creating this for a slightly different use-case to appimaged.

For users who don't want to, or can't run a daemon.
For users running a distro without an appimaged package available (is appimaged an AppImage itself, or would it be installed using deb/rpm).

For users who don't want to, or can't run a daemon.

While the former is a valid concern, the latter isn't  - everyone can run appimaged. It's a per-user command line tool.

For users running a distro without an appimaged package available (is appimaged an AppImage itself, or would it be installed using deb/rpm).

appimaged could also be provided as an AppImage itself...


Migrating a varchar to a bigint causes invalid charset instructions to appear

Laravel Version: 6.5
PHP Version: 7.3.11
Database Driver & Version: MySQL - 5.7.27-0ubuntu<IP_ADDRESS>

Description:
While writing a migration to fix a bad database that had stored a foreign key as a varchar, I wrote the following migration:
Schema::table('jobseeker_qualifications', function (Blueprint $table) {
        $table->bigIncrements('id')->change();
        $table->unsignedBigInteger('user_id')->change();
        $table->unsignedBigInteger('jobseekers_education_id')->change();
        $table->foreign('user_id')->references('id')->on('users');
        $table->foreign('jobseekers_education_id')->references('id')->on('jobseeker_educations');
});

However, this above migration generated the following SQL:
ALTER TABLE jobseeker_qualifications
CHANGE id id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL,
CHANGE jobseekers_education_id jobseekers_education_id BIGINT UNSIGNED CHARACTER SET utf8 NOT NULL COLLATE `utf8_unicode_ci`,
CHANGE user_id user_id BIGINT UNSIGNED NOT NULL

Work Around: Removing the instructions related to the character set and running this query manually was successful.
Steps To Reproduce:

Create a table containing a VARCHAR field that contains valid id values (only numbers).
Run a migration similar to the above, requesting a change the VARCHAR to unsigned BIGINT.

What was the error message?

What was the error message?

SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHARACTER SET utf8 NOT NULL COLLATE `utf8_unicode_ci`, CHANGE user_id user_id B' at line 3

What version of the doctrine/dbal package are you using (run composer show)?

What version of the doctrine/dbal package are you using (run composer show)?

Here:
doctrine/dbal                         v2.10.0

Can you try downgrading to 2.9.3?
It looks like this is the same bug: https://github.com/doctrine/dbal/issues/3714

Can you try downgrading to 2.9.3?
It looks like this is the same bug: doctrine/dbal#3714

It does indeed look like the same bug, I'll subscribe to that bug tracker to see when it's been fixed and I could update this ticket in turn.
I don't have the time at the moment to try the downgrade due to work pressures and the manual script work around is functional for the moment, but if I get a chance to I shall look in to it.

Seems like this is related to DBAL and not Laravel so going to close this one.

DBAL just closed the issue: see https://github.com/doctrine/dbal/issues/3714#issuecomment-558573089

Can please folks from Laravel and folks from Doctrine make an agreement and push this issue a bit further?
https://github.com/doctrine/dbal/issues/3714#issuecomment-559585932
Laravel says it's issue on Doctrine's side. Doctrine says it's issue on Laravel side. Meanwhile we are locked on older version of Doctrine when we want to keep our projects up-to-date.
Thank you in advance.
Please note this happened to us when changing varchar column to integer.

Hello everyone, I'm one of the core members of the Doctrine team 👋
As I mentioned on the issue in DBAL, I completely understand your frustration and am sorry for this inconvenience.
We really believe that the issue is related to how Laravel configures the DBAL objects to perform the comparisons and think that it was working previously due to a bug that got fixed.
I don't know Laravel so much to solve this but feel free to ping me in a PR or on Doctrine's slack channel and I'll do my best to support the resolution of this issue.
@JohnyProkie thanks for pointing us here and @driesvints and other Laravel maintainers for their hard work on building bridges between the two projects 🤟

@lcobucci Thank you a lot for stepping in!

Let's figure this out. If anyone could help pinpoint where we can implement a fix that'd be great.
@lcobucci thanks for your hard work on Doctrine as well :)

@driesvints I haven't debugged anything but https://github.com/laravel/framework/blob/1bbe5528568555d597582fdbec73e31f8a818dbc/src/Illuminate/Database/Schema/Grammars/ChangeColumn.php#L125 might give us a clue.
Laravel should make sure to not set the charset/collation info on the objects while performing the changes.

@lcobucci it does seem that only applies to json and binary columns while the issue here is changing a column type from varchar to bigint so I'm not sure if that's the actual culprit?
https://github.com/laravel/framework/blob/1bbe5528568555d597582fdbec73e31f8a818dbc/src/Illuminate/Database/Schema/Grammars/ChangeColumn.php#L124-L128

@driesvints that's the problem. As @AlterTable explained it:

But when it's original type was varchar/text, there is a implicit change: the charset definition should be removed. Neither Laravel nor Doctrine handled this.
I think there are two ways to fix this, one is add extra checks in \Doctrine\DBAL\Schema\Table::changeColumn, another is modify Laravel migrate, add checks after changed attributes are set. I prefer the second one.

Laravel should define characterset and collation as null to the types.
Does this help?

@lcobucci heya, it does. I think this is indeed the correct way to go forward. I currently don't have time to work on this so if anyone is experiencing this issue and wants to move this forward, feel free to send in a PR.

Hi all, if anyone on Laravel 6.x & doctrine/dbal 2.10 experiencing this issue, the quick fix is to set charset and collation to empty string on column change statement. For example:
$table->integer('resource_type')->default(0)->charset('')->collation('')->change();
It does work on my case where previous column type is string (varchar).
Looks like someone has already sent PR to fix this, but I hope solution above still help before the PR merged.

Hi all, if anyone on Laravel 6.x & doctrine/dbal 2.10 experiencing this issue, the quick fix is to set charset and collation to empty string on column change statement. For example:
$table->integer('resource_type')->default(0)->charset('')->collation('')->change();
It does work on my case where previous column type is string (varchar).
Looks like someone has already sent PR to fix this, but I hope solution above still help before the PR merged.

This unfortunately isn't working for me for some reason. I've tried null and '' for charset and collation and I still get the same error. I'm going from string to bigInteger:
$table->bigInteger('number')
      ->charset('')
      ->collation('')
      ->change();

Fixed by https://github.com/laravel/framework/commit/fccdf7c42d5ceb50985b3e8243d7ba650de996d6

@strtz try to update dependencies

Fixed by fccdf7c

It worked thanks @taylorotwell


Pattern: Link list QA testing - Production level version

User Story

As a [user role below]:
developer using the ibm.com Library ?pattern name?

I need to:
have a version of the pattern or component that has been tested for accessibility compliance as well as on multiple browsers and platforms

so that I can:
be confident that my ibm.com web site users will have a good experience

Additional information

Browser Stack link
Browser Standard
Browser versions to be tested:  Tier 1 browsers will be tested with defects created as Sev 1 or Sev 2.  Tier 2 browser defects will be created as Sev 3 defects.
Platforms to be tested, by priority:  1)  Desktop  2)  Mobile  3)  Tablet
Mobile & Tablet iOS versions: 13.1 and 13.3
Mobile & Tablet Android versions: 9.0 Pie and 8.1 Oreo
Browsers to be tested:  Desktop: Chrome, Firefox, Safari, Edge, IE, Mobile: Chrome, Safari, Samsung Internet, UC Browser, Tablet: Safari, Chrome, Android
Accessibility Checklist
Creating a QA bug
Link to the abstract version of the designs
functional specs issue (#1257)
design issue (#1255)
dev issue (#1258)
Design QA testing issue (#1259)

Acceptance criteria

[ ] Accessibility testing is complete.  Pattern is compliant.
[ ] All browser versions are tested
[ ] All operating systems are tested
[ ] All devices are tested
[ ] Defects are recorded and retested when fixed
[ ] A comment is posted in the Design QA issue, tagging Wonil and Roberta, when development is finished
[ ] Assign Wonil to the Design QA issue

@Praveen-sr @chetankan This pattern is ready for Prod QA testing.  The Pull Request is (#1349)
cc:  @mkothur


fix(dep): Remove antd as direct dependency of common

This could be a fix for #474 and the other related issues.
This ignores the type import of antd and casts it to any if antd is not installed.
Additionally, the antd dependency is downgraded to peer in common.
If ui is installed the direct dependency would lead to the correct typing being filled in.

Something that could be interesting, is doing the same thing with form-render, but I am unsure if form-render is a real dependency

The tests are passing with form-render as peer as well.
Should I do additional checks?

Hey @sebimarkgraf !
Sorry for the delayed response.
I plan to merge it if everything works fine on my end after verification.

Hi @hand-dot, any update on this MR, thank you.

Hey @sebimarkgraf
Sorry for the delayed review.
I will merge it now and release it in a patch version!
Thank you for your contribution!

Released as V4.0.2!!


Use different session keys for different environments

The issue
Currently the login session preservation uses the same key in LocalStorage, across different environments (mainnet vs. testnet)
https://github.com/portto/blocto-sdk/blob/30635a0fbad005c36c4d56e9d3fd7582b9f5632f/src/providers/blocto.ts#L18
For developers that are testing the same site domain (i.e. localhost:3000) and is switching between networks, the login session may be mixed up and cause troubles
Possible solution
Use different LocalStorage keys across different networks

Fixed #154


Access directly to web

can i access directly to link on web? for example http://mysite.com/help.html to show and parse that without attaching to application or using HttpConnection

Without changes, links should open a regular browser (using an intent internally). If you want to load content in HtmlView, you'll need a HttpConnection, but it should be straightforward -- similar to the demo. See issue #17 for how to intercept clicks on links.


Add new InternalAffairs/RedundantLetRuboCopConfigNew cop

Follow https://github.com/rubocop-hq/rubocop/pull/9421.
This PR adds new InternalAffairs/RedundantLetRuboCopConfigNew cop.
It checks that let is RuboCop::Config.new with no arguments.
# bad
RSpec.describe RuboCop::Cop::Department::Foo, :config do
  let(:config) { RuboCop::Config.new }
end

# good
RSpec.describe RuboCop::Cop::Department::Foo, :config do
end

RSpec.describe RuboCop::Cop::Department::Foo, :config do
  let(:config) { RuboCop::Config.new('Department/Bar' => configuration) }
end

No changelog entry has been added to the changelog due to this cop is for use inside development.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[ ] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Nice!

Nice!


Visual parent navigation

This PR implements #28
Before:

After:

Hi, @tokejepsen, got a few questions for you :)
If I click the Animation at sq001 then jump into Maya or other hosts, am I able to publish my work in this context ? If so, where would it be (file path) ?
I imagine this is for assembling or reviewing all the child assets of sq001 at a higher level ?

I have updated the description with how it looks before this implementation.

If I click the Animation at sq001 then jump into Maya or other hosts, am I able to publish my work in this context ? If so, where would it be (file path)

Yeah, you would be able to publish your work in the sq001 > Animation context. How your config/workflow deals with this, is entirely up to you. Having episode/sequence/shots is existing behaviour in Avalon. Technically they are all just assets in the database.
What this PR focuses on is the logistics of navigating such hierarchies. As you can see before it would just show a long list of assets in the database, even though they are a hierarchy in the Project Manager which supports visual parents.
What might be slightly confusing now, if that the silo is still called "shots" when it contains episodes and sequences as well.

@aardschok what do you think?
I am not too sure about how much priority the tasks get when browsing into one of the parents. Logically it makes sense, but browsing to children becomes slower because of the arbitrary amount of tasks you need to "ignore". I am not too sure about this one.

I actually prefer the previous behavior.
For 10+ shots it might get a little cumbersome to navigate though, but I'm not confident solving that with more clicking is the best approach. Maybe a search field at the top? Default to any keyboard events being entries into the search field?

I am not too sure about how much priority the tasks get when browsing into one of the parents. Logically it makes sense, but browsing to children becomes slower because of the arbitrary amount of tasks you need to "ignore". I am not too sure about this one.

We could put the children at the top, instead of the tasks?
@BigRoy have you guys had a production with episodes/sequences?

For 10+ shots it might get a little cumbersome to navigate though, but I'm not confident solving that with more clicking is the best approach. Maybe a search field at the top? Default to any keyboard events being entries into the search field?

Another way of showing the shots would be similar to how the Project Manager shows it, with a tree view. Although that is a bigger rewrite of the launcher.

Update :)

Group Tasks.
Use labels for breadcrumbs.

Another way of showing the shots would be similar to how the Project Manager shows it, with a tree view. Although that is a bigger rewrite of the launcher.

Actually I think a tree-view is what we have at the moment; they just aren't collapsible. Could it be worth looking into how Pyblish QML does it?
E.g. this

Or wait, now that I look at it, the "before" gif doesn't make sense at all. The sequences are in the same list as the shots, but not "parented" appropriately.
Maybe it would be a bigger rewrite..

How about displaying the visual parent like this?

How do we feel about this PR? Think maybe going back to traversing is best then merge.

Now I know about visualParent, I got this to work. :)
The traversing option would definitely work the best in my opinion. That's what I have now set up for myself.
But like @mottosso mentioned, a tree view might be best. Maybe the same way as in the Project Manager to keep things consistent? How much work would that be? I'm willing to give it a shot, but I don't have any QML experience. Also, does it make sense or would it be better to spend time on Launcher 2.0?

Launcher 2.0 has become Allzpark, and I'll be putting together a transition guide for this next week once the first release is out. It goes a little beyond what Launcher (1.0) is able to do, and touches on a number of additional important aspect of pipeline management, like how developers distribute software to artists, and how to replicate a local environment remotely, for e.g. rendering and archiving/retrieval and perhaps most importantly how to manage a reproducible environment for projects and applications with associated libraries/dependencies/plug-ins.
The way I'm picturing this visual parent to fit, is by appending a tree-view browser to the current project selection widget.

@mottosso I did have a quick look at Allzpark. Seems very useful. For now I will simply stick to a 'hacked' version of Launcher 1.0 and later have a more thorough look at Allzpark.

Going to close this PR now.
There are talks about a launcher 2.0 which might address this problem, but also the non-QML launcher by @BigRoy has the tree widget which is much better than any of this.


WIP: Jruby support

Add support for JRuby. WIP, uses forked oxi-test gem, see #285

It appears that actions/setup-java breaks oxidize-rb/actions/setup-ruby-and-rust cache on macos - cargo suddenly becomes linux binary. I had to run gh cache delete --all to bypass this.


create a "not-in-cljs.edn" build

@joshhead suggests the ability to determine which clojure core functions are not available in cljs.  We won't be able to add a flag to cljsdocs since its existence precludes the possibility.  Will have to create a separate build.

fixed https://github.com/cljsinfo/api-docs-generator/commit/5d4c2f9b715aeffa4e3cd6607d7b1822f9b27086
There is a :clj-not-cljs key in the new autodocs.edn
we also create a plaintext not-in-cljs file for readability

Excited for this one.


chore: 🤖 Specifies a Node version using a .nvmrc file

✅ Closes: #50
Since we aren't using Docker to control the Node version we now use the next best thing. NVM
Updated the Readme to include Local Dev initial setup steps.

:tada: This PR is included in version 2.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Return HTTP 409 if get parallel put request

opendistro-for-elasticsearch/security pull request intake form
Please provide as much details as possible to get feedback/acceptance on your PR quickly

Category: (Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation)
Bug fix

Github Issue # or road-map entry, if available:
#1095

Description of changes:

Why these changes are required?

What is the old behavior before changes and new behavior after changes? (Please add any example/logs/screen-shot if available)

Send parallel put/delete requests
before:
returns
{"status":"INTERNAL_SERVER_ERROR","message":"Error [internalusers]: version conflict, ......
after:
returns
{"status":"CONFLICT","message":"[internalusers]: version conflict, ......

Testing done: (Please provide details of testing done: Unit testing, integration testing and manual testing)

Unit test
Manual testing with Curl
PUT _opendistro/_security/api/internalusers/test1
{
  "password": "test1"
}
PUT _opendistro/_security/api/internalusers/test1
{
  "password": "test1"
}

returns
HTTP/1.1 409 Conflict
content-type: application/json; charset=UTF-8
content-length: 160

{"status":"CONFLICT","message":"[internalusers]: version conflict, required seqNo [29], primary term [6]. current document has seqNo [30] and primary term [7]"}
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 44

{"status":"OK","message":"'test1' updated."}

TO-DOs, if any: (Please describe pending items and provide Github issues# for each of them)

Is it backport from main branch? (If yes, please add backport PR # and commits #)

By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1158 (f11acab) into main (aafa36d) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##               main    #1158      +/-   ##
============================================
- Coverage     64.56%   64.56%   -0.01%
- Complexity     3167     3169       +2
============================================
  Files           244      244
  Lines         17124    17126       +2
  Branches       3036     3037       +1
============================================
+ Hits          11056    11057       +1
- Misses         4522     4526       +4
+ Partials       1546     1543       -3

Impacted Files
Coverage Δ
Complexity Δ

...arch/security/dlic/rest/api/AbstractApiAction.java
75.29% <0.00%> (-0.61%)
66.00 <0.00> (ø)

...relasticsearch/security/rest/TenantInfoAction.java
77.61% <0.00%> (-10.45%)
15.00% <0.00%> (ø%)

...ecurity/configuration/ConfigurationRepository.java
73.77% <0.00%> (+1.09%)
21.00% <0.00%> (ø%)

...earch/security/auditlog/impl/AbstractAuditLog.java
75.72% <0.00%> (+1.58%)
94.00% <0.00%> (+3.00%)

Continue to review full report at Codecov.

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

Please add UT

Unit test added

Please split into 2 PR. Fix for parallel put request with unit test and refactoring of RestHandler.

were we throwing 500 before this PR for conflict ?

@hardik-k-shah yes, we were throwing 500 instead of 409


Add gke-gcloud-auth-plugin plugin to dockerfile

What this PR does / why we need it:
This PR adds the gke-gcloud-auth-plugin binary to the Dockerfile, in preparation to remove dependency on vault and static k8s credentials. See https://github.com/gojek/merlin/pull/331. This PR can be merged first without affecting existing merlin code in main branch.
Reason:

GKE clusters now support authentication via plugin

gke-gcloud-auth-plugin is a go binary. Source code can be found here

There are 3 ways to install the plugin:

via gcloud cli: gcloud components install gke-gcloud-auth-plugin --quiet
via go install <package>

Howver, go install <plugin> returns this error

➜ go install github.com/kubernetes/cloud-provider-gcp/cmd/gke-gcloud-auth-plugin@929b1354f904a55d42389ae2a75021
042e62e40f
go: downloading github.com/kubernetes/cloud-provider-gcp v0.0.0-20221223184326-929b1354f904
go: github.com/kubernetes/cloud-provider-gcp/cmd/gke-gcloud-auth-plugin@929b1354f904a55d42389ae2a75021042e62e40
f (in github.com/kubernetes/cloud-provider-gcp@v0.0.0-20221223184326-929b1354f904):
        The go.mod file for the module providing named packages contains one or
        more replace directives. It must not contain directives that would cause
        it to be interpreted differently than if it were the main module.

via apt-get install google-cloud-sdk-gke-gcloud-auth-plugin

The go binary is built using go-alpine image, so this approach is not suitable as apt-get is only applicable to debian images

Final approach uses gcloud-sdk-cli:alpine image as a build stage to download the gke-gcloud-auth-plugin binary, and copy the binary into the final image.
The only disadvantage of installing gke-gcloud-auth-plugin this way is that gcloud cli is not available. gke-gcloud-auth-plugin defaults to using gcloud to retrieve gcp access token.
To get around this, the argument --use_appliaction_default_credentials needs to be supplied when providing model cluster / image builder cluster K8sConfig from
https://github.com/gojek/merlin/pull/331

gke-gcloud-auth-plugin --use_application_default_credentials

Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

NONE

Checklist

[ ] Added unit test, integration, and/or e2e tests
[ ] Tested locally
[ ] Updated documentation
[ ] Update Swagger spec if the PR introduce API changes
[ ] Regenerated Golang and Python client if the PR introduce API changes

Hey guys any comments on this? @ariefrahmansyah @tiopramayudi


Objective-C

Hi,
This library works with objective-c?
Has any docs available?

Hey! Docs are available on: https://developer.kayako.com/messenger/ios/installation/

This library works with objective-c?

There's no native Objective-C integration, but you can make a .swift file that actually does all the work (like the example function at the bottom of this page) and call it from your Objective-C classes.

Hey @lucianocn I'm going to move discussion about this to #6 . Rest assured, we're working on a much better experience for Objective-C devs (we also welcome community contributions 😁, so don't hesitate to submit a PR).


specify volmode / default volmode

I think there's a usecase of having a configurable volmode, either as iohyve default (or take the sysctl default) or per created machine
E.g. for performance monitoring I would like to monitor the disk-usage via gstat. gstat works with geomproviders only.
Is there any drawback using volmode geom instead of dev? (default sysctl is 1 = geom)

There was a time when volmode=geom would break things, but that doesn't seem to be the case anymore.
This is a great idea, we will probably keep volmode=dev the default (unless someone convinces us otherwise), but add the ability to change it with a properties setting.

This has been added to the list. Closing issue.


Fixes wrong environment name

Fixes wrong environment name in multi environment launch settings documentation sample.
The launch profile is named EnvironmentsSample-Production so i guess the environment should also be Production and not Development

Thanks for the fix. Be sure to check out your name as a contributor about the 3rd of next month on the What's new page in the Community contributors section at the bottom.

@cheesi  can I ping you when I have questions on running ASP.NET Core on Azure App Service Linux?


(just) rename a variable for clarity

Use singular name when creating a new predicate expression for addPredicate($predicate), especially inside the loop. Leave it alone when the $predicates argument is used directly.

Thanks, @pine3ree!


Fix array type stride information

By not forwarding struct member decorations, information is currently lost, e.g. the stride of matrix types inside an array will always be 0. There might be more similar cases, I added the forwarding of the struct member decorations to all nested types. And also added a testcase for this.
My editor automatically removes whitespace, I split that off into a separate commit, the real changes are only in the second commit. If you want to keep the whitespace, I'll kick the commit out.
By the way: To run the tests I had to update googletest to master, GCC 11 outputs a warning and fails to compile (Werror) with the referenced version. And even after regenerating all shaders and golden yaml files I still get 2 errors in hlsl tests unrelated to this change.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@nyorain what is the status of this PR? I realize you just added a test, but not sure what code change was made to spirv_reflect.c itself
(also clang-format was added, so trailing whitespace is fixed now)

Uh seems like the fix itself got lost somehow. I think it was forwarding p_struct_member_decorations in recursive ParseType calls (e.g. for vector/matrix/sampleImage/(runtime)array/pointer) as in this commit.
I'm not using spirv_reflect anymore, might have been fixed in the meantime. Feel free to add the test and fix as needed.


Upgrade Alpine version in Runtime Provisioner

Description
Changes proposed in this pull request:

Upgrade Alpine version in Runtime Provisioner

Related issue(s)

/retest


Stack rnn ntm to 1

Make stack rnn, ntm support keras1, some minimal modification to remove build errors

awesome, thanks a lot!


CUDA support unavailable

There seems to be no CUDA support.
Running Patchcore on a custom dataset. Works fine with cpu but takes forever to train. gpus set to 1 and auto_select_gpus set to True in config file.
My machine has NVIDIA GeForce RTX 3060. However, with the env activated, torch.cuda.is_available() is False.
Made the installations as follows:
conda create -n anomalib_env python=3.8
conda activate anomalib_env
git clone https://github.com/openvinotoolkit/anomalib.git
cd anomalib
pip install -e .

Closing this as the discussion continues in #232


[WIP] Add scikit-garden forest estimators to skopt

Fixes #548
Move the code back into scikit-optimize to reduce the number of
dependencies of this library. scikit-garden provides mondiran forests
which require cython and hence a compiler. This adds complexity that we
do not yet need as we don't use mondrian forests.

Merge?

still times out huh
LGTM anywasy

The timeout is annoying, especially as it didn't used to. So the question is: how could this have made it slower??


Support switch between Debug and Release in Visual Studio

Support switching between Debug and Release configuration within the SuperBuild solution file in Visual Studio, having both configurations within the same (CMake generated) Build directory.  As discussed w/ Floris, by mail, "RE: error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in elxImageCompare.obj"

My related quetion at https://superelastix.slack.com/archives/C04ET6MCR/p1497883149614749 :

@kaspermarstal Regarding #49 (Support switch between Debug and Release in Visual Studio): Do you have an idea how to possibly set the SuperBuild install directory for ITK (for example), so that Debug and Release would be installed on different locations? What does "-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>" and "ExternalProject_Get_Property( ${proj} install_dir )" do (and why?) in ExternalITK.cmake?

It appears not feasible to fix this issue, as our SuperBuild links to third-party components, placed in "prefix" directories installed by CMake. The problem is that such a prefix directory always has the installation for exactly one configuration type. It's not feasible either to have a separate installation, for each configuration type, for each third-party component, because find_package will only fine one of them (for each third-party component).
Given this situation, I'm proposing to postpone or reject this issue, and instead, fix  #69 (Support only one configuration per Visual Studio solution).

Closed as it is not feasible to implement it currently, and it is superseded by #49 (Support switch between Debug and Release in Visual Studio). Discussed at today's sprint.


Away since indicator

The page currently states:

The Last seen or Away since indicator is always enabled for users in Teams if the organization also uses Skype for Business.

What does "uses Skype for Business mean"? Does this correspond to the setting of  Coexistence mode (Islands, Teams Only?)
What happens if the organization does not use Skype for Business? Is the Away since indicator enabled or not? Can I be disabled in this case?

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

ID: a162ef5c-3099-7f58-4178-d29e3ec2b5a7
Version Independent ID: 6ca31e56-052d-6c62-1323-b5aaaae1f04a
Content: User presence in Teams - Microsoft Teams
Content Source: Teams/presence-admins.md
Service: msteams
GitHub Login: @SerdarSoysal
Microsoft Alias: serdars

@joergrenn Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

@scanum what exactly should I get resolved via service ticket?
I have raised this issue because I am missing documentation about the last seen indicator in case the organisation does not use Skype for Business. And have asked in addition to explain in more detail what it means to "use skype for business".
This is an issue with the documentation, not with my tenant.
Also in my opinion the documentation is part of the product, so the developers and the writers of the documentation should be the same people or at least talk to each other. I as a customer do not have a communication channel to the engineering team.


Support hash fragment in URL

AS seems to remove "hash fragement in URL" in post, when it expand the URL into a fancy clip.
There are 2 popular use cases for using hash fragment.

Anchor to jump to specifict location on a web page (e.#section-1).
To indicate state of resource on a dynamic web page. (#!foo, #/bar)

1 is obviously standard and useful, which should be supported, IMO.
2 is recently considered bad practice, since pushState API came on web standard. Though that trends, using hash-fragment for use case 2 is so far from vanished.

It is a feature of QuoteIt.
And QuoteIt does NOT remove hash fragments and hashbangs.
For example, try below URLs and check quoted urls.

https://github.com/#aws
https://twitter.com/#!/mzp

But there are 2 problems:

Redirection sometimes removes hash fragments.
Hashbang is browser feature which needs javascript, so it is too difficult to support on a web application.

If you have good idea to resolve these problems, please send us pull-request!

Yes, AS keeps hash fragment if https used, but removes if http used.

"too dificult to support on a web application"
Do you mean that it is hard to make QuoteIt capable to quote the section specified by hash fragment ?
If my understanding is correct, I agree that.
But, what I wanna point in this issue is that AS/QuoteIt keeps hash fragment simply in the clips that it generates.

It works at mine. Send a example URL or pull requests.

Oh, sorry. I forgot to show example for repro.
Try these.
http://github.com/#aws
http://www.google.co.jp/trends/explore#q=java%2C ruby&cmpt=q&tz=
Hash fragment were removed when I posted those on AS hosted on
http://asakusa-satellite.org/chat/room/4e3600462620a454d9000bf2

OK, I understand this problem.
If a site has an OpenGraph tag and the tag is wrong, quoted URL will be wrong.
Your example URLs both have this problem.
I changed this behavior in https://github.com/codefirst/QuoteIt/pull/26 .
Please try again.


Graphical Login Box

It would be very useful to have a graphical login box so that if one wants to launch FreeRDP from a desktop shortcut, one does not have to leave their username and password there in plaintext, and does not need to leave a terminal open. Preferably, this would eventually include the ability to securely remember credentials, as in the native Windows client. This feature is made especially useful by the fact that a lack of -u flag neither prompts for a user in the terminal nor brings up the Windows login screen, as with rdesktop.

You could use zenity to make a poor mans GUI launcher, at least until Remmina support arrives for 1.0:
xfreerdp -u $(zenity --text username --entry) -p $(zenity --text password --entry) $(zenity --text host --entry)


remove Disabling password login section as it's confusing to new users

Per https://github.com/openaps/docs/pull/151 and discussion at https://gitter.im/nightscout/intend-to-bolus?at=57732a6a97171715547e48d1, probably best to just remove the Disabling password login section as it's confusing to new users.  Any objections?

No objection here. I think that is a good idea. Never disabled pwd login myself.


comment out all instances of manual query cancellation

experiment with removing query cancellation
Here's what I see in a couple conditions
(1) state as of changes in this PR:

all manually query cancellation removed
observeContextColumnWidth reactive statement commented out

Results:

everything above the fold loads in about 15 seconds,
loading keeps going for stuff below the fold
no queries cancelled

https://github.com/rilldata/rill/assets/2380975/5ed313ac-b47a-4fed-84d0-6d3f0fd163d6
(2) Main before this PR, but without observeContextColumnWidth

manual query cancellation in place
observeContextColumnWidth reactive statement commented out

Results:

everything above the fold loads in about 15 seconds,
loading keeps going for stuff below the fold
no queries cancelled
https://github.com/rilldata/rill/assets/2380975/194cfdfc-769a-4fdb-9acb-ad7b5d115205

@AdityaHegde and @djbarnwal  would love to get your takes on this also before we go forward with any changes.
@ericpgreen2 and I have been looking at query cancellation in the context of https://github.com/rilldata/rill-private-issues/issues/112, and think that we might be doing extra manual cancellations in places where tanstack should be able to do that automatically. I think that as a team, we need to audit all of those manual cancellation and understand why they are needed, and if they can be removed.
@AdityaHegde, I've assigned this to you because I think you probably know the most about the intersection between runtime and client here. I think "done" on this would be code comments for any places we want to retain manual query cancellation. I don't mind making the changes in this PR if you just want to put those comments as review comments.

I haven't personally worked a lot with query cancellation and relied on tanstack for it. I am up for removing manual cancellation if they don't have any performance implications.

@ericpgreen2 cleaning this up to get it over the line -- removed changes in ModelBody.svelte and resource-invalidations.ts, per you and @AdityaHegde's suggestions


Allow returning raw payload

Hi, Thanks for your library.
It will be great if we have a new function to return raw data, so that anyone can parse the payload manually.
if you are interested, I can make PR.
Thank you

Are you missing some data in the user object that is returned?

Yes, I can't access my custom claim, if I get the payload then I will parse values that I need

Ah yes indeed this data should be included. Send me a PR and I will check it.

I'm thinking of just creating a new function that return the payload and use the existing function getUserFromToken

I created a PR. please check it

@rebaz94 I've solved the issue by adding method "getCustomClaim" to the user object. I've released v1.0.2

@Gerrel Thats not solve the problem!, why I call getCustomClaim multiple times just to get the value?! if you do it anyway, you should make the _data field public because in my case I'm creating my own AuthUser and with that I can't do it

@rebaz94 check the readme. there is now access to the raw data.

Great, thanks you so much


pdb like breakpoint Multiprocess Debugging with Accelerator

Feature request
Is it possible to have a pdb-like debug breakpoint with Accelerator that stops the program even when training or evaluating with multiple processes?
Currently, when running with a single process, we can use the following code to stop the program and debug:
...
print('here')
pdb.set_trace();
...

However, this does not work when running multiprocess training. It would be highly beneficial to have an interface that stops the program during multiprocess training, allowing us to investigate the current state of variables. For example:
accelerator = Accelerator()
...

print('here')
accelerator.set_trace() # stop all the process here and we can investigate on the current variables.
...

Motivation
Switching between single-process and multiprocess training can be burdensome. Additionally, it's crucial to ensure that multiprocess training works correctly, even if single-process training is successful. A unified debugging interface would streamline the debugging process and improve productivity.

pdb does not work with multiprocessing and it probably requires some low level Python coding to make it work. IMO, this is outside of scope for accelerate. You'll probably find more success with extensive logging and old fashioned print debugging.


pip install csv2ofx fails on Windows 11 with python.org 3.12.2 installed

I was a software developer in my previous life, but I'm not an experienced python user by any stretch. I have python 3.12.2 installed (from python.org) on a Windows 11 machine. I wanted to try to use csv2ofx, but I got stuck when trying to install these libraries. This is the error trace i get. Am I doing something wrong here? Have i missed any steps? or is this in fact broken?
PS C:\Users\xyz> python --version
Python 3.12.2
PS C:\Users\xyz> pip install csv2ofx
Collecting csv2ofx
Using cached csv2ofx-0.30.0-py2.py3-none-any.whl.metadata (10 kB)
Collecting meza<0.47.0,>=0.46.0 (from csv2ofx)
Using cached meza-0.46.0-py2.py3-none-any.whl.metadata (23 kB)
Collecting python-dateutil<3.0.0,>=2.7.2 (from csv2ofx)
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting requests<3.0.0,>=2.18.4 (from csv2ofx)
Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting chardet<4.0.0,>=3.0.4 (from meza<0.47.0,>=0.46.0->csv2ofx)
Using cached chardet-3.0.4-py2.py3-none-any.whl.metadata (3.2 kB)
Collecting python-slugify<2.0.0,>=1.2.5 (from meza<0.47.0,>=0.46.0->csv2ofx)
Using cached python-slugify-1.2.6.tar.gz (6.8 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting xlrd<2.0.0,>=1.1.0 (from meza<0.47.0,>=0.46.0->csv2ofx)
Using cached xlrd-1.2.0-py2.py3-none-any.whl.metadata (1.3 kB)
Collecting dbfread==2.0.4 (from meza<0.47.0,>=0.46.0->csv2ofx)
Using cached dbfread-2.0.4-py2.py3-none-any.whl.metadata (3.6 kB)
Collecting ijson<3.0.0,>=2.3 (from meza<0.47.0,>=0.46.0->csv2ofx)
Using cached ijson-2.6.1.tar.gz (29 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting beautifulsoup4<5.0.0,>=4.6.0 (from meza<0.47.0,>=0.46.0->csv2ofx)
Using cached beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB)
Collecting PyYAML<6.0.0,>=4.2b1 (from meza<0.47.0,>=0.46.0->csv2ofx)
Using cached PyYAML-5.4.1.tar.gz (175 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
pip :   error: subprocess-exited-with-error
At line:1 char:1

pip install csv2ofx

  + CategoryInfo          : NotSpecified: (  error: subprocess-exited-with-error:String) [], RemoteException
  + FullyQualifiedErrorId : NativeCommandError

Getting requirements to build wheel did not run successfully.
exit code: 1

[54 lines of output]
running egg_info
writing lib3\PyYAML.egg-info\PKG-INFO
writing dependency_links to lib3\PyYAML.egg-info\dependency_links.txt
writing top-level names to lib3\PyYAML.egg-info\top_level.txt
Traceback (most recent call last):
  File "C:\Users\xyz\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_i

n_process.py", line 353, in
main()
File "C:\Users\xyz\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_i
n_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xyz\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_i
n_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\build_meta.py", line
325, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\build_meta.py", line
295, in get_build_requires
self.run_setup()
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\build_meta.py", line
311, in run_setup
exec(code, locals())
File "", line 271, in
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools_init.py", line
104, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools_distutils\core.py",
line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools_distutils\core.py",
line 201, in run_commands
dist.run_commands()
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools_distutils\dist.py",
line 969, in run_commands
self.run_command(cmd)
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\dist.py", line 967,
in run_command
super().run_command(command)
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools_distutils\dist.py",
line 988, in run_command
cmd_obj.run()
File
"C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\command\egg_info.py", line
321, in run
self.find_sources()
File
"C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\command\egg_info.py", line
329, in find_sources
mm.run()
File
"C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\command\egg_info.py", line
550, in run
self.add_defaults()
File
"C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\command\egg_info.py", line
588, in add_defaults
sdist.add_defaults(self)
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools\command\sdist.py",
line 102, in add_defaults
super().add_defaults()
File
"C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools_distutils\command\sdist.py",
line 251, in add_defaults
self._add_defaults_ext()
File
"C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools_distutils\command\sdist.py",
line 336, in _add_defaults_ext
self.filelist.extend(build_ext.get_source_files())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 201, in get_source_files
File "C:\Users\xyz\AppData\Local\Temp\pip-build-env-efnyeglc\overlay\Lib\site-packages\setuptools_distutils\cmd.py",
line 107, in getattr
raise AttributeError(attr)
AttributeError: cython_sources
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
Getting requirements to build wheel did not run successfully.
exit code: 1
See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.

It seems that meza is the culprit and that may have been fixed. However, I got around this problem running
pip install --force-reinstall "PyYAML==5.1" pip install meza pip install csv2ofx

Thank you montgomeryb.  I had the same problem and the workaround allowed me to build.

Thank you so much, montgomeryb!  I've been fighting the same issue for an hour and finally thought to look here.


Deploy to cloud using Dockerfile

Documentation Issue
We've added the ability to pass a Dockerfile path for a cloud project, but this is undocumented.
Add docs and a template/example of this.
Additional Details
Main goal of this should be to accommodate monorepos using pnpm.

This will be needed for Payload 3.0.

pnpm is now supported natively in Payload Cloud, no need for this specific example.


correctly de-dup DNS/SDS hosts based on address

Previously we would incorrectly keep adding hosts and essentially
leak memory.
fixes https://github.com/lyft/envoy/issues/433

@lyft/network-team @timperrett


webstorage spec is missing

Spec: https://www.w3.org/TR/webstorage/
Tests: https://wpt.fyi/webstorage

@tidoust if there's a trivial flow for me to self-resolve these as I file them, let me know :)

Uh, disregard this issue. The content of webstorage is all in html (which, personally, I don't agree with, but hey.)

Hmm, are you sure you want to add that one? That spec has been folded into the HTML LS spec, and thus the IDL it defines already appears in html.idl (and will be tested as part of that).
Reffy crawls that spec to create the W3C-centric perspective, given that HTML 5.3 does not include Web Storage. Not including that spec in the WHATWG-centric crawl was done on purpose.
Process-wise, I won't claim it is trivial, but I'm happy to give you push rights on both reffy and reffy-reports. To add an IDL spec, the easiest way would probably be:

In Reffy, add the spec URL to specs-idl.json
Then run the generation locally following the instructions, running npm run all (note you'll need a W3C API key set in a config.json file). This should generate reports, including IDL dumps in a reports folder.
Copy over the generated IDL file to the right position (two copies, one in the w3c folder and one in the whatwg folder) in a clone of the reffy-reports repository
Git add, commit and push the IDL files

Steps 2, 3, 4 are needed because the code that runs Reffy daily on a server does not add new IDL files to reffy-reports automatically. Alternatively, you could simply create placeholders (empty files) in reffy-reports, and the files should get filled with the right IDL content on the next day.

Ah, I see our comments just collided :)


Fixed action generator, raise exception if action name isn't supplied

Problem
Generate an action without action's name generate wrong files
lotus generate action admin users
      insert  apps/admin/config/routes.rb
      create  spec/admin/controllers/users/_spec.rb
      create  apps/admin/controllers/users.rb
      create  apps/admin/views/users.rb
      create  apps/admin/templates/users/.html.erb
      create  spec/admin/views/users/_spec.rb

module Admin::Controllers::Users
  class  # => Note this class without name, break code
    include Admin::Action

    def call(params)
    end
  end
end

Solution
Raise an exception if action's name isn't supplied:
lotus generate action admin users
# => Unknown action, please add action's name with this syntax controller_name#action_name

:+1:

@AlfonsoUceda Merged this, thank you! :cat2:


Added Exponent XDE.app v2.8.0

Checklist

[x] The commit message includes the cask’s name and version.
[x] brew cask audit --download exponent-xde is error-free.
[x] brew cask style --fix exponent-xde left no offenses.
[x] Checked there are no open pull requests for the same cask.
[x] Checked there are no closed issues where that cask was already refused.
[x] When naming the cask, followed the token reference.
[x] brew cask install exponent-xde worked successfully.
[x] brew cask uninstall exponent-xde worked successfully.

Closes #24295.

Thanks!


Restate Service as a hybrid of a PartialFunction and a Service

@bryce-anderson says HttpService as a Kleisli is a hack, and he's not wrong.  Trying various ways to make HttpService fit as either a Kleisli or a PartialFunction has ended in tears multiple times (#53, #315, #392).
Partiality is a useful concept in defining HttpServices, and PartialFunction a convenient syntax in Scala.  But viewing an HttpService directly as a PartialFunction leads to complicated middlewares and grumpy functional programmers.  We have tried and rejected this.
Re-enter Service as a custom data type.  It retains the combinators of Kleisli and the partiality of a PartialFunction.  In practice, we found that Fallthrough was only ever defined for a Response, so we expose apply only when the service returns a Response.   The Service appears total even while backed by a PartialFunction.  (On .run, as the type suggests, the warranty is voided.)
Client was never burdened with the notion of partiality, and thus remains a Kleisli in its full glory.

And now I remember why this is bad.  Some middleware asynchronously returns the fallthrough response.  See the Option Task vs. Task Option debates.
This PR is probably dead on arrival.

I can't help but feel that this friction in our framework is being driven by the core-dsl, and isn't actually a http4s-core concern. For example, rho doesn't have this problem at all. Of course this is just one example.

Does rho reject the orElse idiom?  I thought rho services were still partial.  Just not PartialFunctions, which is definitely a dsl-ism.

I think fallthrough does apply to rho.  But maybe only because it's the hand rho was dealt by core?  I guess and is more idomatic rho?

rho does have an orElse idiom, but it's not tied to PartialFunction. A rho service is more like a collection of endpoints which are pretty easy to concatenate internally. In my minds eye, the core-dsl should be in charge of providing a way to concatenate core-dsl services.
I suppose this is short-sighted, as in 'what if I have both rho and core-dsl services?', in which case we still need a core level orElse.
I'll have to do a little more thinking about this before I type myself into a corner.

I agree that orElse could be banished to DSL, but I think it makes sense in core if we continue to hold that an HttpService can pass on a request.  As long as both dsl and rho implement the same partial interface, it's nice that they can be combined in a unified way.

I think this was another failed experiment.  I remain open to better ways of doing things, but this wasn't it.


Results list sometimes populates with items that do not match query

I'm using a static array to populate the directive using the items-method. However, sometimes, the results list will populate with list items that don't match my query. However, when one of these results is clicked, they will change to a result that does match. See these screenshots:

Here is what my controller looks like:

  find = function(key, array) {
    var results = [];
    for (var i = 0; i < array.length; i++) {
      if (array[i].search(new RegExp(key, "i")) != -1) {
        results.push(array[i]);
      }
    }
    return results;
  }

  $scope.featuresList = function(query) {
    return find(query, $scope.propertyFieldOptions.exteriorFeatures);
  }

And my html:
<ion-autocomplete ng-model="property.exterior_features" items-method="featuresList(query)" multiple-select="true" placeholder="Enter exterior features..." class="text-right"/>

Hi Joel,
ok that looks strange. Could you maybe create a small sample with the https://github.com/guylabs/ion-autocomplete/blob/master/test/e2e/ion-autocomplete.multiple-select.e2e.html html template where this issue is reproducible? Do you also get this error when you do not call your find function and return a hardcoded array (as it is done in the ion-autocomplete.multiple-select.e2e.html template) instead?
Please also have a look at https://github.com/guylabs/ion-autocomplete#the-item-value-key and https://github.com/guylabs/ion-autocomplete#the-item-view-value-key options to be able to set the proper model and view of the items.
I just need some kind of reproducible template, because I never saw this kind of issue.
Thanks and regards,
Guy

Hi Joel,
any news on this?
Thanks and regards,
Guy

Hi Joel,
I will close the issue now. If you have any news on this please reopen it.
Thanks and regards,
Guy


feat: "last updated" blurb on posts

Check if Zola (or the theme) provides this. Otherwise, a shield would probably work fine (but might look weird without styling).
Totally not necessary btw

The apollo theme supports this out of the box! You can do this via a frontmatter field:
+++
title = "You should use GitHub"
date = 2024-07-19
updated = 2024-11-11
+++


Type imports break Astro

In my Astro project I'm using some shadcn components and for some reasonm out of my 3 components with client:load, one of them didn't run the JS on the client and React dev tools didn't recognize that one component either. I was also getting this error on my client console: Uncaught (in promise) SyntaxError: The requested module '/node_modules/.vite/deps/@radix-ui_react-dialog.js?v=6c257eda' does not provide an export named 'DialogProps' (at command.tsx:2:10).
In the latest version of the Command component you're doing:
import { DialogProps } from "@radix-ui/react-dialog"

which makes TS yell DialogProps is a type and must be imported using a type-only import when verbatimModuleSyntax is enabled.. Changing that to a type import fixed the problem.
This seems to be the case for some other components as well. Please make them a type import like this:
import { type DialogProps } from "@radix-ui/react-dialog"

It's really not ideal to make changes ourselves to the installed components as it makes the CLI diff command obsolete. A proper ESLint rule would catch these before they break things in our websites.
We all really appreciate the work you put in this library. But as #1436 suggests, the issue count is way too high right now. My other issue #889 which appears to be many others' problem as well has got no response yet. I hope to at least see an announcement to get more help from the community.

The Form component is also affected by the same type imports issue

I always enable verbatimModuleSyntax in my projects, and i always have to modify the imports in the shadcn Form.
Would love for all type imports to be imported with the type keyword by default, as they shouldn't break anything if you haven't enabled verbatimModuleSyntax.


Add support for Custom Element typeExtensions

The draft spec on Web Components Custom Elements (http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate) describes a new HTML and DOM API enhancement that allows for a custom element to extend a native element. For example, you could extend the <img> element to add a caption feature to it. This new feature has worked for a while in standard Chrome/Chromium.
On the Javascript-side, they added an argument to document.createElement() to pass the typeExtension. They also added a special DOM node attribute, named "is", whose value is the typeExtension that's been registered in Javascript.
For example:
<img is="img-ext" src="http://lorempixel.com/400/200/nature" caption="This is my custom caption!" />

The typeExtension here is named "img-ext".  The JSFiddle link below shows this working (please run in Chrome/Chromium).  It also shows the same extended tag NOT working correctly when created by Ractive, since Ractive doesn't know about the special "is" attribute nor the new typeExtension argument to document.createElement().
http://jsfiddle.net/3c2pfhgL/1/

Closing – #2044 has been ported to the current dev branch and will be included in 0.8


Pass service name as part of Downstream instruction

The tchannel service name was incorrectly hardcoded to "go".
This was creating false positives in Java crossdock tests,
since Java client does not yet support TChannel, but the
tests were succeeding because Go service was always called.

Coverage increased (+0.01%) to 73.58% when pulling adf9613d4d3f458bd42fa5c5be83251288815f9e on fix-tchannel-downstream-call into 747286d5e48783b71aff5787d756f97cc741a4f0 on master.

Coverage decreased (-0.09%) to 73.484% when pulling a3d8be0697b8c865309877ac18f628c15c0c0da3 on fix-tchannel-downstream-call into 747286d5e48783b71aff5787d756f97cc741a4f0 on master.

Coverage increased (+0.01%) to 73.58% when pulling e7010bc7edf23b48bb6c3d3a73b04a9c60c639e5 on fix-tchannel-downstream-call into 747286d5e48783b71aff5787d756f97cc741a4f0 on master.


Full documentation port from cppreference

Their license permits that.
We'll have to mention them in Useful links.
We'll have to contact the authors as well, maybe they will be willing to help us :)
Current status

[ ] #4
[ ] #5
[ ] #3
[ ] #6
[ ] #7
[ ] #8
[ ] #9
[x] #10
[ ] #11
[ ] #12
[ ] #13

Hi, I would like to help to complete some of these, if possible. I'm new to open source.

Hi @Awil13! You can come join us on discord: https://discord.com/invite/NvBNvpgUHZ to talk about it!


⚠ Bofrost.nl has degraded performance

In 510f9b6, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 805 ms

Resolved: Bofrost.nl performance has improved in 7f97e05 after 17 hours, 21 minutes.


invisible character settings are removed after first open

I just installed Atom on my new work computer for the first time and opened the settings. I noticed there were a few options for setting invisible characters, such as Cr, Eol, Tab, etc. This was surprising to me since I did not see those settings for Atom installed on my home computer. I checked to make sure both versions were the latest, which they were. I decided not to worry about it for the time being…
Then after quitting and reopening Atom on my new computer, the character settings were gone! I still have "Show Indent Guide" and "Show Invisibles" but no options to choose invisible characters.
 Thanks for the report -- gonna move this issue over to that package.
Note: you should still be able to change those config values by manually editing your config.cson file.

This issue was moved to atom/settings-view#611


CRA failed to run on windows

When I tried to start a project after just creating it with CRA on windows, It faild to buid after executing npm start , the output error it gives me is:
./src/index.js
Module build failed: Error: Failed to load plugin import: Cannot find module 'eslint-plugin-import'
Referenced from:
    at Array.forEach (native)
    at Array.reduceRight (native)

Please follow the issue template so we can help diagnose your problem. The template provides enough information for us to start to help and often solves problems without our help.

when I downgrade  to npm v4 the issue is gone, now everything works fine.