Use __all__ to advertise public API.

Closes #324.
Note that non-public symbols are still accessible, and that some
applications, such as iPython, will ignore __all__ when offering
tab-completion suggestions.

Annoyingly, people who use python notebooks to explore libraries with tab completion (instead of reading documentation) will still see, and be able to access, non-public symbols. I believe the number of people who use notebooks like this is substantial.
$ ipython
Python 3.9.5 (default, May 24 2021, 12:50:35)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.21.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import demes

In [2]: demes.<TAB>
  Admix               Deme                dumps()             load()              loads()             Pulse
  AsymmetricMigration demes               Epoch               load_all()          loads_asdict()      Split
  Branch              dump()              from_ms()           load_asdict()       Merge
  Builder             dump_all()          Graph               load_dump           ms
In [2]: demes.ms.<TAB>
        Admixture                  build_graph()              demes_sorted_by_ancestry() from_ms()                  logging
        Any                        coerce_nargs()             Dict                       GrowthRateChange           Mapping
        argparse                   copy                       Event                      List                       math                       >
        attr                       demes                      finite()                   logger                     MigrationMatrixChange
In [2]: demes.ms.coerce_nargs
Out[2]: <function demes.ms.coerce_nargs(obj_creator, append=False)>

See https://github.com/ipython/ipykernel/issues/129

IMO, this is more about what the public API is being advertised as, rather than caring about specific import * behaviour. I don't think anyone advocates import * anymore, except perhaps for legacy reasons (e.g. from tkinter import *). But __all__ has become the de-facto standard list that editors use to provide tab-completion lists: __all__ implicitly corresponds to the API that library authors are making public.

Sure, I agree noone should actually be using this, but I still don't see why you'd want to add __all__ lists to the internal modules. We actively want to hide the internal module structure from users (so that we can change it later, if we want to) not advertise it.

In some sense you're right about not needing __all__ in internal modules like load_dump.py. But unfortunately commonly used tools like the python REPL and ipython/notebooks will blindly tab-complete the names of internal modules. So I've updated the PR to go one step further and define def __dir__(): sorted(__all__), because the python REPL and ipython notebooks don't tab-complete anything except what dir(<module-name>) shows.
A possible further step (which I don't want to take) is to delete the non-public symbols from the modules so that they can't be imported even if one knows the name (E.g. like this: https://github.com/tensorflow/tensorflow/blob/e9de087fa7f59c39bbe12ac2c83c5547c83f746c/tensorflow/python/util/all_util.py#L86).


Add OpenAPI spec

OpenAPI spec available as described in https://github.com/trustyai-explainability/trustyai-explainability/blob/692812233b6437d6d132092e00400331b2526fe1/explainability-service/README.md?plain=1#L197


Copyedit atomic habits

Here's an edited version of the Atomic Habits episode. Thanks so much for the shout out and the encouragement. Glad that I can make contributing to this repo part of my routine.

Amazing, thank you so much!!!!


[BUG] [WebHook] it goes into loop when it gives error

Nutgram version
4.26.1
PHP version
8.3.1
Framework
No Framework
Cache driver
Filesystem Cache
OS
ubuntu
Dev environment
No response
Describe the bug
Whenever Telegram returns an error on a request like sending a message, the bot keeps getting the update and returns an error in an infinite loop
To Reproduce
set webhook
send a request as sendMessage('test', '123') following a command
Expected behavior
I expect it not to go into an infinite loop
Screenshots
No response
Additional context
No response

Missing information.
Closing the issue for now


Clarify that base_url in client well_known may or may not include trailing slash

Fixes #3465. The change adds a line explicitly warning developers that the base_url of client well_known may or may not include a trailing slash and to be prepared to handle both cases.

Preview: https://pr3562--matrix-org-previews.netlify.app

So I didn't help,I made something work or not??? Humm
On Wed, Dec 8, 2021, 8:25 PM Travis Ralston @.***>
wrote:

@.**** commented on this pull request.
Overall looks fine - can we get a changelog please? :)
In content/client-server-api/_index.md
https://github.com/matrix-org/matrix-doc/pull/3562#discussion_r765386577
:

   2. It is important to note that this value may or may not include

      a trailing `/`. Consumers should be prepared to handle both

      cases.

We've found that "may" introduces more confusion than not in the formal
spec:
⬇ Suggested change

   2. It is important to note that this value may or may not include

      a trailing `/`. Consumers should be prepared to handle both

      cases.

   2. It is important to note that this value might not include

      a trailing `/`. Consumers should be prepared to handle both

      cases.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/matrix-org/matrix-doc/pull/3562#pullrequestreview-827142580,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMXLIEVRZTUUYTBH7SZ3H63UQAHSFANCNFSM5JU2GDLA
.

Sorry @shenanigans77-jpg, I'm not sure what you mean?


Suggest import namespaces

We now have the concept of "import namespaces", eg:
import maven:"junit-junit" "1.42";

It would be nice if we could complete the available namespaces, eg:
import m<hit-suggest-here>

would show the namespaces starting with "m" as well as the list of modules starting with "m", eg:
maven: - Namespace
module1 - Module
mymodule - Module

The way to get the list of available namespaces is to get a reference to the RepositoryManager from the project context and then call .getRepositories() on it and then .getNamespace() on each of those.
This will give you the list of available namespaces for the repositories configured for the project (so if you didn't add the Aether repository the maven: prefix will not show up!).

I suppose the ceylon namespace is implicit and we don't need to add it to the proposals?

Right.

Oops, namespaces shouldn't be suggested in module literals.


RFC:  re-import an exported archive

It is an early preview and request for feedback how to realize an import feature from exported archives.
Also propose to change an import command syntax, and documentation.
I'd like to ask developers against command line interface and features from a point of view on User Experience and implementation.
related issues: #1785 #2807
Now following updates here.

Change import command syntax and document it.

Add --ext subcommand option for preexist import function.
Introduce --control --include --project options
When no sub command option, assuming -ext

Introduce --vc subcommand (not implemented the feature yet)

Signed-off-by: Hiroshi Miura<EMAIL_ADDRESS>

I found an approach to extend import feature to accept exported archive, is not feasible to live, because exported archive lacks important files. So I'd like to close here.

@miurahr
can re-open and try to add export
very necessary import function


github/workflows: add autotick workflow

fetch latest version from https://anaconda.org/litex-hub/ channel
replace package version in notebooks cells
create PR (that will trigger CI #55)

Fixes #60

@mithro fyi
@umarcor does that seems reasonable
@msaligane that might be useful for https://github.com/sscs-ose/sscs-ose-code-a-chip.github.io

@proppy I'm not fond of having CI create PRs automatically, because it needs write permissions and that's cumbersome to handle with regard to contributors/forks. Hence, I would recommend to add the script and run the workflow periodically to check whether something is to be updated; but let a human actually commit the changes.


How to deal with the history and tagged data

Situation identified by Leo :

to select tagged element, I have to keep the history of previous elements (to only select them once to annotate, otherwise it is always the same)
but if i tag all the untagged element, it means they are all in the history
so they can't be selected again with the tagged sample

The solution is to clean the history. But I don't see how to do it automatically. An idea @eollion @jboelaert ?

I'm not sure I understand the question exactly, but if I do it is a tricky one indeed. What I did in R Tigger was to keep a running memory, per session, of all the elements that have just been tagged (from untagged) or re-tagged (from tagged), and to prevent these elements from being presented again to the user (during this session).
Does this answer the question? Is it doable in pyTigger?

Yes. I do that. But the case is : if you tagged it in one session and in the same you want to review the tagged element, you can't access them, except if you click on "reset history". So it works as you said (so I guess there is the same problem in ractivetigger), but with this potential problem for unexperimented users (who doesn't know about history).


[Bug] Mysterious chat?

Not sure how this chat (notice no messages) found its way in there, it's not on phone and web.whatsapp.com

@deepesh-agarwal I realized that this happens when the person turns his account from a personal account to a business account or vice versa, enter the chat of the<PHONE_NUMBER>0 number and you will see that this number has just turned his whatsapp account into a business account.

@deepesh-agarwal I realized that this happens when the person (in this case<PHONE_NUMBER>0)  turns his account from a personal account to a business account or vice versa.
Please enter the chat of the<PHONE_NUMBER>0 number and check if that number has just turned his whatsapp account into a business account.
@canove We need to check in the backend console which event is generated when someone turn his account into a business account and ignore it in the wbotMessageListener.js file, in the section bellow:
		if (
			msg.from === "status@broadcast" ||
			msg.type === "location" ||
			msg.type === "call_log" ||
			msg.author != null // Ignore Group Messages
		) {
			return;

That number is not in my chats or contacts? How a random number will trigger this on my whatsapp setup!!

That number is not in my chats or contacts? How a random number will trigger this on my whatsapp setup!!

Different than my problem then :confused:
Weird how it triggered your Whaticket setup if you dont have that number in contact list :open_mouth:

I just tested on my whatsapp and saw that there is a type of notification like 'status@broadcast', 'call_log', where it comes with message empty.
That empty balloon is some notification, i can't tell which notification it is, cuz there is plenty of notification types, like the one where it says in a Green Balloon "You are talking to a business account [...]", there is the one in a Yellow Balloon where it says "Messages and calls are end-to-end encrypted [...]".
For the yellow balloon where it says Messages and calls are end-to-end encrypted. No one outside of this chat [...]
the type of it is e2e_notification.
The types are:
Array Filter messages by chat type
"text" "notification" "notification_template" "group_notification" "gp2" "broadcast_notification" "e2e_notification" "call_log" "protocol" "chat" "location" "payment" "vcard" "ciphertext" "multi_vcard" "revoked" "image" "video" "audio" "ptt" "sticker" "document" "unknown"

Source: console.wassenger.com/docs/#operation/getDeviceMessages
Here it is what is recognized by the backend by that Yellow Balloon.
2020.09.12, 22:03:24.0641 UTC ->
From<EMAIL_ADDRESS>Type: e2e_notification
Message:

The Message in the Android Phone:

The Message in the Whaticket Frontend Client:

That number is not in my chats or contacts? How a random number will trigger this on my whatsapp setup!!

I think since you added this number to your ticket list you are listening for all his messages, even if hes not in your contact list.

@canove I identified the real issue in @deepesh-agarwal case.
Just because the ticket chat he's talking to doesn't have a properly name like John Doe and it is identified just by<PHONE_NUMBER>0, doesn't mean he doesn't have this number in his contacts list like he said. It does mean that he doesn't synced his phone contacts to whaticket contacts tab.
Thats why he thinks he doesn't have this<PHONE_NUMBER>0 number in his contact list while he does have this number in his contact list.
Let me explain.
I have a number in my phone contact list, but i don't have that number in my whaticket contact list tab, because i didn't synced my contact list, so that number appears like 551999509xxxx, and it doesn't appear the name of the contact, because i haven't synced this contact in my whaticket contact list tab.
So today that number turned into a business account, and it popped up two empty messages like @deepesh-agarwal issue.
The solution is to ignore message type equals e2e_notification.
Backend Log:
The message is a fromMe message type, and it is type e2e_notification.
2020.09.14, 22:03:07.0407 UTC -> (22:03 UTC equals 19:03 GMT-3 Brazil)
From<EMAIL_ADDRESS>Type: e2e_notification
Message:

Whaticket Frontend Screenshots:
![whaticket-frontend](https://user-images.githubusercontent.com/18627611/93159954-ba31f000-f6e5-11ea-8499-64bfa9d277a3.jpg)

@canove I identified the real issue in @deepesh-agarwal case.
First of all, just because the ticket chat he's talking-to doesn't have a properly name like John Doe and it is identified just by<PHONE_NUMBER>0, doesn't mean he doesn't have this number in his phone contacts list like he said. It does mean that he doesn't synced his phone contacts to whaticket contacts tab.
Thats why he thinks he doesn't have this<PHONE_NUMBER>0 number in his contact list while he does have this number in his contact list.
Let me explain.
I have a number in my phone contact list, but i don't have that number in my whaticket contact list tab, because i didn't synced my contact list, so that number appears like 551999509xxxx, and it doesn't appear the name of the contact, because i haven't synced this contact in my whaticket contact list tab.
So today that number turned into a business account, and it popped up two empty messages like @deepesh-agarwal issue.
How i know it turned into a business account? I opened a chat in my phone with this person and saw a balloon saying that today that person turned his account into a business account.
This empty message is not on my phone and also not on wpp.web. Like @deepesh-agarwal.
The solution is to ignore message type equals e2e_notification.
The two empty messages are fromMe message, and it is type e2e_notification and notification_template.
Backend Log:
2020.09.14, 22:03:07.0407 UTC -> (22:03 UTC equals 19:03 GMT-3 Brazil)
From<EMAIL_ADDRESS>Type: e2e_notification
Message:

2020.09.14, 22:03:07.0426 UTC ->
From<EMAIL_ADDRESS>Type: notification_template
Message:

Whaticket Frontend Screenshot:

I did a search for the name on the phone.

@canove I identified the real issue in @deepesh-agarwal case.
First of all, just because the ticket chat he's talking-to doesn't have a properly name like John Doe and it is identified just by<PHONE_NUMBER>0, doesn't mean he doesn't have this number in his phone contacts list like he said. It does mean that he doesn't synced his phone contacts to whaticket contacts tab.
Thats why he thinks he doesn't have this<PHONE_NUMBER>0 number in his contact list while he does have this number in his contact list.
Let me explain.
I have a number in my phone contact list, but i don't have that number in my whaticket contact list tab, because i didn't synced my contact list, so that number appears like 551999509xxxx, and it doesn't appear the name of the contact, because i haven't synced this contact in my whaticket contact list tab.
So today that number turned into a business account, and it popped up two empty messages like @deepesh-agarwal issue.
How i know it turned into a business account? I opened a chat in my phone with this person and saw a balloon saying that today that person turned his account into a business account.
This empty message is not on my phone and also not on wpp.web. Like @deepesh-agarwal.
The solution is to ignore message type equals e2e_notification.
The two empty messages are fromMe message, and it is type e2e_notification and notification_template.
Backend Log:
2020.09.14, 22:03:07.0407 UTC -> (22:03 UTC equals 19:03 GMT-3 Brazil)
From<EMAIL_ADDRESS>Type: e2e_notification
Message:

2020.09.14, 22:03:07.0426 UTC ->
From<EMAIL_ADDRESS>Type: notification_template
Message:

Whaticket Frontend Screenshot:

I did a search for the name on the phone.

My bad for affirming it @deepesh-agarwal :cry:

@deepesh-agarwal Do you have discord?

My bad for affirming it @deepesh-agarwal 😢

No issues, I guess the empty message fix should be fixing it.

@deepesh-agarwal Do you have discord?

Sorry :(

My bad for affirming it @deepesh-agarwal cry

No issues, I guess the empty message fix should be fixing it.

@deepesh-agarwal Do you have discord?

Sorry :(

Sorry,  i edited my post, and removed what i said that you have that number in your contact list, cuz it was rude affirming it without knowing it.
:+1:

@canove I identified the real issue in @deepesh-agarwal case.
First of all, just because the ticket chat he's talking-to doesn't have a properly name like John Doe and it is identified just by<PHONE_NUMBER>0, doesn't mean he doesn't have this number in his phone contacts list like he said. It does mean that he doesn't synced his phone contacts to whaticket contacts tab.
Thats why he thinks he doesn't have this<PHONE_NUMBER>0 number in his contact list while he does have this number in his contact list.
Let me explain.
I have a number in my phone contact list, but i don't have that number in my whaticket contact list tab, because i didn't synced my contact list, so that number appears like 551999509xxxx, and it doesn't appear the name of the contact, because i haven't synced this contact in my whaticket contact list tab.
So today that number turned into a business account, and it popped up two empty messages like @deepesh-agarwal issue.
How i know it turned into a business account? I opened a chat in my phone with this person and saw a balloon saying that today that person turned his account into a business account.
This empty message is not on my phone and also not on wpp.web. Like @deepesh-agarwal.
The solution is to ignore message type equals e2e_notification.
The two empty messages are fromMe message, and it is type e2e_notification and notification_template.
Backend Log:
2020.09.14, 22:03:07.0407 UTC -> (22:03 UTC equals 19:03 GMT-3 Brazil)
From<EMAIL_ADDRESS>Type: e2e_notification
Message:

2020.09.14, 22:03:07.0426 UTC ->
From<EMAIL_ADDRESS>Type: notification_template
Message:

Whaticket Frontend Screenshot:

I did a search for the name on the phone.

Dang my bot number is appearing in your reply, can you edit that reply and remove the quote please? Im afraid people will spam my bot :sob:

My bad for affirming it @deepesh-agarwal cry

No issues, I guess the empty message fix should be fixing it.

@deepesh-agarwal Do you have discord?

Sorry :(

I hope it does fixes, let's wait for @canove to see what he thinks about.

@canove I identified the real issue in @deepesh-agarwal case.
First of all, just because the ticket chat he's talking-to doesn't have a properly name like John Doe and it is identified just by<PHONE_NUMBER>0, doesn't mean he doesn't have this number in his phone contacts list like he said. It does mean that he doesn't synced his phone contacts to whaticket contacts tab.
Thats why he thinks he doesn't have this<PHONE_NUMBER>0 number in his contact list while he does have this number in his contact list.
Let me explain.
I have a number in my phone contact list, but i don't have that number in my whaticket contact list tab, because i didn't synced my contact list, so that number appears like 551999509xxxx, and it doesn't appear the name of the contact, because i haven't synced this contact in my whaticket contact list tab.
So today that number turned into a business account, and it popped up two empty messages like @deepesh-agarwal issue.
How i know it turned into a business account? I opened a chat in my phone with this person and saw a balloon saying that today that person turned his account into a business account.
This empty message is not on my phone and also not on wpp.web. Like @deepesh-agarwal.
The solution is to ignore message type equals e2e_notification.
The two empty messages are fromMe message, and it is type e2e_notification and notification_template.
Backend Log:
2020.09.14, 22:03:07.0407 UTC -> (22:03 UTC equals 19:03 GMT-3 Brazil)
From<EMAIL_ADDRESS>Type: e2e_notification
Message:

2020.09.14, 22:03:07.0426 UTC ->
From<EMAIL_ADDRESS>Type: notification_template
Message:

Whaticket Frontend Screenshot:

I did a search for the name on the phone.

@deepesh-agarwal
Dang my bot number is appearing in your reply, can you edit that reply and remove the quote please? Im afraid people will spam my bot like they do with those weird characters :sob:

@deepesh-agarwal Im gonna delete some of my messages where we had conversation/talked, so it don't polute your ticket OK?

Type: notification_template
Message:

I did a search for the name on the phone.

Might be a different issue you are having then, different than mine, but you helped sculpt the code by opening this issue, if you didn't we won't notice that empty messages thing.
I did the pull request, but if you want to do a pull request yourself since you found this bug, i can delete my pull request and you do the pull request yourself.
Tell me what you think of it.

Type: notification_template
Message:

I did a search for the name on the phone.

Could be a different issue you are having then, different than mine, because there's alot of empty message types i think since i found two e2e_notification and notification_template, but there might be other ones.
You helped sculpt the code by opening this issue, if you didn't we won't notice that empty messages thing.
@deepesh-agarwal
I did the pull request, but if you want to do a pull request yourself since you found this bug, i can delete my pull request and you do the pull request yourself.
Tell me what you think of it.


Use unique_ptr for cub allocator.

Make sanitizer happy.

Will be part of https://github.com/dmlc/xgboost/pull/9772 .


Moonbeam Runtime upgrade to 1601 with breakchange

最新的运行时1601更新里面有一个变动你们可能需要留意一下：
Treasury deposit events
With the better support for Ethereum priority fees, there can be 2 treasury.Deposit substrate event per transaction (one corresponding to 20% of the gas used, and one corresponding to 20% of the priority fees being consumed)

yes. Noticed


Fix disabled checkbox toggle buttons

Hi
Fixed a bug from issue #31355
For convenience of managing the state "disabled" added variables to _variables.scss.
$form-check-input-disabled-opacity - the default opacity for input with the form-check-input class
$form-check-label-disabled-opacity - The opacity value for the label. By default copies the value from $ form-check-input-disabled-opacity
$form-check-btn-check-disabled-opacity - The opacity value for the checkbox toggle buttons. By default takes the opacity value for disabled button
Solved with a selector + because the order of input and label should not change

Do we have an example of disabled labels in our docs somewhere? If not could you add it?

@MartijnCuppens
Added examples to the documentation


Feature/documentation for release 3.0.0

Coverage increased (+0.3%) to 85.955% when pulling 19a064ec30f87b3b694f3a8f4df4a31589d46345 on feature/documentation-for-release-3.0.0 into 26471d58c79cc79a5624df86016f5393843a1cd6 on master.

Coverage increased (+0.3%) to 85.955% when pulling 19a064ec30f87b3b694f3a8f4df4a31589d46345 on feature/documentation-for-release-3.0.0 into 26471d58c79cc79a5624df86016f5393843a1cd6 on master.

Coverage increased (+0.3%) to 85.955% when pulling 7f42fa45a60a4f4c9625d1e9c099487a900a48b4 on feature/documentation-for-release-3.0.0 into 26471d58c79cc79a5624df86016f5393843a1cd6 on master.


feat: plan page

@haydenull, How to open the plan page?

@AnweshGangula

Okay, Thank you.
I don't see a "Tomorrow" column in Plane page though.
The "2023-11-19" changelog in Notion mentions you added "Tomorrow" column

Okay, looks like the "Tomorrow" column is only visible if I click on "Plan" on the Tomorrow Dat column in "Tasks" View

Okay, looks like the "Tomorrow" column is only visible if I click on "Plan" on the Tomorrow Dat column in "Tasks" View

Yes, the reason for designing it this way is that some people are accustomed to planning their tasks for tomorrow at the end of today, while others are accustomed to planning their tasks at the beginning of the day.


Feature/21 add circleci

This PR will fix #21

One thing missing is SimpleCov and the code climate test reporter so we can sync test results between CircleCi and CodeClimate.


Wrong script in package.json when you add new platforms

I have ionic 1.6.1 and I have these plugins in package.json:
"cordovaPlugins": [
<EMAIL_ADDRESS>"com.ionic.keyboard",
{
"locator": "https://github.com/phonegap-build/PushPlugin.git",
"id": "com.phonegap.plugins.PushPlugin"
},
"cordova-plugin-console",
"nl.x-services.plugins.toast"
], "cordovaPlatforms": []
now if I run in sequence:
ionic platform add ios
ionic platform add android
ionic platform add browser
here my new package.json:
"cordovaPlugins": [
<EMAIL_ADDRESS>"com.ionic.keyboard",
{
"locator": "https://github.com/phonegap-build/PushPlugin.git",
"id": "com.phonegap.plugins.PushPlugin"
},
"cordova-plugin-console",
"nl.x-services.plugins.toast"
],
"cordovaPlatforms": [
"ios",
{
"platform": "android",
"locator": "browser"
}
]
that is wrong. So that we I download a cleaned copy from my repo and I run "ionic state restore"
I have a mess.
Here the code working for me:
"cordovaPlugins": [
<EMAIL_ADDRESS>"com.ionic.keyboard",
{
"locator": "https://github.com/phonegap-build/PushPlugin.git",
"id": "com.phonegap.plugins.PushPlugin"
},
"cordova-plugin-console",
"nl.x-services.plugins.toast"
], "cordovaPlatforms": []
now if I run in sequence:
ionic platform add ios
ionic platform add android
ionic platform add browser
here my new package.json:
"cordovaPlugins": [
<EMAIL_ADDRESS>"com.ionic.keyboard",
{
"locator": "https://github.com/phonegap-build/PushPlugin.git",
"id": "com.phonegap.plugins.PushPlugin"
},
"cordova-plugin-console",
"nl.x-services.plugins.toast"
],
"cordovaPlatforms": [
"ios", "android", "browser"  ]

Greetings @fairsayan!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


Warning on a parameter not used in the spec but used in the finally

We have a bunch of pipelines with the finally section.
The problem is that we see warning like the following:
warning (15,7,17,1): Pipeline 'pipeline-xx-yy-zzz' defines parameter 'example', but it's not used anywhere in the spec
and in the pipeline we have:
  finally:
    - name: yyyyyyy
      taskRef:
        name: task-yyyyyy
      params:
        - name: example
          value: $(params.example)
      workspaces:
        - name: task-pvc
          workspace: pipeline-pvc

Is any way to fix this?

Thanks for the report - I've taken over the maintainership - and have released a v1 beta with improved finally support


Update to 2.0.10 fails with "don't install bower-asset/jquery.inputmask 3.1.63"

What steps will reproduce the problem?
run composer require "yiisoft/yii2:~2.0.10" in terminal
What is the expected result?
yii2 to update
What do you get instead?
yii2 doesn't update
Additional info

Q
A

Yii version
2.0.5

PHP version
5.5.35

Operating system
OSX 10.12.2

Error
Problem 1
    - Installation request for yiisoft/yii2 ~2.0.10 -> satisfiable by yiisoft/yii2[2.0.10].
    - Conclusion: don't install bower-asset/jquery.inputmask 3.1.63
    - yiisoft/yii2 2.0.10 requires bower-asset/jquery.inputmask ~3.2.2 -> satisfiable by bower-asset/jquery.inputmask[3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.7].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.6].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.5].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.4].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.3].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.2].
    - Installation request for bower-asset/jquery.inputmask (locked at 3.1.63) -> satisfiable by bower-asset/jquery.inputmask[3.1.63].

Cannot reproduce. What I've tried in clean directory:
composer self-update //  1.3.1 is used
composer global update // to make sure latest fxp is used
composer clear-cache // to make sure success is not because of cache
composer require "yiisoft/yii2:~2.0.10"

FXP plugin is installed globally.

Sorry, getting the same error. Is there any way I could troubleshoot this?
Here's the full output
$ composer self-update
You are already using composer version 1.3.1 (stable channel).
$ composer global update
Changed current directory to ~/.composer
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
$ composer clear-cache
Clearing cache (cache-dir): ~/.composer/cache
Clearing cache (cache-files-dir): ~/.composer/cache/files
Clearing cache (cache-repo-dir): ~/.composer/cache/repo
Cache directory does not exist (cache-vcs-dir):
All caches cleared.
$ composer require "yiisoft/yii2:~2.0.10"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for yiisoft/yii2 ~2.0.10 -> satisfiable by yiisoft/yii2[2.0.10].
    - Conclusion: don't install bower-asset/jquery.inputmask 3.1.63
    - yiisoft/yii2 2.0.10 requires bower-asset/jquery.inputmask ~3.2.2 -> satisfiable by bower-asset/jquery.inputmask[3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.7].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.6].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.5].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.4].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.3].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.2].
    - Installation request for bower-asset/jquery.inputmask (locked at 3.1.63) -> satisfiable by bower-asset/jquery.inputmask[3.1.63].

Installation failed, reverting ./composer.json to its original content.

Do you have composer asset plugin installed globally?

Honestly, I'm not very strong at console stuff, can you help me find that out? Thanks.

composer global info and then search for fxp/composer-asset-plugin.

Here's the output:
$ composer global info
Changed current directory to /Users/benomatis/.composer
fxp/composer-asset-plugin v1.2.2 NPM/Bower Dependency Manager for Composer

Is this good or bad?

When updating an existing installation, you should add the --update-with-dependencies parameter, e.g.:
composer require "yiisoft/yii2:~2.0.10" --update-with-dependencies

See also https://github.com/yiisoft/yii2/blob/master/framework/UPGRADE.md#upgrading-instructions-for-yii-framework-20

Alright, this looks better, no error this time, but it looks it only upgraded me to 2.0.6 instead of 2.0.10. Any reason for that?
Here is the most recent output:
$ composer require "yiisoft/yii2:~2.0.10" --update-with-dependencies
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 8 installs, 0 updates, 0 removals
  - Installing yiisoft/yii2-composer (2.0.5) Downloading: 100%
  - Installing bower-asset/jquery (2.2.4) Downloading: 100%
  - Installing bower-asset/yii2-pjax (v2.0.6) Downloading: 100%
  - Installing bower-asset/punycode (v1.3.2) Downloading: 100%
  - Installing bower-asset/jquery.inputmask (3.2.7) Downloading: 100%
  - Installing cebe/markdown (1.1.1) Downloading: 100%
  - Installing ezyang/htmlpurifier (v4.9.0) Downloading: 100%
  - Installing yiisoft/yii2 (2.0.10) Downloading: 100%
Writing lock file
Generating autoload files

Scratch that, I think it was only successful because accidentally I ran it in my home folder. If I run it in the project directory, I get the exact same error as I got at the very beginning of this issue. I actually wanted to ask if it counted in which folder I ran composer, and apparently it does count, going out from the
Here is what I did this time:
$ composer self-update
You are already using composer version 1.3.1 (stable channel).
$ composer global update
Changed current directory to ~/.composer
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
$ composer clear-cache
Clearing cache (cache-dir): ~/.composer/cache
Clearing cache (cache-files-dir): ~/.composer/cache/files
Clearing cache (cache-repo-dir): ~/.composer/cache/repo
Cache directory does not exist (cache-vcs-dir):
All caches cleared.
$ composer require "yiisoft/yii2:~2.0.10" --update-with-dependencies
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for yiisoft/yii2 ~2.0.10 -> satisfiable by yiisoft/yii2[2.0.10].
    - Conclusion: don't install bower-asset/jquery.inputmask 3.1.63
    - yiisoft/yii2 2.0.10 requires bower-asset/jquery.inputmask ~3.2.2 -> satisfiable by bower-asset/jquery.inputmask[3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.7].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.6].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.5].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.4].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.3].
    - Can only install one of: bower-asset/jquery.inputmask[3.1.63, 3.2.2].
    - Installation request for bower-asset/jquery.inputmask (locked at 3.1.63) -> satisfiable by bower-asset/jquery.inputmask[3.1.63].

Installation failed, reverting ./composer.json to its original content.

[ Note: I'm replacing /User/username/ with ~/ in the output, assuming that is irrelevant here ]

Ah, that's what it is. I've tried with empty directory and that's why it worked.
Usually I'm adding version to composer.json and doing composer update but it should not matter. There's something interesting going on with existing project dependencies. Most probably one of Yii's dependency version is fixed in your composer.json and that's why it can't install.

Show result of
composer depends bower-asset/jquery.inputmask

@rob006
$ composer depends bower-asset/jquery.inputmask

  [InvalidArgumentException]
  Could not find package "bower-asset/jquery.inputmask" in your project

depends [-r|--recursive] [-t|--tree] [--] <package> [<constraint>]

To be honest, I remember deleting it from the vendor folder once, because someone somewhere actually suggested to get rid of the whole vendor folder, but I thought I'd just remove that one package, and it should solve it, yet I kept getting the same error. But shouldn't it reinstall it automatically if it's missing...?

Alright, this looks better, no error this time, but it looks it only upgraded me to 2.0.6 instead of 2.0.10. Any reason for that?

composer shows 2.0.10:

Installing yiisoft/yii2 (2.0.10) Downloading: 100%

I think --update-with-dependencies should include the bower package but composer says it is locked, not sure why that is.
I tried the following upgrade scenario in an empty directory:
# first install 2.0.5
composer require "yiisoft/yii2:2.0.5"
# then upgrade
composer require "yiisoft/yii2:~2.0.10" --update-with-dependencies

It upgraded successfully:
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 3 updates, 0 removals
  - Updating bower-asset/jquery.inputmask (3.1.63 => 3.2.7) Loading from cache
  - Updating ezyang/htmlpurifier (v4.6.0 => v4.9.0) Loading from cache
  - Updating yiisoft/yii2 (2.0.5 => 2.0.10) Loading from cache
Writing lock file
Generating autoload files

Please show your composer.json there must be something different in your environment.

I ran into same problem when ich was downgrading from dev-master to 2.0.10 and --update-with-dependencies did solve it

This is my composer.json:
{
    "name": "yiisoft/yii2-app-basic",
    "description": "Yii 2 Basic Project Template",
    "keywords": ["yii2", "framework", "basic", "project template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "~2.0.6",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*"
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*"
    },
    "config": {
        "process-timeout": 1800
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::postCreateProject"
        ]
    },
    "extra": {
        "yii\\composer\\Installer::postCreateProject": {
            "setPermission": [
                {
                    "runtime": "0777",
                    "web/assets": "0777",
                    "yii": "0755"
                }
            ],
            "generateCookieValidationKey": [
                "config/web.php"
            ]
        },
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    }
}

So the issue is still there, I'm still on 2.0.6... why?

We can not reproduce your problem and nobody reports similar.
It seems, that the problem is on your side.

ok, so what do you suggest me to do? is there no way I could just download the package and unzip it inside the proper folder, and start using it, just like it was with 1.1?

Have you tried to remove vendor directory and then call composer install?

ok, I deleted the vendor folder, then ran composer install (which changed nothing), however this time running  composer require "yiisoft/yii2:~2.0.10" --update-with-dependencies did the trick; I'm actully on <IP_ADDRESS> now. Thank you guys.


Add optional ServiceAccount to Pod specs

Allowing a name for an already existing ServiceAccount to be set in the Helm chart enables a Streams app Pod to be granted RBAC permissions

Isn't this fixed by #156?

Yes, fixed by https://github.com/bakdata/streams-bootstrap/pull/156


Move most of the readme.md to wiki pages.

I need to move most of the readme.md to wiki pages. The md is too long and not very useful. If the data in the readme.md was in wiki pages it would be easier for users to consume and we could have easier translations of that data.

Closed see commit 50bbb9d2fb2bf3fd295deffa30d643109041a995 Documentation has been moved to the wiki


pre-loading docker images is not working

Describe the bug
We are working on an Air-Gap environment with the k3s server and we are trying to use the pre-loading docker images by putting the tar file k3s-airgap-images-amd64.tar under the directory /var/lib/rancher/k3s/agent/images/ but Docker images are not loaded when we start the k3s server (using the script install-k3s.sh)
more here: https://github.com/rancher/k3s#air-gap-support
To Reproduce
Steps to reproduce the behavior:
We Downloaded the following files and we copied them to the offline server
curl -sfL https://github.com/rancher/k3s/releases/download/v0.6.1/k3s -o /usr/local/bin/k3s
chmod 0755 /usr/local/bin/k3s

curl -sfL https://get.k3s.io -o install-k3s.sh
chmod 0755 install-k3s.sh

curl -sfL https://github.com/rancher/k3s/releases/download/v0.6.1/k3s-airgap-images-amd64.tar

mkdir -p /var/lib/rancher/k3s/agent/images/3
cp ./k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/

on the offline server:
run installation script:
/install-k3s.sh --docker --no-deploy traefik

results:
journalctl -u k3s output:

ul 01 16:37:15 guyk-Latitude-7490 k3s[24305]: W0701 16:37:15.321962   24305 node_lifecycle_controller.go:833] Missing timestamp for Node guyk-latitude-7490. Assuming now as a timestamp.
Jul 01 16:37:15 guyk-Latitude-7490 k3s[24305]: E0701 16:37:15.913143   24305 remote_runtime.go:109] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.1": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host
Jul 01 16:37:15 guyk-Latitude-7490 k3s[24305]: E0701 16:37:15.913436   24305 kuberuntime_sandbox.go:68] CreatePodSandbox for pod "coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)" failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.1": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host
Jul 01 16:37:15 guyk-Latitude-7490 k3s[24305]: E0701 16:37:15.913538   24305 kuberuntime_manager.go:693] createPodSandbox for pod "coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)" failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.1": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host
Jul 01 16:37:15 guyk-Latitude-7490 k3s[24305]: E0701 16:37:15.913869   24305 pod_workers.go:190] Error syncing pod 569309bf-9c05-11e9-8652-c8f75044273a ("coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)"), skipping: failed to "CreatePodSandbox" for "coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)" with CreatePodSandboxError: "CreatePodSandbox for pod \"coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)\" failed: rpc error: code = Unknown desc = failed pulling image \"k8s.gcr.io/pause:3.1\": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host"
Jul 01 16:37:16 guyk-Latitude-7490 k3s[24305]: E0701 16:37:16.463796   24305 resource_quota_controller.go:437] failed to sync resource monitors: [couldn't start monitor for resource "k3s.cattle.io/v1, Resource=listenerconfigs": unable to monitor quota for resource "k3s.cattle.io/v1, Resource=listenerconfigs", couldn't start monitor for resource "extensions/v1beta1, Resource=networkpolicies": unable to monitor quota for resource "extensions/v1beta1, Resource=networkpolicies", couldn't start monitor for resource "helm.cattle.io/v1, Resource=helmcharts": unable to monitor quota for resource "helm.cattle.io/v1, Resource=helmcharts", couldn't start monitor for resource "k3s.cattle.io/v1, Resource=addons": unable to monitor quota for resource "k3s.cattle.io/v1, Resource=addons"]
Jul 01 16:37:30 guyk-Latitude-7490 k3s[24305]: E0701 16:37:30.520403   24305 remote_runtime.go:109] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.1": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host
Jul 01 16:37:30 guyk-Latitude-7490 k3s[24305]: E0701 16:37:30.520443   24305 kuberuntime_sandbox.go:68] CreatePodSandbox for pod "coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)" failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.1": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host
Jul 01 16:37:30 guyk-Latitude-7490 k3s[24305]: E0701 16:37:30.520472   24305 kuberuntime_manager.go:693] createPodSandbox for pod "coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)" failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.1": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host
Jul 01 16:37:30 guyk-Latitude-7490 k3s[24305]: E0701 16:37:30.520560   24305 pod_workers.go:190] Error syncing pod 569309bf-9c05-11e9-8652-c8f75044273a ("coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)"), skipping: failed to "CreatePodSandbox" for "coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)" with CreatePodSandboxError: "CreatePodSandbox for pod \"coredns-695688789-7xwbs_kube-system(569309bf-9c05-11e9-8652-c8f75044273a)\" failed: rpc error: code = Unknown desc = failed pulling image \"k8s.gcr.io/pause:3.1\": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host"

kubectl get pods -A output:
NAMESPACE     NAME                      READY   STATUS              RESTARTS   AGE
kube-system   coredns-695688789-7xwbs   0/1     ContainerCreating   0          79s

kubectl describe output:
kubectl describe coredns-695688789-7xwbs -n kube-system

Events:
  Type     Reason                  Age                 From                         Message
  ----     ------                  ----                ----                         -------
  Warning  FailedScheduling        118s                default-scheduler            0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.
  Normal   Scheduled               118s                default-scheduler            Successfully assigned kube-system/coredns-695688789-7xwbs to guyk-latitude-7490
  Warning  FailedCreatePodSandBox  32s (x7 over 118s)  kubelet, guyk-latitude-7490  Failed create pod sandbox: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.1": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp: lookup k8s.gcr.io: no such host
  Warning  FailedCreatePodSandBox  2s (x2 over 14s)    kubelet, guyk-latitude-7490  Failed create pod sandbox: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.1": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp <IP_ADDRESS>:443: connect: no route to host

as you can see the k3s is still trying to pull some images (like the pause) even the file k3s-airgap-images-amd64.tar has the relevant images
Expected behavior
load all the docker images from the file k3s-airgap-images-amd64.tar
Additional context
Version: v0.6.1
OS: Ubuntu 18.04.2 LTS

The instructions are for using air-gap images with the default containerd configuration. If using docker you would need to docker load the tar file.

Closing this issue. Adding information on using docker is outside the scope of the K3s docs. We already include some information on using Docker as the container runtime but this is experimental (and will never be made stable).


Issue with OpenAIAuth

Hi, Yuri.
I'm new in unreal but I'm trying to use your plugin. I created OpenAIAuth.ini and set key and both IDs. When I use Editor Widget everything works and I get a response from GPT 4o. But when I run Overview scene and try to use anything I get an error that my API_Key is incorrect. I apologize in advance if I made a stupid mistake 😅

I just noticed that api_key in the error is not api_key that I provided in the file.

Tried a bit later, plugins wasn't enabled by some reason. Enabled it and it worked.
Thanks for tutorials.


Issue with zero divisor

@poojashresthacode I found somewhere that you are struggling to resolve the RuntimeWarning: divide by zero encountered in divide
return np.where(x !=0, np.cos(1/x),0). I have sent to this group a merge request regarding this issue. You can take that code as a reference.

Yeah, I already resolved that. Your efforts are much appreciated.

Thank you


Cannot wait for MicroK8s install to be ready for use in script

I'm starting microk8s in a CI pipeline (Standard_DS2_v2, basically 7gb ram, 2 vCPU cores, 14gb SSD.)
sudo snap install microk8s --classic
sudo microk8s status --wait-ready
sudo microk8s enable dns registry storage
sudo microk8s status --wait-ready

As per guidance on microk8s quickstart - however it does not wait for registry,storage and dns to be ready, which causes our pipeline to fail,e.g.:
Error: Get "https://<IP_ADDRESS>:16443/api/v1/namespaces/default/persistentvolumeclaims/local-mongo-pv-claim": dial tcp <IP_ADDRESS>:16443: connect: connection refused

error when creating "/root/snap/microk8s/1769/tmp/temp.coredns.yaml": Post "https://<IP_ADDRESS>:16443/apis/rbac.authorization.k8s.io/v1/clusterroles?fieldManager=kubectl-client-side-apply": read tcp <IP_ADDRESS>:48292-><IP_ADDRESS>:16443: read: connection reset by peer
error when retrieving current configuration of:
Resource: "rbac.authorization.k8s.io/v1, Resource=clusterrolebindings", GroupVersionKind: "rbac.authorization.k8s.io/v1, Kind=ClusterRoleBinding"
Name: "coredns", Namespace: ""
from server for: "/root/snap/microk8s/1769/tmp/temp.coredns.yaml": Get "https://<IP_ADDRESS>:16443/apis/rbac.authorization.k8s.io/v1/clusterrolebindings/coredns": dial tcp <IP_ADDRESS>:16443: connect: connection refused
Failed to enable dns

Using normal kubernetes cli like this:
kube=$HOME/.kube
sudo rm -rf $kube
mkdir $kube
sudo microk8s kubectl config view --raw > $kube/config
sudo chmod 777 ~/.kube/config

Running  kubectl get pods --all-namespaces following the above outputs:
NAMESPACE            NAME                                          READY   STATUS              RESTARTS   AGE
kube-system          pod/calico-node-lmz2v                         0/1     Running             0          49s
kube-system          pod/calico-kube-controllers-847c8c99d-dp98t   0/1     ContainerCreating   0          49s
kube-system          pod/coredns-86f78bb79c-x7rl4                  0/1     ContainerCreating   0          25s
container-registry   pod/registry-9b57d9df8-ct8p2                  0/1     Pending             0          4s
kube-system          pod/hostpath-provisioner-5c65fbdb4f-xf224     0/1     ContainerCreating   0          3s

So I tried instead waiting for all pods:
for n in `kubectl get namespaces -o name`; do
    ns=${n:10}
    echo checking namespace $ns
    for p in `kubectl get pods -n $ns -o name`; do
        echo waiting for pod $p to be ready
        kubectl wait --for=condition=ready $p -n $ns  --timeout=-1s
    done
done

But this just gives me:
checking namespace kube-system
waiting for pod pod/calico-node-lmz2v to be ready
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
waiting for pod pod/calico-kube-controllers-847c8c99d-dp98t to be ready
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
waiting for pod pod/coredns-86f78bb79c-x7rl4 to be ready
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
waiting for pod pod/hostpath-provisioner-5c65fbdb4f-xf224 to be ready
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
checking namespace kube-public
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
checking namespace kube-node-lease
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
checking namespace default
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
checking namespace container-registry
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?
The connection to the server <IP_ADDRESS>:16443 was refused - did you specify the right host or port?

Edit: Managed to get the tarball
inspection-report-20201103_102630.tar.gz

It looks like the network has changed.  Coz i can see this in the apiserver-kicker log
Nov 03 10:25:52 fv-az92-660 microk8s.daemon-apiserver-kicker[2792]: CSR change detected. Reconfiguring the kube-apiserver

When the kicker detects some change in the network it will reconfigure and restart the apiserver.  This is to help those who are moving from one network to another.
Im wondering whether you wait for the network to stabilize.

Hmm I have no idea how to wait for the network to stabilize - can I turn off this kicker detection thing?  I only require access to the cluster from the node host I'm running from.

I think yes you can turn it off systemctl stop snap.microk8s-daemon-apiservice-kicker
You can give that a try though.
It might present a problem in the latest/edge channel wherein the apiservice-kicker will continue to install calico, when the snap configure phase is not able to install calico successfully in 2 mins.

Yeah just tried sudo snap stop --disable microk8s.daemon-apiserver-kicker.  Can we increase the 2min timeout on the snap install phase there, or install calcio manually?

As far as i know there is a snap install limit which is 5 mins.
You can install calico manually the cni file is located in /var/snap/microk8s/current/args/cni-network/cni.yaml
For now can you check if the apiserver is stable when you stop the kicker?

Thanks, I can document this incase it happens in the future - It would be helpful to have an install method without any timeouts however.
Lastly, in the case that the configure hook gets a timeout installing calcio, will microk8s status --wait-ready return a failure?

Workaround looks good, thankyou @balchua !!! :)

I think microk8s status will fail if kubectl get no returns NotReady.  This will happen when cni is not installed.

@dave-yotta do you by any chance have ipv6 on the machine?  For example when you do hostname -I does it show ips which are not ipv4?

These are hosted build agents so I guess it depends on the image used (https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu1804-README.md) - should be able to turn off ipv6 though.  Testing it would mean a chance for our pipelines to break though so we won't be doing that anytime soon :)

@dave-yotta do you by any chance have ipv6 enabled on the machine? For example when you do hostname -I does it show ips which are not ipv4? This can be the reason why the kicker is constantly restarting the apiservice.
If you can turn off ipv6 and then re-enable the kicker it shouldn't restart the apiservice.

My system is reporting "daemon-apiserver-kicker[33342]: CSR change detected" every 10 to 15 minutes but sporadically. I will turn off IP v6 to see if it helps, but for my edification what does ipv6 have to do this?

@johngrabner if you want to turn disable the kicker from detecting network changes you can follow the instructions below.  See if this helps.
https://github.com/ubuntu/microk8s/issues/1822#issuecomment-745335208

Hi All, sorry I don't know, we're using kind now.


Does notstart / "Run" not available (greyed out)

The installation to my Fire TV worked. Bridge was discovered.
However it does not work. Doesn´t seem to run at all.
The "Run" button is not available (greyed out).
Any ideas what could be the issue here?
Thanks.

Same for me.


fix: should ignore empty charaters around comma

see： test cases  "empty_around_comma"  and "empty_side_by_comma"

It's that OK, first time solving requested changed online


English version of texts

Hi guys, here is the new English version of texts. I found that there are some repetitive texts, and according to my memory, there should be many other texts that have not been included. We need to continuously update.

closed by #1822


Added plugins.yml file with list of plugins

Changes

added plugins_helper.rb that parses plugins.yml
added plugins_helper_test.rb
modified admin.rb and source-kafka.rb to use plugins.yml

This should be transparent to homebrew users

:gift: Add new feature

/kind enhancement
Fixes #16
CC: @joshuawilson @rhuss

/ok-to-test

So you are building the download link based on the values in the yaml, correct?

So you are building the download link based on the values in the yaml, correct?

Yes. I can simplify it so that the plugin_helper.rb computes the download URL. The YAML will have all info.
The next step (different PR) is to automate the generation of this YAML with a simple list of the plugins to include. But that's for future.
Let me know if the current YAML is usable to you so I can get this reviewed and merged.

@navidshaikh see update and please try it and let me know. Thx

@navidshaikh is this ready to merge? I want to sync with 0.24.0 and also add the diag plugin. Thanks.

@maximilien sorry, we missed the 0.24 train ;-( I can have a look at the PR, but you would need to resolve the conflicts first that occurred because of the latest release.

No longer required


Feedback on created visualisations

Hi all!
I've implemented visualisation tools for the following purposes:

plot_rich_club - for plotting the rich club values per degree along with the random rich club values created from a random network with a preserved degree distribution.

Result

plot_network_measures - plotting network measures values along with the random network values values created from a random network

Result

plot_degree_dist - plotting the degree distribution along with the degree distribution of an Erdos Renyi random graph

Result

Kirstie's code was really helpful but mostly I've designed these functions by myself, so there are might be some features(changes) you would like to have and on the contrary not to have.

Is the code to produce these in your fork @wingedRuslan ?

I think we can safely move this discussion to pr #121


esp: add march and mabi flags for all riscv chips

A better solution could be to get the March and Mabi flags from the idf toolchain-clang-<target>.cmake file. However, for now, the IDF build uses the GCC toolchain instead of Clang. I would like to test the Clang build and then modify the related parts.

I'm going to sign Kuba up to review this one


Can not extract PDF

Hi,
Please help me to solve this problem. I can not extract any PDF document.
I got the message as below in my browser:
Tabula API version: 1.0.0
Filename: 11._aceh.pdf
Internal Server Error (500)
    Request Method:
    POST

    Request URL:
  http://<IP_ADDRESS>:34555/pdf/c73a32b56fafbd131a175f9dcb4913361c4c49dc/data

(ArgumentError) comparison of Float with nil failed
I got the message as below in my command line:
INFO: jruby 1.7/15 (1.9.3p392) 2014-9-03 82b5cc3 on Java HotSpot(TM) Client VM 1.0.0_51-b16 +jit [Windows 7-x86]
INFO: using a shared (threadsafe!) runtime
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
DATA_DIR = C:*\AppData\Roaming\Tabula
DOCUMENTS_BASEPATH = C:*\AppData\Roaming\Tabula/pdfs
ENABLE_DEBUG_METHODS = false
==================================
Launching ........
............................
............................
............................
return to this window and press "Control-C" to close it.
2015-08-24 10:53:06.807:INFO:oejsh.ContextHandler:started o.e.jw.WebAppContext{/,file:C://AppData/Local/Temp/warbler4064919576605785197webroot/tabula.jar/work/jetty-<IP_ADDRESS>-34555-tabula.jar-_-any-/webapp/},/C://tabula-win-1.0.0/tabula/tabula.jar
2015-08-24 10:53:07.389:INFO:oejs.AbstractConnector:Started SelectChannelConnector@<IP_ADDRESS>:34555
DEBUG: resetting rack response due exception

This bug will be fixed in the next version of Tabula, which will be released soon.


As in previous version when command execution failed an exception should be thrown

In the previous versions of confgen the command execution throws an exception. This should be implemented again to improve error handling.

Ping @clue


KAFKA-9603: Do not turn on bulk loading for segmented stores on stand-by tasks

Segmented state stores turn on bulk loading of the underlying RocksDB
when restoring. This is correct for segmented state stores that
are in restore mode on active tasks and the onRestoreStart() and
onRestoreEnd() in RocksDBSegmentsBatchingRestoreCallback take care
of toggling bulk loading mode on and off. However, restoreAll()
in RocksDBSegmentsBatchingRestoreCallback might also turn on bulk loading
mode.  That leads to steadily increasing open file descriptors
in RocksDB because in bulk loading mode RocksDB creates continuously new
files but never compacts them (which is the intended behaviour).
This PR checks whether the task is an active task before turning on bulk
loading mode in restoreAll() for segmented state stores.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Call for review @guozhangwang @ableegoldman @lpandzic

test this please

test this please

test this

test this


Readme update

Description
PR for cleaning up documentation, adding information on how to run, test and develop.
WIP
Thanks @Yaxuan-w for the starter on the Readme.
Fixes # (issue)

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?

Test A - lind_project/tests/test_cases/test_a.c
Test B - lind_project/tests/test_cases/test_b.c

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Any dependent changes have been added to a pull request and/or merged in other modules (native-client, lind-glibc, lind-project)

I also think just having a quick table of contents on the readme linking to each section of the Wikis is helpful on the front page here. People aren't always sure what github wikis are or if theyre there so this way they can quickly find them.


XboxControllerInputSource throwing IndexOutOfRangeException/ NullReferenceException

The XboxControllerInputSource throws IndexOutOfRangeException because the default for the mapping array seems to be 0 items. Interestingly enough, the array is initialized to 20 entrys in the XBoxControllerExample scene, so it works. But it fails with a NullReferenceException after calling reset on the script in the inspector. When checking the "Use Custom mapping" button to show the entries, they're all there, based on the number of elements of the serialized mapping array. The serialized info seems to be not propagated to the actual array.

Workaround is to just enable and disable custom mapping in XboxControllerInputSource inspector.

Looks like this was fixed in #1415. Please re-open if not.


Edit Profile-[Mobile Android]

Steps to create:
-Login with valid user name,password.
-Goto profile.
-Click on edit button.
-Select Edit profile.
-Half page is not displayed.

Closing this one as it is a duplicate of #1021, please add more info to that issue instead.


Bump nginx back up to 1.20 when available on Debian 11 Bullseye

Because of an obscure problem with Mac M1, we had to move the ddev-webserver to base on Debial 11 Bullseye before Bullseye was released (coming 14 Aug 2021) and before nginx packages were available. As a result, we now have a ddev-webserver in master/alpha with nginx 1.18 in it, which is a downgrade.
Anyway, we need to get the nginx packages into the ddev-webserver before ddev v1.18.0 release.

Debian 11 Bullseye repositories were requested in https://trac.nginx.org/nginx/ticket/2217, Debian Bullseye has now been released.


feat(protocol): send system-proof reward back to proposer

Is it a good idea for our testnet?
If we do this, proposers will get their tokens back very soon then they can propose more blocks with their tokens. But this may also create spamming issues.

Seems to open up the possibility to spam indeed. Maybe a better way is to simply reduce the payment by the proposer as prover_fee / realProofSkipSize?
Though the prover fee on its own not the best way to prevent spam anyway because the prover fee can be made very low. As long as the testnet ETH is scarce enough eip-1559 should do its work for preventing spam I think.


Set focus on QtViewer object after creating main window

Description
Initially noted in #4628, our custom keybindings don't work when napari first launches, unless you first click on something inside the window. @ctrueden was investigating a separate issue in this zulip thread and found that it's actually the activity dialog button in the status bar that has focus.
I initially tried just clearing the focus from the button, the status bar and the activity dialog, but for some reason that doesn't work? So instead I've set the focus at the end of _QtMainWindow.__init__ to the QtViewer. I've confirmed this addresses the issue with our custom shortcuts not working. I have no idea if this is a sane thing to do though, so I'm opening in draft and pinging @tlambert03.
@ctrueden @gselzer does this fix your issue with the search bar of your plugin?
Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change
[ ] example: I check if my changes works with both PySide and PyQt backends
as there are small differences between the two Qt bindings.

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

yeah, this is an unfortunate side effect of the fact that for now, we still go through vispy for our keybindings to have any effect (that is, there are no application global Qt keybindings, one has to activate a widget which has been connected to the qtcanvas, which then passes all of its key events into the vispy canvas!)
If this works, it's a fine workaround for me.  Ultimately, I would like to extract our key-press events from the QtViewer object specifically.

Maybe in showEvent?

@DragaDoncila this change does indeed fix our keybinding. Thank you for the quick response time!

There may happen multiple things between widget creation and its shows. As there is no test for this and it may be not simple to create such test then this feature may silently fail. Dellaing set focus to showEvent (method called by qt on widget show) reduce propability that something between constructor and show will stole focus.

Dellaing set focus to showEvent (method called by qt on widget show) reduce propability that something between constructor and show will stole focus.

Ahh I see, yes I think that's a good point. Will try that. Thank you!

So @Czaki just to be clear I've now moved the setFocus call to _QtMainWindow.show. I assume that's what you meant as I wouldn't expect we need to override the showEvent method itself.

Yes. When I write first comment the call was in constructor.

If this works, it's a fine workaround for me. Ultimately, I would like to extract our key-press events from the QtViewer object specifically.

Yeah agree @tlambert03 it would be nice if we didn't have to do this. In the interim. @gselzer and @ctrueden have confirmed this addresses their issue, and I've confirmed this fixes the bug with our keybindings not working before clicking somewhere, so I'll move this out of draft.


integrate chatGPT's new feature

Description
Steps/Code to Reproduce
Expected Behavior
Actual Behavior
Operating System
Python Version
PyMilo Version (Use : pymilo.__version__)

there is a new feature in GPT 3.5 to fine tune gpt with your own data. this can be integrated into pymilo to export the fine tuned gpt with the given data
https://openai.com/blog/gpt-3-5-turbo-fine-tuning-and-api-updates


Problems with CMake: Quick Start

I'm using the newest VS Code 1.41.1 and CMake Tools 1.2.3 on Ubuntu 18.04.3. I want to have source files in hello/src directory and binaries in hello/bin directory. I've set Cmake: Build Directory to ${workspaceFolder}/bin and Cmake: Source Directory to ${workspaceFolder}/src.
When I start VS Code, File->Open Folder on empty hello directory and run CMake: Quick Start, I get:
[cms-client] Configuring using the "Unix Makefiles" CMake generator
[rollbar] Unhandled exception: Unhandled Promise rejection: quickStart [cmake-server] Failed to activate protocol version: "sourceDirectory" is not a directory. {}

CMakeLists.txt and main.cpp are created in hello directory instead of hello/src
I get the same error if I File->Open Folder on empty hello/src.
When I create an empty hello/src and File->Open Folder on hello, I get CMakeLists.txt and main.cpp in hello directory and CMakeLists.txt was not found in the root of the workspace folder pop-up error box.

After you make the settings reload the project and see what happens.

I reloaded VS Code right after I made settings.

I tried that on Windows and I got a different result but Quick Start  doesn't really work as expected:

The generated files were not put in "${workspaceFolder}/src"
The configuration step never completed

This should be fixed in CMake Tools 1.5.0 which was published today.
Let us know if you encounter any issues with this release.


Add support of MailChimp transaction email for notifications

Mailchimp is unable to send transactional emails. And they are offering Mandrill for trnsactional emails. Unfortunately Mandrill is not free


Added "STUDIER, PAUL L." party

Coverage remained the same at ?% when pulling 390740dd61bfc39594590d7c958ce38d73e61957 on mbeveridge:patch-7 into c97ba991cda7dc6cf9cb95f3208edfe16d61ba82 on california-civic-data-coalition:master.


feat: scrollToHour configuration option

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fixed a grammatical error in the README of the file.

Hi,
I have fixed a grammatical error int the README file of the repo.Please review and approve.
Regards,
Ronit Dutta.

@Ronit-Dutta  start contributing here https://github.com/Ishaan28malik/Get-Dev-Resources


Shows "For development purposes only" in Firefox.

In chrome everything is normal like:

But when I launch the same thing on Firefox it shows like this:

This is how I use the component. Willing to share any information related, requested. Thanks!

Sorry, I don't know how but in chrome I could use it normally but looks like the token was invalid, I changed the token and it works.


[ZEPPELIN-1332] Remove spark-dependencies & suggest new way

What is this PR for?
Currently, Zeppelin's embedded Spark is located under interpreter/spark/.
For whom builds Zeppelin from source, this Spark is downloaded when they build the source with build profiles. I think this various build profiles are useful to customize the embedded Spark, but many Spark users are using their own Spark not Zeppelin's embedded one. Nowadays only Spark&Zeppelin beginners use this embedded Spark. For them, there are too many build profiles(it's so complicated i think).
In case of Zeppelin binary package, it's included by default under interpreter/spark/. That's why Zeppelin package size is so huge.
New suggestions
This PR will change the embedded Spark binary downloading mechanism like below.

./bin/zeppelin-daemon.sh get-spark or ./bin/zeppelin.sh get-spark
create ZEPPELIN_HOME/local-spark/ and will download spark-2.0.1-hadoop2.7.bin.tgz and untar
we can use this local spark without any configuration like before (e.g. setting SPARK_HOME)

What type of PR is it?
Improvement
Todos

[x] - trap ctrl+c & ctrl+z key interruption during downloading Spark
[x] - test in the different OS
[x] - update related document pages again after get feedbacks

What is the Jira issue?
ZEPPELIN-1332
How should this be tested?

rm -r spark-dependencies
Apply this patch and build with mvn clean package -DskipTests
trybin/zeppelin-daemon.sh get-spark or bin/zeppelin.sh get-spark
should be able to run sc.version without setting external SPARK_HOME

Screenshots (if appropriate)

./bin/zeppelin-daemon.sh get-spark

$ ./bin/zeppelin-daemon.sh get-spark
Download spark-2.0.1-bin-hadoop2.7.tgz from mirror ...

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  178M  100  178M    0     0  10.4M      0  0:00:17  0:00:17 --:--:-- 10.2M

spark-2.0.1-bin-hadoop2.7 is successfully downloaded and saved under /Users/ahyoungryu/Dev/zeppelin-development/zeppelin/local-spark

if ZEPPELIN_HOME/local-spark/spark-2.0.1-hadoop2.7 already exists

$ ./bin/zeppelin-daemon.sh get-spark
spark-2.0.1-bin-hadoop2.7 already exists under local-spark.

Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? Need to update some related documents (e.g. README.md, spark.md and install.md ?)

@AhyoungRyu great initiative, but while making this changes, you have to think also about CI use case of zeppelin build as well.
I.e so far /.spark-dist/ is under cache on TravisCI which is S3 bucket that gets synced automatically with the content of this folder while running a build. It you un-tar the whole archive there - it will take forever to sync \w S3 and will defeat the purpose of cache on CI side, making build times longer.
If you ask me - I would say that before doing such big changes as refactoring of the build structure we all need very clear understanding and explanation of what is the benefit and what problem does this change solves.
So far I have not understood the answer to the questions above from PR description (may be my fault). But, in case of voting for such change, will make me at least -0 for if, if not -1 due to potential bugs that such changes will bring.
If that is reduction of convenience binary size - then we need to know how much does the size changes with the proposed changes to understand if that is worth. If that impacts CI build times - we also need to know how much.
Also regarding user experience - while running zeppelin-demon.sh user does not usually expect it to be network-dependant and download 100Mb archives - is there at least a user notification\progress indicator? Otherwise there going to be bug reports like "Zeppelin is not starting" as soon as such change is introduced.
And how about Windows users of Zeppelin? How about EMR\Dataproc\Juju\BigTop users, will the proposed change affect them?
Please take it with the grain of salt, and of course I will be happy to help addressing each item addressed one by one.

@bzz Thank you for such precise comment! Let me break down your feedback one by one(just for making it clear) :)

/.spark-dist/ is under cache on TravisCI which is S3 bucket that gets synced automatically with the content of this folder while running a build.

Right. That's my bad. I'll change the dir to another. Then how about ZEPPELIN_HOME/interpreter/spark/ as like before?
2, 3, 4.

what is the benefit and what problem does this change solves?

Actually I also tried to describe well about the current problem & the advantage of this change in Jira issue and the PR description, but i guess i didn't. I should've explain more clearly. Let me explain more in here with actual digit. (I'll update the Jira & PR description as well)

What was the problem?

As you said in the above, yes. The main problem is the Zeppelin binary package size. The latest version of Zeppelin bin size was
zeppelin-0.6.1-bin-all.tgz: 517MB
zeppelin-0.6.1-bin-netinst.tgz: 236MB

Didn't we ask ASF infra team(?) every release because of Zeppelin's huge package size?

What is the benefit?

When I created binary package without spark-dependencies, the each bin package size was
zeppelin-0.6.1-bin-all.tgz: 344MB
zeppelin-0.6.1-bin-netinst.tgz: 64MB

As you can see in the above those two cases' size diff is about 170MB!  Moreover, users don't need to type build profiles i.e. -Pr or -Psparkr. I saw many users who are trying to use %sparkr in Zeppelin, they hit NPE because they didn't build with -Psparkr. It's truly confuse maybe they don't know well about the maven build mechanism. But with this change, they don't need to know about the complicating maven build profiles.

Also regarding user experience - while running zeppelin-demon.sh user does not usually expect it to be network-dependant and download 100Mb archives - is there at least a user notification\progress indicator

So far, I just added below line to show in console after users start zeppelin-daemon.sh
echo "There is no SPARK_HOME in your system. After successful Spark bin installation, Zeppelin will be started."

Then it starts downloading Spark binary from the mirror site. I'm planning to add some description to README as we have provided many build profiles information in there. I also agree there must be better way to notify that instead of just writing about "We will download 100MB Spark binary package if you don't set SPARK_HOME yet" on README.
After first I came up with removing spark-dependencies to reduce Zeppelin bin package size, I spent long time to think about how can we substitute the preexisting way seamlessly to provide embedded Spark in Zeppelin as like before. Please regard this PR as the first initiative. And will be appreciated if you can share your awesome idea about this issue! :)

Thank you for kind explanation and feedback. I think you proposal and implementation with recent updates makes perfect sense.
Please keep up a good work and ping me back for the final review, once you think it's ready!

@bzz Thank you for saying so! Then I'll continue my work in here and let you know :)

@bzz @Leemoonsoo
Sorry for my late response. I spent some time to test various cases on the different OS.
I think it's ready for review(CI is green at last!).
I updated the PR description accordingly. Hope it helps you to remind the purpose of this PR :)
Here is the list of changes after my initial commits

Directory of Spark bin
I changed the dir of Spark bin from interpreter/spark/ to local-spark. Since mvn clean will remove interpreter/, users will see “Do you want to download local Spark?” whenever they re-build and restart Zeppelin. So I think creating a new dir(local-spark) would be better in this case.

Supporting Windows users
I wanted to create download-spark.cmd for Windows. But sadly we can’t use many shell commands such as curl, tar and sed in the batch script. It was hard to find 100% compatible commands for Windows. Maybe we can guide the Windows users to install those commands by themselves, but it’s a bit overdoing i think. Actually download-spark script is only for downloading the latest version of Spark and set SPARK_HOME. So I updated some docs to explain this as a alternative way.

Documentations
I think it’s quite big change that ppl need to enter “Yes/No” when they start Zeppelin. Even though it’s only one time. So I updated README.md, install.md and spark.md. The below screenshot is spark.md.

And as @bzz said before,

How about EMR\Dataproc\Juju\BigTop users, will the proposed change affect them?

Do we need to provide this local Spark mode for them? Actually it's my question.. :D
And please feel free to point me for anything if it's needed.

@Leemoonsoo "zero configuration like before" makes sense. Let me update and will ping you again.

I think this PR is working well as expected(at least to me haha). So ready for review again.
@moon If you possible, could you please check this one again? :)

I think ZEPPELIN-1101 can also be resolved by this change.

It looks related to ZEPPELIN-1099 which is about removing dependencies from Spark. I think we don't need to build spark-dependencies by ourselves. we'd better support script to download spark binary and set SPARK_HOME. How about it?

@jongyoul As you replied like above in ZEPPELIN-1101, could you please take a look this one? :)

ping 👯

@AhyoungRyu Thanks for your effort. LGTM. But I think it would be better to support non-interactive mode for running the server because some of users launches Zeppelin as a start-up service for their server and interactive mode would break this feature.

@jongyoul Thanks for your feedback! Yeah I didn't try to cover that case. So you mean we need to support ppl who are using this upstart option, am I right? :)

@Leemoonsoo @jongyoul Sorry for my late update.
I've just added new option: get-spark to zeppelin-daemon.sh and zeppelin.sh to download local Spark binary. I think this is more simpler than getting user's answer and then separating "interactive mode" and "non-interactive mode" that @jongyoul mentioned in here.
So to sum up, ppl can download local Spark with ./bin/zeppelin-daemon.sh get-spark or ./bin/zeppelin.sh get-spark with my latest update. If this way is okay, i'll update related docs pages accordingly. Maybe we need to let ppl know the existence of get-spark option by updating documentation i think.
What do you think?

@AhyoungRyu Basically, it's simple solution but you need to update docs. Except that, LGTM

@jongyoul Thanks. Yeah i just wanted to get feedback about the change before updating the docs.
@Leemoonsoo What do you think?

@AhyoungRyu Could you rebase and see if CI test goes green?

@Leemoonsoo Rebased but there is an issue raised from #1564 like below
16/11/05 06:04:34 ERROR PySparkInterpreter: Error
java.util.NoSuchElementException: spark.submit.pyFiles
	at org.apache.spark.SparkConf$$anonfun$get$1.apply(SparkConf.scala:235)
	at org.apache.spark.SparkConf$$anonfun$get$1.apply(SparkConf.scala:235)
	at scala.Option.getOrElse(Option.scala:121)
	at org.apache.spark.SparkConf.get(SparkConf.scala:235)
	at org.apache.zeppelin.spark.PySparkInterpreter.setupPySparkEnv(PySparkInterpreter.java:172)
	at org.apache.zeppelin.spark.PySparkInterpreter.createGatewayServerAndStartScript(PySparkInterpreter.java:209)
	at org.apache.zeppelin.spark.PySparkInterpreter.open(PySparkInterpreter.java:159)
	at org.apache.zeppelin.spark.PySparkInterpreterTest.setUp(PySparkInterpreterTest.java:98)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 15.942 sec <<< FAILURE! - in org.apache.zeppelin.spark.PySparkInterpreterTest

Seems #1564 and this change has conflict by removing spark-dependency. Let me fix this first.

PySparkInterpreter need a python library for pyspark so I think we need [pyspark] (https://github.com/apache/zeppelin/blob/1cde24665180e8f10651012f53d7bcb58ea2eb44/spark-dependencies/pom.xml#L819).
What do you think?

@astroshim Appreciate for your help! I've just pushed it and let's wait until it finished :)

All test passes(except for selenium test) in my own travis AhyoungRyu/zeppelin/builds, but Zeppelin travis doesn't even started... apache/zeppelin/build.

@astroshim It passed at last!! Thanks again.
Will update the related docs if there are no further discussions about this changes :)

Updated the related docs pages (README.md, spark.md, upgrade.md and install.md) and CI has passed now.

Guys, what great work here, simplifying the build!
A quick question @AhyoungRyu as it's kind of a big change, and I'm sorry if that was explained before, but could you please recap:
AhyoungRyu commented on Sep 17
@Leemoonsoo Thanks for your quick feedback!
The "zero configuration like before" makes sense. Let me update and will ping you again.

Is the comment above is how it works now? Meaning, does on the first run of ./bin/zeppelin-deamon.sh or ./bin/zeppelin.sh a download of Apache Spark (100+Mb) happen, without asking a user?
does this also mean that on CI it will happen on every run of SeleniumTests as well?
-Ppyspark disappeared, but I remember it was added because we need to re-pack some files from Apache Spark to incorporate them in Zeppelin build in order for it to work on a cluster. Is it not the case any more? For Spark standalone and YARN, etc

Thanks in advance!

@bzz Yeah I also wanted to get more and more feedbacks for this change since it's a huge change as you said. Thanks for asking and i'm willing to explain again :)

** 1.**  Is the comment above is how it works now? Meaning, does on the first run of ./bin/zeppelin-deamon.sh or ./bin/zeppelin.sh a download of Apache Spark (100+Mb) happen, without asking a user?

First time, I intended to ask sth like "Do you want to download local Spark?" when user starts Zeppelin daemon. But there are lot's of things to think about more since this question will be added before Zeppelin server start. e.g. Some ppl are using Zeppelin as a start up service with their script as @jongyoul said. This kind of interactive mode will bother their env.
So I decided to download this local Spark with ./bin/zeppelin-daemon.sh get-spark or ./bin/zeppelin.sh get-spark. With get-spark option, users don't need to be asked and they can choose whether they download this local mode Spark or not. Also they can use this local Spark without any configuration aka zero configuration. But we need to notice them the existence of get-spark option. That's why I updated documentation pages to let them know.

2. does this also mean that on CI it will happen on every run of SeleniumTests as well?
This change won't effect to CI build. I added ./bin/download-spark.sh to download Spark only when the user run ./bin/zeppelin-daemon.sh get-spark.

3. -Ppyspark disappeared, but I remember it was added because we need to re-pack some files from Apache Spark to incorporate them in Zeppelin build in order for it to work on a cluster. Is it not the case any more? For Spark standalone and YARN, etc

pyspark profile only exists in spark-dependency (Please see here). Since spark-dependencies won't be existed anymore, -Ppyspark needs to be removed accordingly I guess.

Tested and worked as expected 😄
Fantastic work! But, there are other benefits caused by this change.
Before this change, users couldn't use SPARK_SUBMIT_OPTIONS env variable using embedded Spark. (am i right?)
But now it's  possible! I tested with export SPARK_SUBMIT_OPTIONS="--driver-memory 4G" and on Spark UI, I could check It works.

Therefore, I think it would be better to update conf/zeppelin-env.sh. There is a comment which is:
## Use provided spark installation ##
## defining SPARK_HOME makes Zeppelin run spark interpreter process using spark-submit
##
# export SPARK_HOME                             # (required) When it is defined, load it instead of Zeppelin embedded Spark libraries
# export SPARK_SUBMIT_OPTIONS                   # (optional) extra options to pass to spark submit. eg) "--driver-memory 512M --executor-memory 1G".
# export SPARK_APP_NAME                         # (optional) The name of spark application.

## Use embedded spark binaries ##
## without SPARK_HOME defined, Zeppelin still able to run spark interpreter process using embedded spark binaries.
## however, it is not encouraged when you can define SPARK_HOME
##

This should be updated properly. In my opinion, it doesn't need to encourage use external spark anymore :-)
And, is it possible to use embedded spark without get-spark? If not, I think it should be written on README clearly.
LGTM 👍

@tae-jun Appreciate your nice feedback! Will update again zeppelin-env.sh and install.md instead of README.md as you suggested(since #1615 is trying to make it simpler to deliver only key content).

To whom may concern about the breaking current UX with this change
This change has many benefits comparing to current embedded Spark as I wrote in the PR description (and @tae-jun mentioned in this comment as well. Thanks!).
But as always, this kind of big change brings downside as well (e.g. breaking current UX). So I wanna write down how we can address some major cases as below. I think it would be better to share my opinion and get more feedback before merging. :)

New Spark/Zeppelin user, running Zeppelin for the first time
: Quite easy to cover and already handled by updating the related docs pages I guess.

Existing Spark/Zeppelin user, running new Zeppelin installation (e.g. upgrading version)
:  Definitely this case is harder to handle than 1. As the user already has expectation, that local mode will just works and surely they won't read the docs. To resolve this, I’ll update bin/download-spark.sh to print sth like “You don’t have local-spark/, you can download embedded Spark with get-spark option.” When the user run  ./bin/zeppelin-daemon.sh start. And this sentences can be removed in the future when Zeppelin users can be getting accustomed with get-spark option.

Docker user, starting bin/zeppelin.sh inside the container
: This one can be also hard to handle because the user might assume that Spark just works. So I would suggest start applying this change to #1538 as a first step. Since it can be a Zeppelin-provided official docker script.

CI issue
Since @bzz raised some concern about CI issue, let me answer again in here to make sure :)
The reason I removed -Ppyspark in .travis is pyspark profile is only existed in spark-dependencies/pom.xml. So pyspark profile won’t be anymore after this PR merged. Actually the Pyspark testcase that @astroshim added recently had some conflict with this change. But we solved by simply adding export SPARK_HOME=pwd/spark-$SPARK_VER-bin-hadoop$HADOOP_VER to .travis.yml so that travis can run it before running the script. So there are no more CI issues especially concerning about removing spark-dependencies related build profiles.

@AhyoungRyu Thanks for taking care of my feedback 😄

CI is green now, so ready for review.
I updated related docs again based on #1615 and @tae-jun 's feedback as well.
@bzz Could you take a look this again?
As I mentioned in this comment, I added You do not have neither local-spark, nor external SPARK_HOME set up.\nIf you want to use Spark interpreter, you need to run get-spark at least one time or set SPARK_HOME. This msg will be printed when the user starts Zeppelin if he doesn't have neither local-spark/ yet nor set external SPARK_HOME in his machine. Please see my latest commit :)
Maybe this msg can be removed in the future, when many Zeppelin users can get accustomed to this change.

ping 💃

Thank you @AhyoungRyu for great job and taking care in addressing the user experience concerns!

Let me also review this great PR and then give some feedbacks 👍

@bzz Just updated upgrade.md as your feedback.
@1ambda Sure. Thanks! Please do :)

In case of

Don't have plan to use spark interpreter, just want to use other interpreters like python, big query.
Set SPARK_HOME in interpreter property instead of conf/zeppelin-env.sh

User may not interested in local-spark. but user will keep seeing messages
Lees-MacBook:pr1339 moon$ bin/zeppelin-daemon.sh start

You do not have neither local-spark, nor external SPARK_HOME set up.
If you want to use Spark interpreter, you need to run get-spark at least one time or set SPARK_HOME.

Zeppelin start                                             [  OK  ]
Lees-MacBook:pr1339 moon$ bin/zeppelin-daemon.sh stop
Zeppelin stop                                              [  OK  ]
Lees-MacBook:pr1339 moon$ bin/zeppelin-daemon.sh start

You do not have neither local-spark, nor external SPARK_HOME set up.
If you want to use Spark interpreter, you need to run get-spark at least one time or set SPARK_HOME.

Zeppelin start                                             [  OK  ]

@AhyoungRyu  What do you think?

Short summary and small thought about #1399

Using symlink like local-spark/master would be safe i think. It enables user replace his local spark without renaming directories. Currently we are using hard coded name.

SPARK_CACHE="local-spark"
SPARK_ARCHIVE="spark-${SPARK_VERSION}-bin-hadoop${HADOOP_VERSION}"

about UX,

most (experienced in zeppelin) users do not use local spark
for new comers, we can provide embedded spark using docker will be shipped by #1538
and storking get-spark is not too hard even if new users do not use the docker images.

Now users need to type get-spark. it works as described

$  zeppelin-review git:(pr/1339) ./bin/zeppelin-daemon.sh start
Log dir doesn't exist, create /Users/1ambda/github/apache-zeppelin/zeppelin-review/logs
Pid dir doesn't exist, create /Users/1ambda/github/apache-zeppelin/zeppelin-review/run

You do not have neither local-spark, nor external SPARK_HOME set up.
If you want to use Spark interpreter, you need to run get-spark at least one time or set SPARK_HOME.

Zeppelin start                                             [  OK  ]
$  zeppelin-review git:(pr/1339) ./bin/zeppelin-daemon.sh stop
Zeppelin stop                                              [  OK  ]
$  zeppelin-review git:(pr/1339) ./bin/zeppelin-daemon.sh get-spark
Download spark-2.0.1-bin-hadoop2.7.tgz from mirror ...

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  178M  100  178M    0     0  7157k      0  0:00:25  0:00:25 --:--:-- 6953k

spark-2.0.1-bin-hadoop2.7 is successfully downloaded and saved under /Users/lambda/github/apache-zeppelin/zeppelin-review/local-spark

$  zeppelin-review git:(pr/1339) ./bin/zeppelin-daemon.sh start
Zeppelin start                                             [  OK  ]

I'm closing this PR since there'll be better solution for this (e.g. ZEPPELIN-1993) :)