iOS Unimplemented methods

While starting the navigator I get couple of logs for different delegate methods. Is this something that is required?
[delegation.TopBannerViewController] Unimplemented delegate method in TopBannerViewController: NavigationServiceDelegate.navigationService(_:willArriveAt:after:distance:). This message will only be logged once.
[delegation.BottomBannerViewController] Unimplemented delegate method in BottomBannerViewController: NavigationServiceDelegate.navigationService(_:willArriveAt:after:distance:). This message will only be logged once.
[delegation.TopBannerViewController] Unimplemented delegate method in TopBannerViewController: NavigationServiceDelegate.navigationService(_:didPassSpokenInstructionPoint:routeProgress:). This message will only be logged once.
[delegation.RouteMapViewController] Unimplemented delegate method in RouteMapViewController: NavigationServiceDelegate.navigationService(_:shouldRerouteFrom:). This message will only be logged once.
[delegation.TopBannerViewController] Unimplemented delegate method in TopBannerViewController: NavigationServiceDelegate.navigationService(_:shouldRerouteFrom:). This message will only be logged once.
[delegation.BottomBannerViewController] Unimplemented delegate method in BottomBannerViewController: NavigationServiceDelegate.navigationService(_:shouldRerouteFrom:). This message will only be logged once.
[delegation.MapboxNavigationView] Unimplemented delegate method in MapboxNavigationView: NavigationViewControllerDelegate.navigationViewController(_:shouldRerouteFrom:). This message will only be logged once.

These delegate methods on iOS are not required and they are not implemented in the library.


Update ns-winuser-rawkeyboard.md

Clarify MakeCode.
Formatting fixes.

@DJm00n : Thanks for your contribution! The author(s) have been notified to review your proposed change.


glib version

Hey, forgive the lack of Linux/C expertise to know if this is even your issue.
I'm trying to get an effects processor going in Node. This project seems like probably the most promising avenue in terms of implementing the Web Audio API.
I've got this running great on my Mac, but I intended to get this working on my now outdated Jetson Nano dev kit that I bought several years back.
It ships with Ubuntu 18, and I managed to get Ubuntu 20 on there with an unofficial image.
Anyway, everything installs fine, but when I run it I get an error complaining that GLIB 2.35 can't be found.
I understand that to get that specific version, I'd need to go Ubuntu 22, or build from source and introduce some potential instability on my system.
But I guess my question is if there's a hard requirement on that version of GLIB and Ubuntu 20 won't work? Or is there just a bug and older versions will work and I can do something easy to have it pull in my current OS's version?
thanks! This is an amazing project BTW. If I can't get it working I'm just gonna get an RPI instead

Thanks! Yeah, I think I'll try to build GLIB from source then and see what happens. At this point, if I get pushed to an RPI 5, it has better specs anyway, so I can't complain

Maybe more simple would be to try to build this lib first, cf. https://github.com/ircam-ismm/node-web-audio-api?tab=readme-ov-file#manual-build

I think you mentioned building from source before, and I mistook that as I was laser focused on building another GLIB version from source.  It worked, but now I've run into other issues. The process is warning of some buffer underruns and it only keeps up so well. You do mention this in your README, so now I'm just having issues getting Jack working. I think I'm just gonna bail on the Jetson and go RPI 5. But I did manage to get my live vocal delay effect working using the Web Audio API in node, so I'm psyched. Thanks again for the great project!

Cool!
Indeed for this kind of application, ALSA wont do the job. You can have a look at pipewire too , we tested it recently as an alternative to Jack and it seems to work quite well. I don't really realize what it means to make it work though, didn't do that myself.
For RPis, maybe you would be interested with that then https://github.com/ircam-ismm/dotpi-install, that's still a work in progress and we might need some step by step guide, but it works quite well already

Thanks again! And tanks for the dotpi install suggestion. Not sure if I'm out of the loop, but I'm not familiar with dotpi. I can't tell what it is from your repo, and I'm not coming up with anything on google. It sounds like it might be an alternative OS, or maybe stripped down mod of Raspbian geared towards audio maybe?

Not sure if I'm out of the loop, but I'm not familiar with dotpi.

Yup that's very normal, the library is still in development. We indeed need to improve the doc but in short this is mainly a set shell scripts that allows you to prepare and configure a raw Raspberry Pi OS for node / audio applications in few minutes. It also installs a client for controlling fleets of devices in distributed settings, but this is rather a edge use case and we could make that optional if needed I imagine.
Let me know if you think it might work for you, that could be an occasion for us to improve the doc


fix Error analyze when lateral view + subquery rewrite

Proposed changes
Issue Number: close #7823
After the subquery is rewritten, the rewritten stmt needs to be reset
(that is, the content of the first analyze semantic analysis is cleared),
and then the rewritten stmt can be reAnalyzed.
The lateral view ref in the previous implementation forgot to implement the reset function.
This caused him to keep the first error message in the second analyze.
Eventually, two duplicate tupleIds appear in the new stmt and are marked with different tuple.
From the explain string, the following syntax will have an additional wrong join predicate.
Query: explain select k1 from test_explode lateral view explode_split(k2, ",") tmp as e1  where k1 in (select k3 from tbl1);
Error equal join conjunct: `k3` = `k3`

This pr mainly adds the reset function of the lateral view
to avoid possible errors in the second analyze
when the lateral view and subquery rewrite occur at the same time.

closed, fixed it #7865


Update WVT algorithm

A couple of things:
1 - Add docstrings documentation
2 - Write example notebook
3 - Update the algorithm to only use the regions in the initial WVT map
4 - Write function to wrap create_wvt and fit_wvt

@benjaminvigneron Were all of these implemented?

I just need to work on an example and everything should be done !

Awesome :D
On Fri, Apr 8, 2022 at 4:11 PM Benjamin Vigneron @.***>
wrote:

I just need to work on an example and everything should be done !
—
Reply to this email directly, view it on GitHub
https://github.com/crhea93/LUCI/issues/89#issuecomment-1093313974, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIF3T6H6ZZOEBYTSOTLXXM3VECHIXANCNFSM5RBXMS7Q
.
You are receiving this because you were assigned.Message ID:
@.***>

--
Merci Beaucoup,
Carter Rhea
Étudiant au doctorat en astrophysique à l'Université de Montréal
Consultant à Savoir-Faire Linux
mobile: +1<PHONE_NUMBER>
skype: carterleerhea
https://crhea93.github.io/


Are the CARGO_CFG_* environment variables safe to use in build scripts?

Cargo exposes some CARGO_CFG_* environment variables to build scripts. Here are the ones from my machine:
CARGO_CFG_TARGET_FEATURE=sse,sse2
CARGO_CFG_TARGET_ENV=gnu
CARGO_CFG_TARGET_VENDOR=unknown
CARGO_CFG_TARGET_HAS_ATOMIC=16,32,64,8,ptr
CARGO_CFG_TARGET_THREAD_LOCAL=
CARGO_CFG_TARGET_ENDIAN=little
CARGO_CFG_TARGET_ARCH=x86_64
CARGO_CFG_UNIX=
CARGO_CFG_TARGET_POINTER_WIDTH=64
CARGO_CFG_DEBUG_ASSERTIONS=
CARGO_CFG_TARGET_OS=linux
CARGO_CFG_TARGET_FAMILY=unix

In my case, I want to use them instead of manually parsing $TARGET. It'd be better since I could use the same type of cfg conditions in the build script as in the code.
But these variables are not documented in http://doc.crates.io/environment-variables.html. Should they be? Or are they meant for internal use only and should not be relied upon?
Thanks.
(This was briefly mentioned in https://github.com/rust-lang/rfcs/pull/2048#issuecomment-312918883).

Yes these are fine to rely on, they're just missing documentation.


"The domain you entered is invalid or unavailable" while adding custom domain

App Id:arn:aws:amplify:ap-southeast-1:922599857802:apps/d10enxu4hxhc65
Region:ap-southease-1
Step: adding custom domain
Status: showing error 'The domain you entered is invalid or unavailable'
Issue/question
I deployed Gatsby app in amplify from Github Repo. It can successfully deploy and build. Then from Domain Management, I tried to add my domain (DNS managed by Cloudflare) and press configure button. Then, it keep showing the following error.
Error message
'The domain you entered is invalid or unavailable'
Additional information
I'm sure that the domain is already existed and currently running. I just want to run with subdomain.

Hi @HeinMynn , could you please try following links? if you still have this issue, please let us know.
https://docs.aws.amazon.com/amplify/latest/userguide/to-add-a-custom-domain-managed-by-a-third-party-dns-provider.html
https://github.com/aws-amplify/amplify-console/issues/579
https://github.com/aws-amplify/amplify-console/issues/695

Hi @Joycehao19 , I already tried. I got error in step 5 while I press 'configure domain' button.

@HeinMynn Could you please share your domain with us?
For example, if the domain is awesomedomain.com.au, you could write abcdefghijklm.com.au

My domain is abcdef-ghijk.com

Why is this closed? What was the solution? I still get that error for any kind of domain I am typing it - literally everything I put.
On the dropdown list I get my hosted zones from route53 and when I choose them, i get the same error.
What was the solution of this?


some convert is  not smart ,is there any configure to set?

use  en_us_cmudict_forward.pt model ,
DON'T    [D][IY]-[OW]-[EH][N]-[T][IY
YOU'LL   [W][AY]-[OW]-[Y][UW]-[EH][L]-[EH][L]
BERGSON  [B][IY]-[IY]-[AA][R]-[JH][IY]-[EH][S]-[OW]-[EH][N]

Hi, uppercase words are treated as acronyms by default, try:
phonemizer("DON'T", lang='en_us', expand_acronyms=False)

thanks ，  that is work ！


Deploy fails: wrong folder is picked for deployment?

Describe the bug
Hello, I am trying to setup a GitHub Action to build and deploy my React front-end app to Azure Static Web Apps. My front-end app source folder is not at the root of my repository, but in a subfolder, let's say at 'src/web/'.
Building the app happens in a previous step and seems to be working correctly, the build output is in 'src/web/dist'.
I then use Azure/static-web-apps-deploy@v1 to only deploy and skip the build part.
Those are my parameters:
azure_static_web_apps_api_token: ${{ env.AZURE_STATIC_WEB_APPS_API_TOKEN }}
action: "upload"
app_location: "src/web/dist"
output_location: ""
skip_app_build: true

But then I get the following logs and error:
App Directory Location: 'src/web/' was found.
Looking for event info
Skipping step to build /github/workspace/src/web with Oryx
No Api directory specified. Azure Functions will not be created.
Either no Api directory was specified, or the specified directory was not found. Azure Functions will not be created.
The content server has rejected the request with: BadRequest
Reason: The size of the app content was too large. The limit for this Static Web App is 262144000 bytes. For a higher app size limit, consider upgrading to the Standard plan.

But my output folder (src/web/dist) size is around 250kb, so it seems like it is trying to deploy the whole parent folder (src/web) which is over 180mb. The log line 'App Directory Location: 'src/web/' was found.' points that way too.
The GitHub repository is not public, but here's a workflow file which is almost identical to the real one, with just some folder names changed and comments removed.
workflow.yml.txt
I do not have a staticwebapp.config.json file.
As I am still trying to setup this workflow, so I expect at least a different error message.
Thank you!

@oarchambault in the attached workflow file, I see an environment variable APP_LOCATION pointing to src/web/. I think this environment variables is taking precedence. I think all those three env variables can be removed from the workflow file as we're passing them as the parameters.
Can you please try it and let us know if it works. Thanks!

@vivekjilla That fixed it, thank you very much!
Do you know if this behaviour is documented? As a newbie using GitHub Actions it would have been nice to know.
Cheers!

I'm having this same exact issue, except it only happens when the workflow is run on a PR being opened.


⚠ Samsung has degraded performance

In 1e724cc, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3105 ms

Resolved: Samsung performance has improved in 989de37.


Inconsistent lxml dependency between langchain and langchain-text-splitters

Checked other resources

[x] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
conda install langchain=0.1.12 zeep=4.2.1

Error Message and Stack Trace (if applicable)
Could not solve for environment specs
The following packages are incompatible
├─ langchain 0.1.12**  is installable and it requires
│  ├─ langchain-text-splitters >=0.0.1,<0.1 , which requires
│  │  └─ lxml >=5.1.0,<6.0.0 , which can be installed;
│  └─ lxml >=4.9.2,<5.0.0 , which can be installed;
└─ zeep 4.2.1**  is not installable because it requires
   └─ lxml >=4.6.0 , which conflicts with any installable versions previously reported.

Description
I'm trying to install latest langchain along with some other packages depending on lxml. It appears that langchain requires lxml >=4.9.2,<5.0.0 but langchain-text-splitters requires lxml >=5.1.0,<6.0.0 which are incompatible. Since the former depends on the latter, it makes dependency resolution fail.
System Info
System Information

OS:  Windows
OS Version:  10.0.19045
Python Version:  3.10.13 | packaged by conda-forge | (main, Dec 23 2023, 15:27:34) [MSC v.1937 64 bit (AMD64)]

Package Information

langchain_core: 0.1.31
langchain: 0.1.12
langchain_community: 0.0.28
langsmith: 0.1.24
langchain_text_splitters: 0.0.1

Packages not installed (Not Necessarily a Problem)
The following packages were not found:

langgraph
langserve

The problem has yet to be solved for
langchain_community: 0.0.29

Does anyone have a workaround for this?

https://github.com/docugami/dgml-utils/pull/24 is merged and published as dgml-utils 0.3.3. Let me know if we can help resolve downstream issues. FYI @kenzie28.

For some reason langchain-community on conda still requires  lxml >=4.9.2,<5.0.0 https://anaconda.org/conda-forge/langchain-community/files even though it appears as <6.0,>=4.9.3, e.g., in https://libraries.io/pypi/langchain-community

cc @eyurtsev


Problems extending BQ to higher dimensions + more complex integrals

Hi,
Speaking to Neil he said this would be a good place to post a technical question. It is more about my lack of knowledge rather than a software issue, so if you would like it posted else where let me know :)
I have been playing around with Bayesian Quadrature in emukit (and using GPy to build my emulator). I have two questions
(1) Extending to High Dimensions with 'ARD' kernels.
I follow your worked example for the 1D_Hennig function. This works great! For my application I have a 4 dimesnional input space, so I have build a GP model in GPy
kernel = GPy.kern.RBF(input_dim=4,ARD=True)
m = GPy.models.GPRegression(X,Y,kernel)
m.optimize(messages=True)

When I try and do BQ I get an error
/usr/local/lib/python3.7/site-packages/emukit/quadrature/kernels/quadrature_rbf.py in qKq(self)
     74         erf_term = erf(diff_bounds_scaled) * diff_bounds_scaled * np.sqrt(np.pi)
     75
---> 76         return np.float(prefac * (exp_term + erf_term).prod())
     77
     78     # the following methods are gradients of a quadrature kernel

TypeError: only size-1 arrays can be converted to Python scalars

This is becuase I am using ARD Squared Exponential Kernel. Is there a way around this? With some digging in your code base I can't see an example or a different class to use. Or do I need to hack it, by rescaling my problem in each of the dimensions? Then retraining an isotropic kernel?
(2) BQ for more complex integral.
In the application I am looking at I actually want to do a more complex integral so if f(x) is my integrand which is expensive to compute, I also have a functional r(x) ( in my case a multivariant Gaussian) which is fast to compute, I want to do BQ on
I = \int f(x)r(x)dx
This is the setting laid out by O'Hagan in his BQ paper. Is there an example of this?
Thanks in advance for your help!
Best
Tim Dodwell
Turing & Exeter

Hi Tim,
yes, the github issues are a good place for this.

You are right, the error occurs because you are using ARD=True in the GPy kernel. The quadrature kernel in emukit currently only support a scalar lengthscale for multi-D problems (ARD=False). One way around it for now would be to do a change of variables as you suggest (see also here).
A more direct way would be to implement the appropriate QuadratureRBF (see 2) also since master branch diverged a bit from stable branch).

The example you posted suggests that you are using the stable branch. There is more functionality in the master branch and it might be better for you to work with the master branch (even though it might be changing slightly.)
The master branch contains integration of the RBF kernel against the standard Lebesgue measure, the multivariate isotropic Gaussian measure, and the multivariate uniform measure. It currently does not support integration against a multivariate Gaussian with a non-scalar covariance though. In case your integration measure is a Gaussian with non-scalar covariance, a (not so pretty but fast) way around this is to reformulate your problem as \int r(x)f(x)/p(x) dp(x) where p(x) is a multivariate Gaussian with scalar covariance. Then you would model r(x)f(x)/p(x) with a GP and integrate against p(x).

Currently there is no tutorial notebook which shows how to do the integration against a probability measure, but I'll post some example code below soon.
Thanks,
Maren

here are some code example that might work for you. they will work with master branch only. Dummy function here to make code work.
import numpy as np
import GPy
from emukit.core.loop.user_function import UserFunctionWrapper

def dummy_func(x):
    return np.ones([x.shape[0], 1])

user_function = UserFunctionWrapper(dummy_func)

D = 3 # dimensionality
N = 4 # number of initial observations

# initial observations
X_init = np.reshape(np.random.randn(N * D), [N, D])
Y_init = user_function.f(X_init)

# GPy model
gpy_model = GPy.models.GPRegression(X=X_init, Y=Y_init, kernel=GPy.kern.RBF(input_dim=D))

Then chose the appropriate measure and kernel.
from emukit.model_wrappers.gpy_quadrature_wrappers import BaseGaussianProcessGPy, RBFGPy
from emukit.quadrature.kernels.integration_measures import IsotropicGaussianMeasure
from emukit.quadrature.kernels import QuadratureRBFIsoGaussMeasure
from emukit.quadrature.methods.vanilla_bq import VanillaBayesianQuadrature
from emukit.quadrature.loop.quadrature_loop import VanillaBayesianQuadratureLoop

# Gaussian integration measure
measure = IsotropicGaussianMeasure(mean=np.zeros(D), variance=2.)

# wrap GPy model in emukit
emukit_qrbf = QuadratureRBFIsoGaussMeasure(RBFGPy(gpy_model.kern), measure)
emukit_gp = BaseGaussianProcessGPy(emukit_qrbf, gpy_model)
emukit_model = VanillaBayesianQuadrature(emukit_gp, X=X_init, Y=Y_init)
emukit_loop = VanillaBayesianQuadratureLoop(emukit_model)

# run the loop
emukit_loop.run_loop(user_function, stopping_condition=20)

# intgerate the model
integral_mean, integral_var = emukit_loop.model.integrate()

Hope that helps,
Thanks,
Maren

Thanks Maren! That is super!

This seems to be resolved. I am closing the issue.


Remap PowerKey to another key not emulate other keys behaviour

Hi,
I purchased the license, is there a way to remap power key behaviour to some other key, not emulating other to power key
For Eg i dont want power key to act as escape, rather i want escape key to act as power, is this possible via this tool ?

I want Escape key to act as Power, is this possible via this tool?

No, that's not possible via PowerKey. This tool only remaps the power key to a utility key; not the other way around.
I will add this to the readme.
Try out Karabiner Elements for what you need: https://github.com/pqrs-org/Karabiner-Elements

thanks for the update, since i would not be using it, possible to refund $ back into my account, i dont have your email, you can email me with Title: Refund Reverse will send you the details

Please reply to me via the gumroad notification (or post the email or name you used) and I can.


KNOX-2226 - Add home page to Knox

What changes were proposed in this pull request?
Added a new landing - home - page for Apache Knox as well as a new REST API endpoint to query the following information (displayed on the new home page):

general proxy information

Knox version
public certificate PEM and JKS
Admin UI URL
Admin API Details

topologies

topology name
API/UI services (short/long description, Knox service URL, context path)

To be able to display useful service information I enriched the existing service definitions (service.xml files) with the following metadata section:
    <metadata>
        <type></type>
        <context></context>
        <shortDesc></shortDesc>
        <description></description>
    </metadata>

Two new Maven modules got created:

knox-homepage-backend: contains the REST API endpoint code and related beans
knox-homepage-ui: contains the new home page front-end code (Angular2) and the required webapp related resources (web.xml, gateway.xml, shiro.ini where needed)

The release process has been modified too: until now the $KNOX_DATA_DIR/deployments folder got created the first time a topology was deployed as a web application. From now on, a static deployment comes with Knox OOTB called homepage. This deployment consists of two web applications: one to handle the new homepage API and another one to support the new UI.

The homepage API
The new REST API's base URL is https://$KNOX_HOST:PORT/home/api/v1.
This new REST API requires basic authentication (to accommodate what we have in default topologies I choose LDAP authentication using the demo LDAP server).

To query general proxy information the following end-point should be used:

https://$KNOX_HOST:PORT/home/api/v1/generalProxyInformation

To query all topologies the following end-point should be used:

https://localhost:8443/home/api/v1/topologies

Note: by default admin, manager and knoxsso topologies are hidden, meaning they won't be added in the final result when hitting the above URL. End-users can change the list of hidden topologies by declaring knox.homepage.hidden.topologies configuration in gateway-site.xml. This is configuration must hold a comma-separated list of topology names if defined.

To query a particular - non-hidden - topology the following end-point should be used:

https://localhost:8443/home/api/v1/topologies/$topologyName

The homepage UI
The Knox Home page is available here: https://$KNOX_HOST:PORT/home.
Consists of two sections: general proxy information and topology browsing (see a detailed list of displayed items above). The UI uses SSOCookieFederationFilter to authenticate trough KnoxSSO.
How was this patch tested?
JUnit:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21:19 min (Wall Clock)
[INFO] Finished at: 2020-02-13T23:05:12+01:00
[INFO] Final Memory: 431M/2205M
[INFO] ------------------------------------------------------------------------

I executed a comprehensive manual test to see if both the new API and the home page works as expected.
Fetching general proxy information:
$ curl -iku admin:admin-password -H "Accept: application/json" 'https://localhost:8443/home/api/v1/generalProxyInformation'
HTTP/1.1 200 OK
Date: Thu, 13 Feb 2020 21:57:36 GMT
Set-Cookie: KNOXSESSIONID=node01r98b7eu5863f1s6rdlh3ypxri2.node0; Path=/home/api; Secure
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/home/api; Max-Age=0; Expires=Wed, 12-Feb-2020 21:57:36 GMT
Content-Type: application/json
Content-Length: 412
Server: Jetty(9.4.26.v20200117)

{
   "generalProxyInfo" : {
      "version" : "1.4.0-SNAPSHOT (hash=925c42bd8c7ff6c1a83cfdb10896f91f5d6c00a5)",
      "publicCertPemPath" : "assets/gateway-client-trust.pem",
      "publicCertJksPath" : "assets/gateway-client-trust.jks",
      "adminUiUrl" : "https://localhost:8443/gateway/manager/admin-ui/",
      "adminApiBookUrl" : "https://knox.apache.org/books/knox-1-4-0/user-guide.html#Admin+API"
   }

Fetching all (non-hidden) topologies:
$ curl -iku admin:admin-password -H "Accept: application/json" 'https://localhost:8443/home/api/v1/topologies'
HTTP/1.1 200 OK
Date: Thu, 13 Feb 2020 21:59:42 GMT
Set-Cookie: KNOXSESSIONID=node01l70ego3p0ytmr4f584n3eagn6.node0; Path=/home/api; Secure
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/home/api; Max-Age=0; Expires=Wed, 12-Feb-2020 21:59:42 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Server: Jetty(9.4.26.v20200117)

{
   "topologyInformations" : {
      "topologyInformation" : [ {
         "topology" : "cdp-proxy",
         "apiServices" : {
            "service" : [ {
               "context" : "/atlas/api/",
               "description" : "Atlas exposes a variety of REST endpoints to work with types, entities, lineage and data discovery.",
               "serviceName" : "ATLAS-API",
               "serviceUrl" : "https://localhost:8443/gateway/cdp-proxy/atlas/api/",
               "shortDesc" : "Atlas API",
               "type" : "API"
            }, {
            ...
               "context" : "/zeppelin/ws/",
               "description" : "Apache Zeppelin is a web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more.",
               "serviceName" : "ZEPPELINWS",
               "serviceUrl" : "https://localhost:8443/gateway/cdp-proxy/zeppelin/ws/",
               "shortDesc" : "Zeppelin WS API",
               "type" : "API"
            } ]
         },
         "uiServices" : {
            "service" : [ {
               "context" : "/atlas/",
               "description" : "Apache Atlas provides open metadata management and governance capabilities for organizations to build a catalog of their data assets, \n            classify and govern these assets and provide collaboration capabilities around these data assets for data scientists, analysts and the data governance team.",
               "serviceName" : "ATLAS",
               "serviceUrl" : "https://localhost:8443/gateway/cdp-proxy/atlas/",
               "shortDesc" : "Atlas UI",
               "type" : "UI"
            }, {
               "context" : "/druid-coordinator-ui/",
               "description" : "The Druid Coordinator exposes a web GUI for displaying cluster information and rule configuration.",
               "serviceName" : "DRUID-COORDINATOR-UI",
               "serviceUrl" : "https://localhost:8443/gateway/cdp-proxy/druid-coordinator-ui/",
               "shortDesc" : "Druid Coordinator Console",
               "type" : "UI"
            }, {
            ...

               "context" : "/yarnuiv2/",
               "description" : "YARN Resource Manager Web interface (v2)",
               "serviceName" : "YARNUIV2",
               "serviceUrl" : "https://localhost:8443/gateway/cdp-proxy/yarnuiv2/",
               "shortDesc" : "YARN Resource Manager Web UI V2",
               "type" : "UI"
            }, {
               "context" : "/zeppelin/",
               "description" : "Zeppelin's web user interface allows end-users to explore Zeppelin notebooks.",
               "serviceName" : "ZEPPELINUI",
               "serviceUrl" : "https://localhost:8443/gateway/cdp-proxy/zeppelin/",
               "shortDesc" : "Zeppelin Web UI",
               "type" : "UI"
            } ]
         }
      }, {
         "topology" : "sandbox",
         "apiServices" : {
            "service" : [ {
            ...
            } ]
         },
         "uiServices" : {
            "service" : [ {
               "context" : "/druid-coordinator-ui/",
               "description" : "The Druid Coordinator exposes a web GUI for displaying cluster information and rule configuration.",
               "serviceName" : "DRUID-COORDINATOR-UI",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/druid-coordinator-ui/",
               "shortDesc" : "Druid Coordinator Console",
               "type" : "UI"
            }, {
               "context" : "/druid-overlord-ui/",
               "description" : "The Overlord provides a UI for managing tasks and workers.",
               "serviceName" : "DRUID-OVERLORD-UI",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/druid-overlord-ui/",
               "shortDesc" : "Druid Overlord Console",
               "type" : "UI"
            }, {
               "context" : "/hue/",
               "description" : "Hue UI is a Web interface for analyzing data with Apache Hadoop",
               "serviceName" : "HUE",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/hue/",
               "shortDesc" : "Hue UI",
               "type" : "UI"
            } ]
         }
      } ]
   }
}

Fetching sandbox topology:
$ curl -iku admin:admin-password -H "Accept: application/json" 'https://localhost:8443/home/api/v1/topologies/sandbox'
HTTP/1.1 200 OK
Date: Thu, 13 Feb 2020 22:04:22 GMT
Set-Cookie: KNOXSESSIONID=node0rqow635xc1tqgjg4f23n51vl7.node0; Path=/home/api; Secure
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/home/api; Max-Age=0; Expires=Wed, 12-Feb-2020 22:04:22 GMT
Content-Type: application/json
Content-Length: 7257
Server: Jetty(9.4.26.v20200117)

{
   "topologyInformations" : {
      "topologyInformation" : [ {
         "topology" : "sandbox",
         "apiServices" : {
            "service" : [ {
               "context" : "/namenode/",
               "description" : "Namenode",
               "serviceName" : "NAMENODE",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/namenode/",
               "shortDesc" : "Namenode",
               "type" : "UNKNOWN"
            }, {
               "context" : "/jobtracker/",
               "description" : "Jobtracker",
               "serviceName" : "JOBTRACKER",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/jobtracker/",
               "shortDesc" : "Jobtracker",
               "type" : "UNKNOWN"
            }, {
               "context" : "/webhdfs/",
               "description" : "An HTTP REST API which supports the complete FileSystem interface for HDFS.",
               "serviceName" : "WEBHDFS",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/webhdfs/",
               "shortDesc" : "Web HDFS",
               "type" : "API"
            }, {
               "context" : "/templeton/",
               "description" : "WebHCat is the REST API for HCatalog, a table and storage management layer for Hadoop.",
               "serviceName" : "WEBHCAT",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/templeton/",
               "shortDesc" : "WebHCat",
               "type" : "API"
            }, {
               "context" : "/oozie/",
               "description" : "Oozie is a workflow scheduler system to manage Apache Hadoop jobs. The Oozie Web Services API is a HTTP REST JSON API.",
               "serviceName" : "OOZIE",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/oozie/",
               "shortDesc" : "Oozie Web Services API",
               "type" : "API"
            }, {
               "context" : "/hbase/",
               "description" : "The HBase REST server exposes endpoints that provide CRUD (create, read, update, delete) operations for each HBase process, as well as tables, regions, and namespaces.",
               "serviceName" : "WEBHBASE",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/hbase/",
               "shortDesc" : "Web HBase",
               "type" : "API"
            }, {
               "context" : "/hive/",
               "description" : "The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.",
               "serviceName" : "HIVE",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/hive/",
               "shortDesc" : "Hive",
               "type" : "API"
            }, {
               "context" : "/resourcemanager/",
               "description" : "The YARN Resource Manager Service (RM) is the central controlling authority for resource management and makes allocation decisions ResourceManager has two main components: Scheduler and ApplicationsManager.",
               "serviceName" : "RESOURCEMANAGER",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/resourcemanager/",
               "shortDesc" : "YARN Resource Manager",
               "type" : "API"
            }, {
               "context" : "/druid-coordinator/",
               "description" : "The Druid Coordinator process is primarily responsible for segment management and distribution. \n            More specifically, the Druid Coordinator process communicates to Historical processes to load or drop segments based on configurations. \n            The Druid Coordinator is responsible for loading new segments, dropping outdated segments, managing segment replication, and balancing segment load.",
               "serviceName" : "DRUID-COORDINATOR",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/druid-coordinator/",
               "shortDesc" : "Druid Coordinator API",
               "type" : "API"
            }, {
               "context" : "/druid-broker/druid/",
               "description" : "The Broker is the process to route queries to if you want to run a distributed cluster. \n            It understands the metadata published to ZooKeeper about what segments exist on what processes and routes queries such that they hit the right processes. \n            This process also merges the result sets from all of the individual processes together. On start up, Historical processes announce themselves and the segments they are serving in Zookeeper.",
               "serviceName" : "DRUID-BROKER",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/druid-broker/druid/",
               "shortDesc" : "Druid Broker API",
               "type" : "API"
            }, {
               "context" : "/druid-router/",
               "description" : "The Apache Druid Router process can be used to route queries to different Broker processes. By default, the broker routes queries based on how Rules are set up",
               "serviceName" : "DRUID-ROUTER",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/druid-router/",
               "shortDesc" : "Druid Router API",
               "type" : "API"
            }, {
               "context" : "/druid-overlord/",
               "description" : "The Overlord process is responsible for accepting tasks, coordinating task distribution, creating locks around tasks, and returning statuses to callers. \n            Overlord can be configured to run in one of two modes - local or remote (local being default).",
               "serviceName" : "DRUID-OVERLORD",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/druid-overlord/",
               "shortDesc" : "Druid Overlord API",
               "type" : "API"
            } ]
         },
         "uiServices" : {
            "service" : [ {
               "context" : "/druid-coordinator-ui/",
               "description" : "The Druid Coordinator exposes a web GUI for displaying cluster information and rule configuration.",
               "serviceName" : "DRUID-COORDINATOR-UI",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/druid-coordinator-ui/",
               "shortDesc" : "Druid Coordinator Console",
               "type" : "UI"
            }, {
               "context" : "/druid-overlord-ui/",
               "description" : "The Overlord provides a UI for managing tasks and workers.",
               "serviceName" : "DRUID-OVERLORD-UI",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/druid-overlord-ui/",
               "shortDesc" : "Druid Overlord Console",
               "type" : "UI"
            }, {
               "context" : "/hue/",
               "description" : "Hue UI is a Web interface for analyzing data with Apache Hadoop",
               "serviceName" : "HUE",
               "serviceUrl" : "https://localhost:8443/gateway/sandbox/hue/",
               "shortDesc" : "Hue UI",
               "type" : "UI"
            } ]
         }
      } ]
   }
}

Logged in to the homepage via the KnoxSSO login page:

Expanded cdp-proxy in Topology Browsing:

One other thing to maybe think about is how easy it is to change the homepage authentication/authorization. Right now we end up with separate Shiro and configs. This is a bit clunky especially when demo ldap won't exist for most users when they deploy for real.

@risdenk ,
WRT your JSON question: on one hand, you are right, it'd be cleaner when reading the JSON as you recommended. On the other hand, this API generates XML output too, and in that case, the current structure is cleaner IMO:
      <uiServices>
         <service>
            <context>/druid-coordinator-ui/</context>
            <description>The Druid Coordinator exposes a web GUI for displaying cluster information and rule configuration.</description>
            <serviceName>DRUID-COORDINATOR-UI</serviceName>
            <serviceUrl>https://localhost:8443/gateway/sandbox/druid-coordinator-ui/</serviceUrl>
            <shortDesc>Druid Coordinator Console</shortDesc>
            <type>UI</type>
         </service>
         <service>
            <context>/druid-overlord-ui/</context>
            <description>The Overlord provides a UI for managing tasks and workers.</description>
            <serviceName>DRUID-OVERLORD-UI</serviceName>
            <serviceUrl>https://localhost:8443/gateway/sandbox/druid-overlord-ui/</serviceUrl>
            <shortDesc>Druid Overlord Console</shortDesc>
            <type>UI</type>
         </service>
         <service>
            <context>/hue/</context>
            <description>Hue UI is a Web interface for analyzing data with Apache Hadoop</description>
            <serviceName>HUE</serviceName>
            <serviceUrl>https://localhost:8443/gateway/sandbox/hue/</serviceUrl>
            <shortDesc>Hue UI</shortDesc>
            <type>UI</type>
         </service>
      </uiServices>

Moreover, the current solution is consistent with Admin API outputs:
$ curl -iku admin:admin-password -H "Accept: application/json" 'https://localhost:8443/gateway/admin/api/v1/topologies/'
HTTP/1.1 200 OK
Date: Fri, 14 Feb 2020 08:26:44 GMT
Set-Cookie: KNOXSESSIONID=node01wffn263vit5nemdc9021f45z3.node0; Path=/gateway/admin; Secure; HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: rememberMe=deleteMe; Path=/gateway/admin; Max-Age=0; Expires=Thu, 13-Feb-2020 08:26:44 GMT
Content-Type: application/json
Content-Length: 1160
Server: Jetty(9.4.26.v20200117)

{
   "topologies" : {
      "topology" : [ {
         "name" : "admin",
         "timestamp" : "1581667994000",
         "uri" : "https://localhost:8443/gateway/admin",
         "href" : "https://localhost:8443/gateway/admin/api/v1/topologies/admin"
      }, {
         "name" : "cdp-proxy",
         "timestamp" : "1581625805000",
         "uri" : "https://localhost:8443/gateway/cdp-proxy",
         "href" : "https://localhost:8443/gateway/admin/api/v1/topologies/cdp-proxy"
      }, {
         "name" : "knoxsso",
         "timestamp" : "1581625577000",
         "uri" : "https://localhost:8443/gateway/knoxsso",
         "href" : "https://localhost:8443/gateway/admin/api/v1/topologies/knoxsso"
      }, {
         "name" : "manager",
         "timestamp" : "1581667994000",
         "uri" : "https://localhost:8443/gateway/manager",
         "href" : "https://localhost:8443/gateway/admin/api/v1/topologies/manager"
      }, {
         "name" : "sandbox",
         "timestamp" : "1581625577000",
         "uri" : "https://localhost:8443/gateway/sandbox",
         "href" : "https://localhost:8443/gateway/admin/api/v1/topologies/sandbox"
      } ]
   }
}

Thanks for the explanation of the XML vs JSON thing. Super confusing but see how it ends up that way.

So I added another commit to clear out the authentication stuff:

the homepage UI uses knoxsso and deploys the new API under /homepage/ the same way manager deploys the admin API under /manager. This way there is no need to login twice and knoxsso is configurable easily.
the new API is deployed through a new topology called metadata. This topology is configured to use LDAP authentication (to be consistent with Admin API). I'm going to modify the PR description accordingly.

So some feedback after spinning this up and looking at it:

why is it at /home instead of just at /? ie: https://localhost:8443 instead of requiring a path?
There is some weird spacing going on - there should be a reasonable border around the page?

Expanding the services there is an "i" button that does nothing?

Hitting https://localhost:8443/gateway/metadata/api/v1/metadata/info doesn't return a way to download the pem/jks certs.
** Can't the full paths be exposed?
** Can't the cert be on its own API endpoint to download?

<publicCertPemPath>assets/gateway-client-trust.pem</publicCertPemPath>
<publicCertJksPath>assets/gateway-client-trust.jks</publicCertJksPath>

Hive has a <serviceUrl>https://localhost:8443/gateway/sandbox/hive/</serviceUrl> url instead of a proper JDBC url?

My latest changes include:

appropriate bordering on homepage
homepage is bound to / (i.e. is available on https://localhost:8443)
new metadata API endpoint to download public certificate in PEM/JKS format
changed Hive's service URL to a sample JDBC URL
re-ordered API/UI services on homepage
renamed Topology Browsing to Topologies
General Proxy Information font size is the same as Topologies
new Metadata API links are added into General Proxy Information

@risdenk, the (i) buttons are tooltips; they show a meaningful description of the service
I'm going to file a follow-up JIRA to enhance the homepage based on @lmccay 's recommendations

Follow-up JIRA: https://issues.apache.org/jira/browse/KNOX-2254


--packages install cannot resolve dependencies

Hi,
i struggle with packages install. Happy to support in terms of documentation if i get it running.
bin/spark-shell --packages org.apache.spark:spark-streaming-amqp_2.11:0.1.0
says that it cannot find the package:
==== spark-packages: tried
  http://dl.bintray.com/spark-packages/maven/org/apache/spark/spark-streaming-amqp_2.11/0.1.0/spark-streaming-amqp_2.11-0.1.0.pom

  -- artifact org.apache.spark#spark-streaming-amqp_2.11;0.1.0!spark-streaming-amqp_2.11.jar:

  http://dl.bintray.com/spark-packages/maven/org/apache/spark/spark-streaming-amqp_2.11/0.1.0/spark-streaming-amqp_2.11-0.1.0.jar

	::::::::::::::::::::::::::::::::::::::::::::::

	::          UNRESOLVED DEPENDENCIES         ::

	::::::::::::::::::::::::::::::::::::::::::::::

	:: org.apache.spark#spark-streaming-amqp_2.11;0.1.0: not found

	::::::::::::::::::::::::::::::::::::::::::::::

Thanks in advance

Hi,
as the landing page says "the library needs to be installed into the local repository.". Did you execute a "mvn clean install" command from the root project directory (where the pom.xml file is located) ?

Paolo,
not familiar with mvn and couldnt translate "getting it in local
repository" to mvn clean install properly. I am doing it right now and
after downloading the half world it finished with Success.
It is found now. Thanks for your quick response and the lib.
2016-12-02 10:57 GMT+01:00 Paolo Patierno<EMAIL_ADDRESS>
Hi,
as the landing page says "the library needs to be installed into the local
repository.". Did you execute a "mvn clean install" command from the root
project directory (where the pom.xml file is located) ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/radanalyticsio/streaming-amqp/issues/21#issuecomment-264416729,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWnsampN5RAALwr7u8xp3J8pueN-UJKiks5rD-uggaJpZM4LCYGS
.

You are very welcome ! I'll add something more explicit about installing the package in the local repository, thanks for the feedback ! ;)


Fix: Fixed configuration for Files

Fixed configuration for Files

@veler thanks!

That was quick! Thank you :)


Release - V0.4.0: Cleanup and launch Semantic retriever.

Description of the bug:
In https://github.com/google/generative-ai-python/pull/168 we added semantic retriever, but didn't get to resolve all open comments (it's a big feature).
We're merging it without exposing the feature in the public API.

Resolve the open comments (my last review and @TYMichaelChen's).
Expose it in the public interface.
Create a new release.

AQA  -> This should have the same quick access properties as GenerateContentResponse > .parts and .text.

#185
#186
#187
#190

#191

https://github.com/google/generative-ai-python/pull/193

Something's still wrong with the chunk names.
Why are the tests passing full-names instead of short names?
Whatever name the user passes we should combine with the document's full name, right?

https://github.com/google/generative-ai-python/pull/191

https://github.com/google/generative-ai-python/pull/197


Mac Alt key not working

I have tried both settings in Terminal but gui.cs never registers my Alt. Esc + 9 works, but I would much prefer Alt.

Is there a trick or is this a bug?

It doesn't work for me. When I press Alt, the menu does not light up. And if I press Alt+F nothing happens. I am able to access the file menu with the mouse though. I am trying the StandaloneExample.

If I turn off "Option as Meta" and press Alt+F then the app records:
?~C?~B?~R?~F

Alt alone is not reported back to the application, so it would never light up.
Only Alt-key would be reported.
Now, Alt-9 should bring up the menu.    I am on the fence as to whether Alt-F should be the hotkey for the File menu.   I tried to convey that this would not be the case by not highlighting the F in File on the menu.
Alt-F currently is bound to Forward-word on the text editor, hence the need for Alt-9 to activate (hopefully I will implement soon a tab bar at the bottom to show the option).   Alt-9 is the Norton Commander default, while the SAA/CUA default is supposed to be F2 (Alt-2)

Oh!! Thank you for explaining. It see how it works now.
Wow, sorry - the app I was trying to emulate is an old DOS app that I run in DOSBox and its menus lit up when pressing Alt itself - but it makes sense terminals don't have this feature.
Thanks again for taking the time to explain!

I recognize the design has emacs overtones and so the escape key has meta functionality. What if I wanted to disable that so escape behaves more like it would on any old Mac or PC. Is there an easy way to do that?


Update main.tf

missing reference to Random provider
Purpose
The reference to the Random provider is missing thus will cause an error when using the random_id resource.
Does this introduce a breaking change?

[ ] Yes
[X] No

Pull Request Type

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

Thank you for your contribution @ArieHein. :)


Buffer already full

I got Blackfire working in a Docker-compose environment in combination with Flask, and the manual probe function.
the first time when I try to analyze my API endpoint it works, but with a second request I'm always getting the following error.

blackfire_1  | 26/05 11:09:43 DEBUG     blackfire-agent blackfire-agent 1.35.1 linux amd64 gc 2020-05-13T12:10:04+0000
blackfire_1  | 26/05 11:09:43 DEBUG     blackfire-agent Retrieving public keys from API
blackfire_1  | 26/05 11:09:43 DEBUG     blackfire-agent Fetching public keys from API
blackfire_1  | 26/05 11:09:43 DEBUG     blackfire-agent Sending request GET https://blackfire.io/agent-api/v1/public-keys
blackfire_1  | 26/05 11:09:44 DEBUG     blackfire-agent API answered with status code: 200
blackfire_1  | 26/05 11:09:44 DEBUG     blackfire-agent Unmarshalled JSON result: &{[{RWSfcPNpzVzuR1cRAkMPmQT9R6z4uHY0d8reTmCKcnaAHmu1csm9jLxZ RWTscN69dTZ4VsxfZ-1yWCHRjXE7oGNm36-vhGGGzpj_u2euuUReKPrry3OntU3W3igfCH2j2oVapXsp7Q129mKA09V0qIlRNQg= 20200819}]}
blackfire_1  | 26/05 11:09:44 DEBUG     blackfire-agent Started verification of '1' public keys
blackfire_1  | 26/05 11:09:44 DEBUG     blackfire-agent Retrieving specs from the API
blackfire_1  | 26/05 11:09:44 DEBUG     blackfire-agent Fetching specs from API
blackfire_1  | 26/05 11:09:44 DEBUG     blackfire-agent Sending request GET https://blackfire.io/agent-api/v3/specs
app_1        | 2020-05-26 11:09:44,597 - python-probe - DEBUG - probe.py:562 - Configuration initialized. [{
app_1        |     "agent_socket": "tcp://blackfire:8707",
app_1        |     "agent_timeout": 0.25,
app_1        |     "client_id": "050e1738-e9a6-458f-ada4-251b48b9152f",
app_1        |     "client_token": "e8ce4c90abd6a08418081c9b385cbafd87dacf43baa84b3bd11eaa7abeb5aaa0",
app_1        |     "endpoint": "https://blackfire.io/",
app_1        |     "log_file": "python-probe.log",
app_1        |     "log_level": 4,
app_1        |     "challenge": "expires=1590494984&userId=050e1738-e9a6-458f-ada4-251b48b9152f&agentIds=9e267eab-cbec-4290-98de-3333c1b946a8%2C-%2Crequest-id-bc246918-2ba0-445d-8201-1c335e18b8e5&profileSlot=00000000-0000-0000-0000-000000000000&collabToken=752518c5-8d39-43ae-a9e5-d400fa489add",
app_1        |     "signature": "RWSfcPNpzVzuR1O6-SUaTzEJzuKkWzzYfyTc8dbotP2Wh7qejmjCXzbouNkfDHfytVPI_mmNJdQNkmxDqvJaLTacjK2skzz3BwU%3D",
app_1        |     "args_raw": "aggreg_samples=1&flag_memory=1&flag_sessions=1&flag_cpu=0&flag_nw=0",
app_1        |     "args": {
app_1        |         "aggreg_samples": "1",
app_1        |         "flag_memory": "1",
app_1        |         "flag_sessions": "1",
app_1        |         "flag_cpu": "0",
app_1        |         "flag_nw": "0"
app_1        |     }
app_1        | }]
app_1        |  * Tip: There are .env or .flaskenv files present. Do "pip install python-dotenv" to use them.
app_1        |  * Serving Flask app "src.app" (lazy loading)
app_1        |  * Environment: production
app_1        |    WARNING: This is a development server. Do not use it in a production deployment.
app_1        |    Use a production WSGI server instead.
app_1        |  * Debug mode: off
app_1        |  * Running on http://<IP_ADDRESS>:1234/ (Press CTRL+C to quit)
blackfire_1  | 26/05 11:09:44 DEBUG     blackfire-agent API answered with status code: 200
blackfire_1  | 26/05 11:09:46 DEBUG     blackfire-agent Merging spec from the API and local spec
blackfire_1  | 26/05 11:09:46 DEBUG     blackfire-agent New value of DefaultSpec.LastMaxAge:  24h0m0s
blackfire_1  | 26/05 11:09:46 DEBUG     blackfire-agent Listening for connections on 'tcp://<IP_ADDRESS>:8707'
blackfire_1  | 26/05 11:09:46 DEBUG     blackfire-agent Waiting for new connection
app_1        | 2020-05-26 11:09:54,073 - python-probe - DEBUG - probe.py:142 - Connecting to agent at ('blackfire', 8707).
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Accepted new connection (local address: <IP_ADDRESS>:8707, remote address: <IP_ADDRESS>:51626)
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Setting connection write deadline to 2020-05-26 12:09:54.0803256 +0000 UTC m=+3610.971967401
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Setting connection read deadline to 2020-05-26 12:09:54.0808683 +0000 UTC m=+3610.972509101
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Waiting for new connection
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Profiler protocol detected
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Lock already acquired on our behalf profile
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Handling request
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Checking if agents '9e267eab-cbec-4290-98de-3333c1b946a8' are targeted by request serverIDs '9e267eab-cbec-4290-98de-3333c1b946a8,-,request-id-bc246918-2ba0-445d-8201-1c335e18b8e5'
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Verifying request signature
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent starting data verification with 1 keys and data= expires=1590494984&userId=050e1738-e9a6-458f-ada4-251b48b9152f&agentIds=9e267eab-cbec-4290-98de-3333c1b946a8%2C-%2Crequest-id-bc246918-2ba0-445d-8201-1c335e18b8e5&profileSlot=00000000-0000-0000-0000-000000000000&collabToken=752518c5-8d39-43ae-a9e5-d400fa489add
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Verifying signature key= RWSfcPNpzVzuR1cRAkMPmQT9R6z4uHY0d8reTmCKcnaAHmu1csm9jLxZ signature= RWSfcPNpzVzuR1O6-SUaTzEJzuKkWzzYfyTc8dbotP2Wh7qejmjCXzbouNkfDHfytVPI_mmNJdQNkmxDqvJaLTacjK2skzz3BwU=
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Iterating over features [python-50792432]
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Profile 'RWSfcPNpzVzuR1O6-SUaTzEJzuKkWzzYfyTc8dbotP2Wh7qejmjCXzbouNkfDHfytVPI_mmNJdQNkmxDqvJaLTacjK2skzz3BwU=' is full. Notifying the probe.
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Request handled. Error: false. BlackfireYml: false. Timespan: false. ConfigGathering: false, ComposerLock: false Upload: true. Final: true
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Sending to probe response: Continue: false Progress: 100 BlackfireYml: false ComposerLock: false FirstSample: true
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Configuration parsed from Blackfire specs
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Reading graph data
app_1        | 2020-05-26 11:09:54,092 - python-probe - DEBUG - probe.py:244 - Sending hello req. to Agent. ('b'Blackfire-Query: expires=1590494984&userId=050e1738-e9a6-458f-ada4-251b48b9152f&agentIds=9e267eab-cbec-4290-98de-3333c1b946a8%2C-%2Crequest-id-bc246918-2ba0-445d-8201-1c335e18b8e5&profileSlot=00000000-0000-0000-0000-000000000000&collabToken=752518c5-8d39-43ae-a9e5-d400fa489add&signature=RWSfcPNpzVzuR1O6-SUaTzEJzuKkWzzYfyTc8dbotP2Wh7qejmjCXzbouNkfDHfytVPI_mmNJdQNkmxDqvJaLTacjK2skzz3BwU%3D&aggreg_samples=1&flag_memory=1&flag_sessions=1&flag_cpu=0&flag_nw=0\nBlackfire-Probe: python-50792432\nBlackfire-Auth: 9e267eab-cbec-4290-98de-3333c1b946a8:34c295519278f0efee005073a6ceea97d9e678b2fdf240ee945fc63a11d7c921\n\n'')
app_1        | 2020-05-26 11:09:54,103 - python-probe - DEBUG - probe.py:257 - Response received from Agent. (response='status_code=0, args=defaultdict(<class 'list'>, {'Blackfire-Keys': ['2884905616;RWSfcPNpzVzuR1cRAkMPmQT9R6z4uHY0d8reTmCKcnaAHmu1csm9jLxZ'], 'Blackfire-Fn-Args': ['blackfire.probe.add_marker 1', 'requests.sessions.Session.request 3', 'sqlalchemy.engine.base.Connection.execute 2', 'blackfire.middleware._DjangoCursorWrapper.on_query 5']}), status_val=continue=false&first_sample=true')
app_1        | 2020-05-26 11:09:54,111 - python-probe - DEBUG - probe.py:699 - Profile session ended.
app_1        | 2020-05-26 11:09:54,124 - python-probe - DEBUG - probe.py:160 - Agent connection closed.
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Releasing lock on profile
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Closing connection
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Aggregating graph
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: file-format BlackfireProbe
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: probed-runtime CPython 3.7.7+Linux-4.19.76-linuxkit-x86_64-with-debian-10.4
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: probed-language python
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: probed-os Linux-4.19.76-linuxkit-x86_64-with-debian-10.4
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: probe-version 1.4.0
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: request-sys-load-avg 0.03 0.03 0.02
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: probed-features aggreg_samples=1&flag_memory=1&flag_sessions=1&flag_cpu=0&flag_nw=0
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: request-start<PHONE_NUMBER>.0735092
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: request-end<PHONE_NUMBER>.1217382
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: profile-title unnamed profile
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Header: context script=%2Fusr%2Flocal%2Fbin%2Fpython&argv%5B%5D=run_dev_app.py
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Tag graph.
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Transform graph.
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent [ab4] Uploading profile.
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Posting profile 'RWSfcPNpzVzuR1O6-SUaTzEJzuKkWzzYfyTc8dbotP2Wh7qejmjCXzbouNkfDHfytVPI_mmNJdQNkmxDqvJaLTacjK2skzz3BwU=' to Blackfire API
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Profile payload size is 5.93KB.
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Compressed profile payload size is 1.54KB.
blackfire_1  | 26/05 11:09:54 DEBUG     blackfire-agent Sending request POST https://blackfire.io/agent-api/v1/profile-slots/00000000-0000-0000-0000-000000000000
app_1        | <IP_ADDRESS> - - [26/May/2020 11:09:54] "GET / HTTP/1.1" 200 -
app_1        | 2020-05-26 11:10:00,397 - python-probe - DEBUG - probe.py:142 - Connecting to agent at ('blackfire', 8707).
blackfire_1  | 26/05 11:10:00 DEBUG     blackfire-agent Accepted new connection (local address: <IP_ADDRESS>:8707, remote address: <IP_ADDRESS>:51632)
blackfire_1  | 26/05 11:10:00 DEBUG     blackfire-agent Setting connection write deadline to 2020-05-26 12:10:00.4036884 +0000 UTC m=+3617.329259301
blackfire_1  | 26/05 11:10:00 DEBUG     blackfire-agent Setting connection read deadline to 2020-05-26 12:10:00.4038938 +0000 UTC m=+3617.329470701
blackfire_1  | 26/05 11:10:00 DEBUG     blackfire-agent Waiting for new connection
app_1        | 2020-05-26 11:10:00,411 - python-probe - DEBUG - probe.py:244 - Sending hello req. to Agent. ('b'Blackfire-Query: expires=1590494984&userId=050e1738-e9a6-458f-ada4-251b48b9152f&agentIds=9e267eab-cbec-4290-98de-3333c1b946a8%2C-%2Crequest-id-bc246918-2ba0-445d-8201-1c335e18b8e5&profileSlot=00000000-0000-0000-0000-000000000000&collabToken=752518c5-8d39-43ae-a9e5-d400fa489add&signature=RWSfcPNpzVzuR1O6-SUaTzEJzuKkWzzYfyTc8dbotP2Wh7qejmjCXzbouNkfDHfytVPI_mmNJdQNkmxDqvJaLTacjK2skzz3BwU%3D&aggreg_samples=1&flag_memory=1&flag_sessions=1&flag_cpu=0&flag_nw=0\nBlackfire-Probe: python-50792432\nBlackfire-Auth: 9e267eab-cbec-4290-98de-3333c1b946a8:34c295519278f0efee005073a6ceea97d9e678b2fdf240ee945fc63a11d7c921\n\n'')
blackfire_1  | 26/05 11:10:00 DEBUG     blackfire-agent Profiler protocol detected
blackfire_1  | 26/05 11:10:00 ERROR     blackfire-agent [6b7] Error while acquiring profile: This profile is in a tomb
blackfire_1  | 26/05 11:10:00 DEBUG     blackfire-agent Sending error to probe: 206 Buffer already full
blackfire_1  | 26/05 11:10:00 DEBUG     blackfire-agent [6b7] Notifying error to listeners: This profile is in a tomb
blackfire_1  | 26/05 11:10:00 DEBUG     blackfire-agent [6b7] Closing connection
app_1        | [2020-05-26 11:10:00,418] ERROR in app: Exception on / [GET]
app_1        | Traceback (most recent call last):
app_1        |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
app_1        |     response = self.full_dispatch_request()
app_1        |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
app_1        |     rv = self.handle_user_exception(e)
app_1        |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
app_1        |     reraise(exc_type, exc_value, tb)
app_1        |   File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
app_1        |     raise value
app_1        |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
app_1        |     rv = self.dispatch_request()
app_1        |   File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
app_1        |     return self.view_functions[rule.endpoint](**req.view_args)
app_1        |   File "/app/src/app.py", line 18, in index
app_1        |     probe.enable()
app_1        |   File "/usr/local/lib/python3.7/site-packages/blackfire/probe.py", line 616, in enable
app_1        |     raise e  # re-raise
app_1        |   File "/usr/local/lib/python3.7/site-packages/blackfire/probe.py", line 613, in enable
app_1        |     _agent_conn.connect()
app_1        |   File "/usr/local/lib/python3.7/site-packages/blackfire/probe.py", line 151, in connect
app_1        |     self._write_prolog()
app_1        |   File "/usr/local/lib/python3.7/site-packages/blackfire/probe.py", line 252, in _write_prolog
app_1        |     (self.agent_response)
app_1        | blackfire.exceptions.BlackfireApiException: Invalid response received from Agent. [status_code=1, args=defaultdict(<class 'list'>, {}), status_val=206 Buffer already full]
app_1        | <IP_ADDRESS> - - [26/May/2020 11:10:00] "GET / HTTP/1.1" 500 -

Docker-compose with:
- python:3.8.1 image
Flask==1.1.2
blackfire==1.3.4
- backfire image
I got the same results in a minimal Flask template using Python 3.7

Could you please write down the steps you use to run your Flask server? Have you used blackfire run or similar command?
Also, can you please confirm you have enabled the Flask middleware as documented here?
Buffer is full can happen when you request multiple profiles from a single session.


stream constructor should be able to take a stream

it'd be nice when making filtered stream
normalStream = stream('my-super-long-specific-stream-name')
filtered = stream(normalStream, V.foo == 'bar')

and/or we could do
normalStream = stream('my-super-long-specific-stream-name')
filtered = normalStream.filter(V.foo == 'bar')

fixed in #81 via normalStream.filtered(V.foo == 'bar')


Not to mention that the custom menu hooks are still being called for the pause menu and therefore cause "parent menu missing" warnings

obsolete due to
https://github.com/JamesWilko/Payday-2-BLT-Lua/commit/89240f957c22303141a50efc91d8b4b8fbc9a96c


Add possiblity to start AudioItem from certain time.

Make AudioItems conform to InitialTiming to start an AudioItem at a certain time.

Codecov Report

Merging #41 into master will increase coverage by 0.66%.
The diff coverage is 90%.

@@            Coverage Diff             @@
##           master      #41      +/-   ##
==========================================
+ Coverage    79.4%   80.06%   +0.66%
==========================================
  Files          16       16
  Lines         835      858      +23
==========================================
+ Hits          663      687      +24
+ Misses        172      171       -1

Impacted Files
Coverage Δ

SwiftAudio/Classes/AudioPlayer.swift
83.62% <100%> (+2.37%)
:arrow_up:

...udio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift
88.28% <100%> (+2.81%)
:arrow_up:

SwiftAudio/Classes/AudioItem.swift
82.85% <62.5%> (-6.04%)
:arrow_down:

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 34c1f49...6cc0638. Read the comment docs.


Getting Cannot construct unknown type Result error on deployment

When deploying this contract via the UI, the UI just displays this:
Uncaught error. Something went wrong with the query and rendering of this component. createType(Result):: Cannot construct unknown type Result
The console shows:
react.01.5ff66cee.js:2 Error: createType(Result):: Cannot construct unknown type Result
    at u (polkadot.01.dc51e7e6.js:1)
    at io (main.01be78c1.js:2)
    at main.01be78c1.js:2
    at Object.useMemo (react.01.5ff66cee.js:2)
    at t.useMemo (react.01.5ff66cee.js:2)
    at e (main.01be78c1.js:2)
    at Gi (react.01.5ff66cee.js:2)
    at xl (react.01.5ff66cee.js:2)
    at ps (react.01.5ff66cee.js:2)
    at ds (react.01.5ff66cee.js:2)

I think the reason is that the specific contract has this ink! message:
        /// Returns an error.
        #[ink(message)]
        pub fn return_err(&self) -> Result<()> {
            Err(Error::MyError)
        }

I debugged the error. The contract is sending a return message and then the UI does a lookup in the registry to dynamically infer the message type from it.
The message is carrying a returnType object  of type TypeDef. This object is carrying both optional parameters type and displayName. When the UI tries to dynamically create the type from the given return type, it is trying to match the type of the message against the registry by using then displayName property, or at least it is prioritizing it in favor of the type property.
Changing the formatData function in the Data.tsx component from:
function formatData(registry: Registry, data: AnyJson, type: TypeDef | undefined): Codec {
  return createTypeUnsafe(type?.displayName || registry, type?.type || "Raw", [data]);
}

to
function formatData(registry: Registry, data: AnyJson, type: TypeDef | undefined): Codec {
  return createTypeUnsafe( registry, type?.type || type?.displayName || "Raw", [data]);
}

leads to a correct execution of the call.
However, I'm wondering if it makes any sense at all to infer the displayName for type creation?

I debugged the error. The contract is sending a return message and then the UI does a lookup in the registry to dynamically infer the message type from it.
The message is carrying a returnType object  of type TypeDef. This object is carrying both optional parameters type and displayName. When the UI tries to dynamically create the type from the given return type, it is trying to match the type of the message against the registry by using then displayName property, or at least it is prioritizing it in favor of the type property.
Changing the formatData function in the Data.tsx component from:
function formatData(registry: Registry, data: AnyJson, type: TypeDef | undefined): Codec {
  return createTypeUnsafe(type?.displayName || registry, type?.type || "Raw", [data]);
}

to
function formatData(registry: Registry, data: AnyJson, type: TypeDef | undefined): Codec {
  return createTypeUnsafe( registry, type?.type || type?.displayName || "Raw", [data]);
}

leads to a correct execution of the call.
However, I'm wondering if it makes any sense at all to infer the displayName for type creation?

@achimcc I tool your suggested changes to formatData for a spin and found that while that worked, the subsequently returned ReactElement was not falling into the if statement for Option, thus returning a hexidecimal representation of the Codec.
The issue is due to value being checked against instanceof Option instead of codec. Changing references to valuetocodecresults in the correctSome` string being returned in a component.
The issue / fix is outlined below, with incorrect logic commented out and subsequent line showing the correct logic.
      // if (type.info === TypeDefInfo.Option && value instanceof Option) { <-- INCORRECT
        if (type.info === TypeDefInfo.Option && codec instanceof Option) {
        //const isSome = value.isSome;
        const isSome = codec.isSome;
        const subType = type.sub as TypeDef;

        if (asJson) {
          // return `${isSome ? 'Some' : 'None'}${isSome ? `(${value.toString()})` : ''}`; <-- INCORRECT
          return `${isSome ? 'Some' : 'None'}${isSome ? `(${codec.unwrap().toString()})` : ''}`;
        }

        return (

            {isSome ? 'Some' : 'None'}
            {isSome && (
              <>
                {'('}

                  <Data
                    registry={registry}
                    type={subType}
                    //value={value.toString()} <-- INCORRECT
                    value={codec.unwrap().toString()}
                  />

                {')'}
              </>
            )}

        );
      }

I'm happy to open a PR containing both your fix to formatData and my fix for Option, if no one else is looking at this issue.

One more note regarding decoding Option.
The second thing that's done in function Data is
if (isNull(value) || (Array.isArray(value) && value.length === 0)) {
  return '()';
}

An Option that isNone has isNull(value) === true which then immediately returns () instead of going through the formatData and then returning the intended component.
Would it be safe to remove the check for null above and let formatData and the subsequent code do its thing?


How to monitor django deployed by uwsgi+nginx？

I can monitor the project started with the httpserver that comes with django, but when I deploy the project with nginx+uwsgi, I encountered a permission problem, but I don't know how to solve it. The error message is as follows:
*MyMiddleware request
[pinpoint] [52739] [52739]#0 pinpoint_start start
[pinpoint] [52739] [52739]#128 add clue key:appname value:<IP_ADDRESS>-Django-8888
[pinpoint] [52739] [52739]#128 add clue key:appid value:APM-0100280001008888
[pinpoint] [52739] [52739]#128 add clue key:name value:BaseDjangoRequest request
[pinpoint] [52739] [52739]#128 add clue key:uri value:/favicon.ico
[pinpoint] [52739] [52739]#128 add clue key:client value:<IP_ADDRESS>
[pinpoint] [52739] [52739]#128 add clue key:server value:<IP_ADDRESS>
[pinpoint] [52739] [52739]#128 add clue key:stp value:1700
[pinpoint] [52739] [52739]pre_init_shared_object: open address with:Permission denied
uwsgi: /tmp/pip-install-gzeq51ez/pinpointpy_84ec1378330b4d799049fa3092f41d5d/common/src/Cache/SharedObj.c:196: fetch_shared_obj_addr: Assertion `object.region' failed.**
Can anyone help me? thank you very much!

https://github.com/pinpoint-apm/pinpoint-c-agent
Could you ask a question here?

okay! https://github.com/pinpoint-apm/pinpoint-c-agent/issues/282


Publish to NPM

It would be nice to have this option

Late update: I've finally gotten around updating this library with a new API that's much cleaner (the new source code is like 30 lines only now, check it out!). I've talked to @jergason, who holds the name react-radio-group on npm, which is a fork of this library with an additional package.json.
While I'm at it, I'm also dropping Bower support since everyone's moving onto npm + browserify/webpack now (?). If any of you are against that I'll put bower back (don't really want to though).

Done!

Thanks.
I don't use bower, just npm for everything, so it's totally fine with me.


[BUG] On resize Header and body of the tables are mismatched

When you resize the window table's header and columns are resized differently

Can be seen in next views
Workflow execution view:
https://demo.nuclyde.io/console/projects/flytesnacks/domains/development/workflows/athena.athena.no_io_wf?duration=all
Nodes view:
https://demo.nuclyde.io/console/projects/flytesnacks/domains/development/executions/gcg0wvmhfh?duration=all
Task execution view:
https://demo.nuclyde.io/console/projects/flytesnacks/domains/development/tasks/athena.athena.print_athena_schema?duration=all
Executions view:
https://demo.nuclyde.io/console/projects/flytesnacks/executions?duration=all

when resizing windows to smaller heights, the rows will disappear. The row disappears because the components above already take all the windows height, so the table rows container height set to 0px.


chore: Profile expression_summary query

Reason for Change

#TICKET_NUMBER
If the reason for this PR's code changes are not clear in the issue, state value/impact

Changes

add
remove
modify

Testing steps

Either list QA steps or reasoning you feel QA is unnecessary
Describe how you made sure to know that your changes worked. Should allow someone else to go verify your code without in depth knowledge.
"Unit tested only", "tested in rdev by a, b, c, verifying feature worked by... ", "manually ran pipeline locally with these results: ..."

Checklist 🛎

[ ] Add product, design, and eng as reviewers for rdev review

[ ] For UI changes, add screenshots/videos, so the reviewers know what you expect them to see

[ ] For UI changes, add e2e tests to prevent regressions

Notes for Reviewer

This PR had some problems not running GHA so created a new PR and closing this


Do not use mutable default values in function parameter lists in Python code

See https://github.com/skupperproject/skupper-router/pull/106 where @kgiusti pointed out the issue.

I thought pylint can warn about this, but apparently not in this case. The relevant warning (https://github.com/PyCQA/pylint/issues/3109) is not disabled but pylint is silent.
I think it's because pylint cannot tell whether instances of QdSchema are mutable or not. Or maybe there is useful pattern in doing this even with mutable objects.
In any case, hunting for other instances of this problem will probably have to be done manually.


oraclejdk8jce oraclejre8jce: add JCE versions JDK8 & JRE8

Currently not JCE installed version of Oracle JDK8 or JRE8 are provided. This change addresses that by added new packages named:

oraclejdk8jce: this is the JCE installed version of oraclejdk8
oraclejre8jce: this is the JCE installed version of oraclejre8

This also fixes the installjce logic where in JDK/JRE8 the name of the unlimited JCE policy directory added a suffix of JDK8 by adding wildcard.
I tested this off of commit 1357692 with this patch applied checking the JARs in jre/lib/security subdir are different in the non-JCE version with the JCE installed version like so:
nix-env -f . -iA oraclejdk8
declare jhome=$(dirname $(readlink -f $(which java)))/..
shasum ${jhome}/jre/lib/security/*.jar

# check that these SHA sums are different to following:

nix-env -f . -iA oraclejdk8jce
declare jhome=$(dirname $(readlink -f $(which java)))/..
shasum ${jhome}/jre/lib/security/*.jar

Cheers.

The build failure is not related to this patch:
https://travis-ci.org/NixOS/nixpkgs/builds/76407132#L138
error: while querying the derivation named ‘meshlab-1.3.3’:

while evaluating the attribute ‘patches’ of the derivation ‘meshlab-1.3.3’ at /home/travis/.nox/nixpkgs/pkgs/applications/graphics/meshlab/default.nix:4:3:

getting attributes of path ‘/home/travis/.nox/nixpkgs/pkgs/applications/graphics/meshlab/include-unistd.diff’: No such file or directory

I will investigate if there are any pending fixes for this already.

(triage) Doesn't seem to be fixed yet.

Closing due to no reply on the triage, feel free to reopen / ask for it to be reopened :)


How to add the date?

Hey,
first I gotta say that I like your work on Github!
Could you tell me how to also fetch the date and other information on the  articles (especially on bloomberg)?
Further I would be delighted if you could tell me how to set the start_date of crawling.
Many thanks in advance!

Unfortunately, it seems that Bloomberg doesn't work anymore. Not sure if there is a workaround. Other crawlers seem to be working fine.
In general, you can try to look at the response using the shell command of scrapy:
scrapy shell https://www.investopedia.com/terms/b/block-positioner.asp

This will fetch the specific URL and create an ipython shell that you can use to explore the response - which can be used to parse the date/time.


Fix a number of igor and mandoc -Tascii -Tlint errors

Always start new sentences on new lines.
Use more passive voice instead of "Let's...".
Fix some typos:
i.   fileds -> fields
ii.  file names -> filenames
iii  arbitraty -> arbitrary
iv.  plain-text -> plaintext
Add a missing "," before "respectively" to improve sentence flow.
kyua.1: Use .Nm when referring to "Kyua".
kyua-debug.1: clarify/wordsmith the description for
/dev/std{err,out}.

Signed-off-by: Enji Cooper<EMAIL_ADDRESS>

CC: @0mp

@jmmv: done!


[R-package] failed when running Rscript build_r.R

Environment info
Operating System: macOS 10.14.6
CPU/GPU model: Intel Core i7
C++/Python/R version: R 3.6.1
LightGBM version or commit hash: 2.3.2
Error message
* checking for file ‘lightgbm_r/DESCRIPTION’ ... OK
* preparing ‘lightgbm’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* looking to see if a ‘data/datalist’ file should be added
* building ‘lightgbm_2.3.2.tar.gz’
Warning: invalid uid value replaced by that for user 'nobody'
Warning: invalid gid value replaced by that for user 'nobody'

* installing to library ‘/Users/j0l04cl/anaconda3/envs/py37/lib/R/library’
* installing *source* package ‘lightgbm’ ...
** using staged installation
** libs
installing via 'install.libs.R' to /Users/j0l04cl/anaconda3/envs/py37/lib/R/library/00LOCK-lightgbm/00new/lightgbm
-- The C compiler identification is Clang 9.0.0
-- The CXX compiler identification is Clang 9.0.0
-- Check for working C compiler: /Users/j0l04cl/anaconda3/envs/py37/bin/x86_64-apple-darwin13.4.0-clang
-- Check for working C compiler: /Users/j0l04cl/anaconda3/envs/py37/bin/x86_64-apple-darwin13.4.0-clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Users/j0l04cl/anaconda3/envs/py37/bin/x86_64-apple-darwin13.4.0-clang++
-- Check for working CXX compiler: /Users/j0l04cl/anaconda3/envs/py37/bin/x86_64-apple-darwin13.4.0-clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenMP_C: -Xpreprocessor -fopenmp -I/usr/local/opt/libomp/include (found version "3.1")
-- Found OpenMP_CXX: -Xpreprocessor -fopenmp -I/usr/local/opt/libomp/include (found version "3.1")
-- Found OpenMP: TRUE (found version "3.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /private/var/folders/2k/b58ly_192yjgtv76zjxqj6f8_9cn2g/T/RtmprDVUBZ/R.INSTALLd2727cb2698f/lightgbm/src/build
Scanning dependencies of target _lightgbm
[  3%] Building CXX object CMakeFiles/_lightgbm.dir/src/c_api.cpp.o
[  6%] Building CXX object CMakeFiles/_lightgbm.dir/src/lightgbm_R.cpp.o
[  9%] Building CXX object CMakeFiles/_lightgbm.dir/src/application/application.cpp.o
[ 12%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/boosting.cpp.o
[ 15%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt.cpp.o
[ 18%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt_model_text.cpp.o
[ 21%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/gbdt_prediction.cpp.o
[ 25%] Building CXX object CMakeFiles/_lightgbm.dir/src/boosting/prediction_early_stop.cpp.o
[ 28%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/bin.cpp.o
[ 31%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/config.cpp.o
[ 34%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/config_auto.cpp.o
[ 37%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset.cpp.o
[ 40%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/dataset_loader.cpp.o
[ 43%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/file_io.cpp.o
[ 46%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/json11.cpp.o
[ 50%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/metadata.cpp.o
[ 53%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/parser.cpp.o
[ 56%] Building CXX object CMakeFiles/_lightgbm.dir/src/io/tree.cpp.o
[ 59%] Building CXX object CMakeFiles/_lightgbm.dir/src/metric/dcg_calculator.cpp.o
[ 62%] Building CXX object CMakeFiles/_lightgbm.dir/src/metric/metric.cpp.o
[ 65%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linker_topo.cpp.o
[ 68%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linkers_mpi.cpp.o
[ 71%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/linkers_socket.cpp.o
[ 75%] Building CXX object CMakeFiles/_lightgbm.dir/src/network/network.cpp.o
[ 78%] Building CXX object CMakeFiles/_lightgbm.dir/src/objective/objective_function.cpp.o
[ 81%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/data_parallel_tree_learner.cpp.o
[ 84%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/feature_parallel_tree_learner.cpp.o
[ 87%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/gpu_tree_learner.cpp.o
[ 90%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/serial_tree_learner.cpp.o
[ 93%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/tree_learner.cpp.o
[ 96%] Building CXX object CMakeFiles/_lightgbm.dir/src/treelearner/voting_parallel_tree_learner.cpp.o
[100%] Linking CXX shared library ../lib_lightgbm.so
ld: warning: -pie being ignored. It is only used when linking a main executable
Undefined symbols for architecture x86_64:
  "___kmpc_dispatch_init_4", referenced from:
      _.omp_outlined. in dataset.cpp.o
      _.omp_outlined. in dataset_loader.cpp.o
      _.omp_outlined..40 in dataset_loader.cpp.o
      _.omp_outlined..48 in dataset_loader.cpp.o
      _.omp_outlined..49 in dataset_loader.cpp.o
      _.omp_outlined..117 in metric.cpp.o
      _.omp_outlined..118 in metric.cpp.o
      ...
  "___kmpc_dispatch_next_4", referenced from:
      _.omp_outlined. in dataset.cpp.o
      _.omp_outlined. in dataset_loader.cpp.o
      _.omp_outlined..40 in dataset_loader.cpp.o
      _.omp_outlined..48 in dataset_loader.cpp.o
      _.omp_outlined..49 in dataset_loader.cpp.o
      _.omp_outlined..117 in metric.cpp.o
      _.omp_outlined..118 in metric.cpp.o
      ...
  "___kmpc_end_master", referenced from:
      _.omp_outlined..18 in c_api.cpp.o
      _.omp_outlined..59 in c_api.cpp.o
      _.omp_outlined..44 in application.cpp.o
      _.omp_outlined. in gbdt.cpp.o
      _.omp_outlined. in bin.cpp.o
      _.omp_outlined..2 in bin.cpp.o
      _.omp_outlined..3 in bin.cpp.o
      ...
  "___kmpc_end_reduce_nowait", referenced from:
      _.omp_outlined..19 in metadata.cpp.o
      _.omp_outlined. in metric.cpp.o
      _.omp_outlined..24 in metric.cpp.o
      _.omp_outlined..26 in metric.cpp.o
      _.omp_outlined..28 in metric.cpp.o
      _.omp_outlined..30 in metric.cpp.o
      _.omp_outlined..32 in metric.cpp.o
      ...
  "___kmpc_end_serialized_parallel", referenced from:
      LightGBM::DART::Normalize() in boosting.cpp.o
      LightGBM::DART::DroppingTrees() in boosting.cpp.o
      LightGBM::RF::TrainOneIter(float const*, float const*) in boosting.cpp.o
      LightGBM::RF::RollbackOneIter() in boosting.cpp.o
      LightGBM::GBDT::TrainOneIter(float const*, float const*) in gbdt.cpp.o
      LightGBM::GBDT::RollbackOneIter() in gbdt.cpp.o
      LightGBM::HistogramPool::ResetConfig(LightGBM::Config const*) in serial_tree_learner.cpp.o
      ...
  "___kmpc_for_static_fini", referenced from:
      _.omp_outlined. in c_api.cpp.o
      _.omp_outlined..3 in c_api.cpp.o
      _.omp_outlined..4 in c_api.cpp.o
      _.omp_outlined..9 in c_api.cpp.o
      _.omp_outlined..10 in c_api.cpp.o
      _.omp_outlined..11 in c_api.cpp.o
      _.omp_outlined..12 in c_api.cpp.o
      ...
  "___kmpc_for_static_init_4", referenced from:
      _.omp_outlined. in c_api.cpp.o
      _.omp_outlined..3 in c_api.cpp.o
      _.omp_outlined..4 in c_api.cpp.o
      _.omp_outlined..9 in c_api.cpp.o
      _.omp_outlined..10 in c_api.cpp.o
      _.omp_outlined..11 in c_api.cpp.o
      _.omp_outlined..12 in c_api.cpp.o
      ...
  "___kmpc_for_static_init_8", referenced from:
      _.omp_outlined..39 in gbdt.cpp.o
      _.omp_outlined..41 in gbdt.cpp.o
      _.omp_outlined..13 in metadata.cpp.o
  "___kmpc_fork_call", referenced from:
      _LGBM_DatasetPushRows in c_api.cpp.o
      _LGBM_DatasetPushRowsByCSR in c_api.cpp.o
      _LGBM_DatasetCreateFromMats in c_api.cpp.o
      _LGBM_DatasetCreateFromCSR in c_api.cpp.o
      _LGBM_DatasetCreateFromCSRFunc in c_api.cpp.o
      _LGBM_DatasetCreateFromCSC in c_api.cpp.o
      LightGBM::Booster::Predict(int, int, int, int, std::__1::function<std::__1::vector<std::__1::pair<int, double>, std::__1::allocator<std::__1::pair<int, double> > > (int)>, LightGBM::Config const&, double*, long long*) in c_api.cpp.o
      ...
  "___kmpc_global_thread_num", referenced from:
      _.omp_outlined. in c_api.cpp.o
      _.omp_outlined..3 in c_api.cpp.o
      _.omp_outlined..4 in c_api.cpp.o
      _.omp_outlined..9 in c_api.cpp.o
      _.omp_outlined..10 in c_api.cpp.o
      _.omp_outlined..11 in c_api.cpp.o
      _.omp_outlined..12 in c_api.cpp.o
      ...
  "___kmpc_master", referenced from:
      _.omp_outlined..18 in c_api.cpp.o
      _.omp_outlined..59 in c_api.cpp.o
      _.omp_outlined..44 in application.cpp.o
      _.omp_outlined. in gbdt.cpp.o
      _.omp_outlined. in bin.cpp.o
      _.omp_outlined..2 in bin.cpp.o
      _.omp_outlined..3 in bin.cpp.o
      ...
  "___kmpc_reduce_nowait", referenced from:
      _.omp_outlined..19 in metadata.cpp.o
      _.omp_outlined. in metric.cpp.o
      _.omp_outlined..24 in metric.cpp.o
      _.omp_outlined..26 in metric.cpp.o
      _.omp_outlined..28 in metric.cpp.o
      _.omp_outlined..30 in metric.cpp.o
      _.omp_outlined..32 in metric.cpp.o
      ...
  "___kmpc_serialized_parallel", referenced from:
      LightGBM::DART::Normalize() in boosting.cpp.o
      LightGBM::DART::DroppingTrees() in boosting.cpp.o
      LightGBM::RF::TrainOneIter(float const*, float const*) in boosting.cpp.o
      LightGBM::RF::RollbackOneIter() in boosting.cpp.o
      LightGBM::GBDT::TrainOneIter(float const*, float const*) in gbdt.cpp.o
      LightGBM::GBDT::RollbackOneIter() in gbdt.cpp.o
      LightGBM::HistogramPool::ResetConfig(LightGBM::Config const*) in serial_tree_learner.cpp.o
      ...
  "_omp_get_num_threads", referenced from:
      _.omp_outlined..18 in c_api.cpp.o
      _.omp_outlined..59 in c_api.cpp.o
      _.omp_outlined..44 in application.cpp.o
      _.omp_outlined. in gbdt.cpp.o
      _.omp_outlined. in bin.cpp.o
      _.omp_outlined..2 in bin.cpp.o
      _.omp_outlined..3 in bin.cpp.o
      ...
  "_omp_get_thread_num", referenced from:
      _.omp_outlined. in c_api.cpp.o
      _.omp_outlined..3 in c_api.cpp.o
      _.omp_outlined..4 in c_api.cpp.o
      _.omp_outlined..9 in c_api.cpp.o
      _.omp_outlined..10 in c_api.cpp.o
      _.omp_outlined..12 in c_api.cpp.o
      LightGBM::Predictor::Predictor(LightGBM::Boosting*, int, bool, bool, bool, bool, int, double)::'lambda'(std::__1::vector<std::__1::pair<int, double>, std::__1::allocator<std::__1::pair<int, double> > > const&, double*)::operator()(std::__1::vector<std::__1::pair<int, double>, std::__1::allocator<std::__1::pair<int, double> > > const&, double*) const in c_api.cpp.o
      ...
  "_omp_set_nested", referenced from:
      LightGBM::Application::Application(int, char**) in application.cpp.o
  "_omp_set_num_threads", referenced from:
      _LGBM_DatasetCreateFromFile in c_api.cpp.o
      _LGBM_DatasetCreateFromSampledColumn in c_api.cpp.o
      _LGBM_DatasetCreateFromMats in c_api.cpp.o
      _LGBM_DatasetCreateFromCSR in c_api.cpp.o
      _LGBM_DatasetCreateFromCSRFunc in c_api.cpp.o
      _LGBM_DatasetCreateFromCSC in c_api.cpp.o
      _LGBM_DatasetGetSubset in c_api.cpp.o
      ...
ld: symbol(s) not found for architecture x86_64
clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [CMakeFiles/_lightgbm.dir/build.make:534: ../lib_lightgbm.so] Error 1
make[2]: *** [CMakeFiles/Makefile2:105: CMakeFiles/_lightgbm.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:112: CMakeFiles/_lightgbm.dir/rule] Error 2
make: *** [Makefile:177: _lightgbm] Error 2
Error in eval(ei, envir) : Cannot find lib_lightgbm.dylib
* removing ‘/Users/j0l04cl/anaconda3/envs/py37/lib/R/library/lightgbm’
Error in .run_shell_command(cmd) : Command failed with exit code: 1
Execution halted

Reproducible examples
$ Rscript build_r.R
Steps to reproduce

Open terminal
In LightGBM folder
Run Rscript build_r.R

Please do not use compilers from conda. They seems to be quite buggy.
https://github.com/ContinuumIO/anaconda-issues/issues/9096
https://github.com/scikit-learn/scikit-learn/pull/14968#issuecomment-531327984

Thanks for the quick reply @StrikerRUS
@ajing I agree, you should avoid the compilers from conda. Since I see you're using a Mac, try setting CXX and CC to point to some other compilers.
You might have clang at /usr/local/opt/llvm/bin/clang++ or g++ at /usr/local/bin/g++-8 or some similar paths.
So, for example, since I use g++ on my Mac I do the following
export CXX=/usr/local/bin/g++-8
export CC=/usr/local/bin/gcc-8
Rscript build_r.R

For more details, see our Mac installation instructions for the R package. Let us know if you run into any issues!

Thanks for the explanation @StrikerRUS @jameslamb.
My R is installed in conda, so I used the compiler from conda..
However, I still got error after switching compiler
export CXX=/usr/local/bin/g++-9
export CC=/usr/local/bin/gcc-9
Rscript build_r.R

* checking for file ‘lightgbm_r/DESCRIPTION’ ... OK
* preparing ‘lightgbm’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* looking to see if a ‘data/datalist’ file should be added
* building ‘lightgbm_2.3.2.tar.gz’
Warning: invalid uid value replaced by that for user 'nobody'
Warning: invalid gid value replaced by that for user 'nobody'

* installing to library ‘/Users/j0l04cl/anaconda3/envs/py37/lib/R/library’
* installing *source* package ‘lightgbm’ ...
** using staged installation
** libs
installing via 'install.libs.R' to /Users/j0l04cl/anaconda3/envs/py37/lib/R/library/00LOCK-lightgbm/00new/lightgbm
-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /usr/local/bin/gcc-9
-- Check for working C compiler: /usr/local/bin/gcc-9 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /usr/local/bin/g++-9
-- Check for working CXX compiler: /usr/local/bin/g++-9 -- broken
CMake Error at /usr/local/Cellar/cmake/3.16.2/share/cmake/Modules/CMakeTestCXXCompiler.cmake:53 (message):
  The C++ compiler

    "/usr/local/bin/g++-9"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: /private/var/folders/2k/b58ly_192yjgtv76zjxqj6f8_9cn2g/T/RtmpNtvn8N/R.INSTALL987a72eb234e/lightgbm/src/build/CMakeFiles/CMakeTmp

    Run Build Command(s):/Users/j0l04cl/anaconda3/envs/py37/bin/make cmTC_51e3a/fast && make -f CMakeFiles/cmTC_51e3a.dir/build.make CMakeFiles/cmTC_51e3a.dir/build
    make[1]: Entering directory '/private/var/folders/2k/b58ly_192yjgtv76zjxqj6f8_9cn2g/T/RtmpNtvn8N/R.INSTALL987a72eb234e/lightgbm/src/build/CMakeFiles/CMakeTmp'
    Building CXX object CMakeFiles/cmTC_51e3a.dir/testCXXCompiler.cxx.o
    /usr/local/bin/g++-9    -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -std=c++14 -fmessage-length=0 -isystem /Users/j0l04cl/anaconda3/envs/py37/include    -o CMakeFiles/cmTC_51e3a.dir/testCXXCompiler.cxx.o -c /private/var/folders/2k/b58ly_192yjgtv76zjxqj6f8_9cn2g/T/RtmpNtvn8N/R.INSTALL987a72eb234e/lightgbm/src/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
    g++-9: error: unrecognized command line option '-stdlib=libc++'
    make[1]: *** [CMakeFiles/cmTC_51e3a.dir/build.make:66: CMakeFiles/cmTC_51e3a.dir/testCXXCompiler.cxx.o] Error 1
    make[1]: Leaving directory '/private/var/folders/2k/b58ly_192yjgtv76zjxqj6f8_9cn2g/T/RtmpNtvn8N/R.INSTALL987a72eb234e/lightgbm/src/build/CMakeFiles/CMakeTmp'
    make: *** [Makefile:121: cmTC_51e3a/fast] Error 2

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:7 (PROJECT)

-- Configuring incomplete, errors occurred!
See also "/private/var/folders/2k/b58ly_192yjgtv76zjxqj6f8_9cn2g/T/RtmpNtvn8N/R.INSTALL987a72eb234e/lightgbm/src/build/CMakeFiles/CMakeOutput.log".
See also "/private/var/folders/2k/b58ly_192yjgtv76zjxqj6f8_9cn2g/T/RtmpNtvn8N/R.INSTALL987a72eb234e/lightgbm/src/build/CMakeFiles/CMakeError.log".
make: *** No rule to make target '_lightgbm'.  Stop.
Error in eval(ei, envir) : Cannot find lib_lightgbm.dylib
* removing ‘/Users/j0l04cl/anaconda3/envs/py37/lib/R/library/lightgbm’
Error in .run_shell_command(cmd) : Command failed with exit code: 1
Execution halted

😬 that error comes from the fact that -stdlib=libc++ is a clang option, not a g++ one. The fact that it's being passed is surprising to me and I still suspect that something with conda is to blame.
I noticed you are getting make from conda as well. I wonder if there are some default flags being used which just assume clang because you're on a Mac.
For your work, is it necessary to use R managed with conda?
The only other thing I can think (maybe @StrikerRUS has experience and can comment) is that you are on the most recent cmake (3.16.2). That release is only 9 days old and maybe it introduced some incompatibility we haven't yet seen.

Thanks for your prompt reply! @jameslamb Could I twist build_r.R slightly so it believes I use g++? I don't want to reinstall every R package again 😂. What is the right package management tool for R, if not conda?

No problem!
It is not about changing build_r.R, actually. We use this method of installing the LightGBM R package with versions of g++ frequently. I am only speculating that the issue is conda, since we have had so many issues with that + R before 🤒

What is the right package management tool for R, if not conda?

The most common setup for R that I have seen (not just in LightGBM context, but in general) is for people to install binaries precompiled for their particular operating system directly from CRAN (https://cran.r-project.org/) and then to use the install.packages() command inside of R itself. The R ecosystem doesn't offer tooling for managing system-level libraries like g++, make, libpng, etc., the way that you can with conda. Only for packages from CRAN.
You might find the way we do this for CI helpful.
If you are using conda just because it's what you're used to from Python, I recommend switching to this strategy for R. If you are using it because of some other restriction, then we will try to help but because of the issues @StrikerRUS , we don't test using the conda R setup or compilers provided by conda so you'd be working in unsupported territory.

Installation R and LightGBM outside of conda environment works for me... I tried a few other ways: 1) exit conda environment and then 2) do
/Users/j0l04cl/anaconda3/envs/py37/bin/R CMD INSTALL lightgbm_2.3.2.tar.gz --no-multiarch --with-keep.source

Still not working. Thanks for the detailed explanation! @jameslamb. I will go with R outside of conda

@jameslamb

The only other thing I can think (maybe @StrikerRUS has experience and can comment) is that you are on the most recent cmake (3.16.2)

https://github.com/guolinke/lightgbm-ci-docker/blob/6765774491daa319157821bd225d7ef8efd5a843/dockers/ubuntu-14.04/Dockerfile#L27
We use CMake 3.16.0 in our tests and everything seems to be OK. I don't believe they broke something in a patch release 3.16.2...

Installation R and LightGBM outside of conda environment works for me...

Happy to hear! To be honest, I'm not surprised. I remember I had a lot of headache with conda compilers in Windows environment as well. That's why we recommend using either defaults system-wide tools or ones installed from Homebrew.


Don't copy the govuk frontend toolkit images to an icons subfolder

Remove the icons subfolder.
These assets are now copied to /public/images, so the folder structure for
these assets is the same as that of the govuk frontend toolkit's images folder.
For the govuk-elements-rails gem, which uses the govuk_frontend_toolkit gem, the path to the image assets will be the same.
cc. @robinwhittleton @robmckinnon.

I'm going to merge this, as it'll fix the issue with the current broken external links on Heroku.
There's a further issue, which is that govuk elements isn't importing the URL helpers from the toolkit, but is setting a fallback path to public/images/ which may be interfering with anyone using the URL helpers.