text:
[Core] Jinja context variables versus dbt Jinja functions

Link to the page(s) on docs.getdbt.com requiring updates
This page is a mix of documentation for functions and variables:
https://docs.getdbt.com/reference/dbt-jinja-functions
But the page title only mentions "dbt Jinja functions" and does not include  "Jinja context variables".
Also, the base URL includes /dbt-jinja-functions/ which feels odd for a page like the schemas context variable (which is not a function):
https://docs.getdbt.com/reference/dbt-jinja-functions/schemas
Tell us more about this update
See above.
Reviewers/Stakeholders/SMEs
😎
Related GitHub issues
Here's two other docs issues that are tangentially related:

https://github.com/dbt-labs/docs.getdbt.com/issues/5117
https://github.com/dbt-labs/docs.getdbt.com/issues/5118

Additional information
No response

Hiya @dbeatty10
Happy Tuesday, I hope you're well.
Can you kindly let me know what you'd like updating please?
Kind Regards
Natalie

The big idea is delineating the Jinja functions from the Jinja context variables. Right now, the context variables are all just lumped in with the functions (but they aren't functions!).
We've got a couple main options:

Leave them all together, but update the page title and URL to include both "functions" and "variables"
Create a new page and move the context variables to that page

If we choose option 1, the most simple approach would to be rename the title of the page from "dbt Jinja functions" to "dbt Jinja functions and context variables".


text:
add move to cloud guide part 1

this pr adds a new guide helping users understand the considerations needed when they move from core to cloud.
it lays out what requirements are needed, any differences, and more.
this guide will follow up with two more guides pending review.

Thank you Mirna for writing this up! It's so concise and approachable 👏

hey @JKarlavige , thanks for your review! i’ve folded in your feedback - can you rereview

hey @matthewshaver , thanks so much for your feedback! can you rereview?

merging this now

source: gharchive/pull-request

license_type: permissive

license_source: github-api


text:
update README.md to make it clear that the API should be loaded onto the...

... client only

thanks @NadiDami

thanks @NadiDami

authors: NadiDami dburles

repo: dburles/meteor-google-maps

license: mit

license_source: bigquery


text:
Command handler should not create the same command twice via api call

Commands should not register again on a restart. THIS APPLIES ONLY FOR INTERACTION HANDLER
Command registration before READY event should be pooled
on READY event it should:

Retrieve set commands for GLOBAL and all GUILDS
Check which commands have changes
Update only changed
Set listeners for non-changed based on ID retrieved
This should also store the application ID somewhere in the Interaction Handler so registering commands later on in the application life cycle works

this functionality should be entirely stateless and should not use anything like the file system to store IDs etc

Story closed as an alternative has been made, see docs on application commands

source: gharchive/issue

repo: dc-Ragnarok/Fenrir

license: MIT


text:
Images within client-side-only loaded components aren’t optimized

Images within client-side-only loaded components aren’t optimized. For example:
✅ This works
import dynamic from 'next/dynamic';
import type { NextPage } from 'next';
import ComponentWithImage from './ComponentWithImage';

export const Page: NextPage = () => (

Title

    <ComponentWithImage />

);

❌ This doesn't work
import dynamic from 'next/dynamic';
import type { NextPage } from 'next';

const ClientSideComponentWithImage = dynamic(
  async () => await import('./ComponentWithImage'),
  { ssr: false }, // The problem
);

export const Page: NextPage = () => (

Title

    <ClientSideComponentWithImage />

);

The .next/custom-optimized-images.nd.json manifest isn't populated with the dynamic images during next build.

@psirenny
First of all, thank you for opening the issue!
As to the main issue, I understand that you are unable to optimize images within a component that functions only on the client side.
Here's the thing, components that cannot be evaluated at build time cannot get information about the images to be optimized.
Therefore, the current specification does not allow optimization.
For your information, I would like to ask, when is an image component used within a component that functions only on the client side?
Thank you very much!

Here's the thing, components that cannot be evaluated at build time cannot get information about the images to be optimized.

Darn, I was hoping that wasn't the case.
I'm client-side loading components that aren't visible on initial page render. For example, content behind a model and content at the bottom of very long landing pages.

I see.
It would certainly be nice to be able to use it that way.
Please give me some time to figure out how it works!
Also, if you have a specific design in mind, by all means, you can comment here or create a new feature request!

@psirenny: How realistic is it to Regexp all ts(x) / js(x) files to look for the Image / have an option to optimize all images in a folder?


text:
Incorrect typing in extendTailwindMerge

Describe the bug

I just upgraded to version 2.0.0 and I'm extending the config and the config works great when I add an array to the classGroups, but it is against the types already defined.
To Reproduce

const customTwMerge = extendTailwindMerge({
  override: {},
  extend: {
    classGroups: {
      'max-w': ['modal', 'container']
    }
  }
});

console.log(customTwMerge('max-w-modal max-w-container'));
// output max-w-modal max-w-container

Expected behavior

Should output only max-w-container
If you wrap the classGroups in an array it works great, but types are incorrect.
Environment

tailwind-merge version: 2.0.0

Additional context

Typing error:
Type '{ 'max-w': string[]; }[]' is not assignable to type 'Partial<Record<DefaultClassGroupIds, ClassGroup<DefaultThemeGroupIds>>>'.
  Types of property 'fill' are incompatible.
    Type '(value: { 'max-w': string[]; }, start?: number | undefined, end?: number | undefined) => { 'max-w': string[]; }[]' is not assignable to type 'readonly ClassDefinition<DefaultThemeGroupIds>[]'.

Hey @plckr! 👋
You forgot to add the prefix to your classes. You can do that in one of two ways:
'max-w': ['max-w-modal', 'max-w-container']

'max-w': [{ 'max-w': ['modal', 'container'] }]

@dcastil thank you for the fast response!
Indeed you're right, thanks so much!
I find it a bit confusing the docs

Yeah, I need to improve that. It doesn't help that I picked keys that are often the same as the prefixes. 😅

Keep up the great work! Thank you!

authors: dcastil plckr

repo: dcastil/tailwind-merge


text:
Exclude null reducer values from state

This PR will exclude null values from state in #combineReducers.
For the networking configuration, in some instances we want to remove keys from the root of the configuration and move them elsewhere (e.g. portMappings exists at the root in some situations and other times it exists at container.docker).
@Poltergeist Could you please review this and see if this is reasonable? If it is not reasonable, do you have other ideas for how we could exclude some keys from the app config?

retest this please

I'm OK with the code but don't really love mutating the config object - I get why we're doing it here but it seems somehow inelegant. I'd be interested to hear @Poltergeist 's take.

@jfurrow I had exactly the same idea while playing with the form yesterday. A proper solution is a bit more complicated, I will also crate a PR with it today.

Thanks @philipnrmn and @wavesoft! I also spoke with @Poltergeist offline and will happily close this PR :)

authors: jfurrow philipnrmn wavesoft

repo: dcos/dcos-ui


text:
fix(ci): fix release branch name

its release/1.11 in our repo and 1.11 in dcos/dcos repo… got confused 🤦♂

:tada: This PR is included in version 1.25.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

authors: juliangieseke mesosphere-ci


text:
chore(deps): update dependency postcss to v7.0.32

This PR contains the following updates:

Package
Type
Update
Change

postcss (source)
devDependencies
patch
7.0.31 -> 7.0.32

Release Notes

postcss/postcss
v7.0.32
Compare Source

Fix error message (by @admosity).

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

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

v5.0.49
GitHub release

Your semantic-release bot :package::rocket:

authors: mesosphere-ci mesosphere-renovate


text:
Don't bind dcos-dns on k8s cluster dns ip address

High-level description
dcos-net binds dns servers on all ip addresses on start. It works fine on clean node, but once k8s start coredns on 198.51.100.4, dcos-net tries to bind on this ip as well and crashes with eaddrinuse error. To fix it we have to add 198.51.100.4 ip address to the blacklist.
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

DCOS-21486 Don't bind dcos-dns on k8s cluster dns ip address

Related tickets (optional)
Other tickets related to this change:
Checklist for all PRs

[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[x] Test Results: [link to CI job test results for component]
[x] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
https://github.com/mesosphere/dcos-kubernetes/pull/386/files#diff-965e73ab742e8a42e6874e28e5edda57R358
Instructions and review process
What is the review process and when will my changes land?
All PRs require 2 approvals using GitHub's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot bump-ee

@mesosphere-mergebot label [Ready For Review]

repo: dcos/dcos


text:
Update fluentbit

Systemd plugin has been refactored since then and we have not seen any issue as this one reported.
Please upgrade to the last v1.3 release, if the issue persist we can re-open the ticket.
https://github.com/fluent/fluent-bit/issues/659#issuecomment-564310509

High-level description
What features does this change enable? What bugs does this change fix?
Corresponding DC/OS tickets (required)

D2IQ-ID JIRA title / short description.

Related tickets (optional)

D2IQ-ID JIRA title / short description.

https://github.com/dcos/dcos/pull/7385


text:
first \extraskip after \ch in a poetry environment is too big.

\begin{scripture}
  \begin{poetry}
    \ch{40}Comfort, comfort my people,
    says your God.

    \vs{2}Speak tenderly to Jerusalem,
    and proclaim to her

    that her hard service has been completed,
    that her sin has been paid for,

    that she has received from the \name{Lord}’s hand
    double for all her sins.

    \extraskip

    \vs{3}A voice of one calling:
  \end{poetry}
\end{scripture}

Also wrong when poetry environments are placed one after another.

repo: dcpurton/scripture


text:
ProgrammingError: relation "django_content_type" does not exist

Hi,
I just migrated to django 1.8
My operations are:

scratch whole db
remove all migartions from my apps
manage.py makemigrations
manage.py migrate

However I get this error after "manage.py migrate" command:
django.db.utils.ProgrammingError: relation "django_content_type" does not exist
The sql command causing the error is:
u'ALTER TABLE "djangoratings_vote" ADD CONSTRAINT "djan_content_type_id_34170de97babd8e2_fk_django_content_type_id" FOREIGN KEY ("content_type_id") REFERENCES "django_content_type" ("id") DEFERRABLE INITIALLY DEFERRED'
If a comment out djangoratings from INSTALLED_APPS, the migrations finishes without problems.
If I issue a "./manage.py showmigrations" I get empty migrations for django ratings.
contenttypes
 [ ] 0001_initial
 [ ] 0002_remove_content_type_name
djangoratings
 (no migrations)                     <------------ strange this
guardian
 [ ] 0001_initial

The exception is raised when running deferred SQL.
Creating tables...
    Creating table thumbnail_kvstore
    Creating table djangoratings_vote
    Creating table djangoratings_score
    Creating table djangoratings_similaruser
    Creating table djangoratings_ignoredobject
    Running deferred SQL...
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
    ........

I will continue investigating but maybe you know/have a solution.
Thank you.

I just tried the same commands with django 1.9 and the migration successfully terminates!
However at the moment I cannot update to Django1.9 due to lack of support from other applications, so I'm still looking for a solution.

At the moment I can get the complete migration splitting the migration by steps:
./manage.py migrate contenttypes
./manage.py migrate auth
./manage.py migrate sites
./manage.py migrate my_custom_auth_app
./manage.py migrate
and this will complete my migrations.
I got errors during migration but everything seems to work in the end.
By the way, I could not run just:
manage.py migrate contenttypes && manage.py migrate
because  contenttypes depends on auth_permission, but auth_permission depends on sites, and sites depends on my_custom_auth_app (maybe related to https://code.djangoproject.com/ticket/24075 but I'm not sure)

repo: dcramer/django-ratings


text:
TNT v2 is not aligned with swagger hub

Besides #23, the Implementation does not seem to support the EventSubscription fields transportDocumentType,  scheduleID and transportCallID.  They are listed on swagger hub under POST EventSubscription but they are not mentioned in our EventSubscription model.

We have moved on to TNT 3.0

repo: dcsaorg/DCSA-TNT


text:
🛑 Danbs is down

In b3022eb, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 4758 ms

Resolved: Danbs is back up in f945d87 after 6 minutes.

repo: ddanbs/upptime


text:
🛑 Danbs is down

In 82a57ca, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 190 ms

Resolved: Danbs is back up in c39633d after 20 minutes.


text:
🛑 Danbs is down

In cb76ae7, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 165 ms

Resolved: Danbs is back up in c01b220 after 36 minutes.


text:
🛑 Danbs is down

In 98e704d, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 3139 ms

Resolved: Danbs is back up in bc0e25e after 13 minutes.


text:
🛑 Danbs is down

In 34fa0ba, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 99 ms

Resolved: Danbs is back up in 4587aa2 after 6 minutes.


text:
🛑 Danbs is down

In 6b0a41e, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 4370 ms

Resolved: Danbs is back up in 18edf6c after 33 minutes.


text:
🛑 Danbs is down

In 5f059b3, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 2482 ms

Resolved: Danbs is back up in 1a5eaac after 20 minutes.


text:
🛑 Danbs is down

In 98be402, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 143 ms

Resolved: Danbs is back up in f4ec5e8 after 8 minutes.


text:
🛑 Danbs is down

In ac88556, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 210 ms

Resolved: Danbs is back up in 9b98ce3.


text:
🛑 Danbs is down

In b17510b, Danbs (https://danbs.net) was down:

HTTP code: 404
Response time: 160 ms

Resolved: Danbs is back up in 3dac07c.


text:
[Question] how to make a disabled object and enable later

Hi Davide, all,
Thanks once again for your kind support. I will ask my questions here in git repo from now on as you have advices, rather than reddit.
I am trying to build a web-based GUI with Remi, similar to this dummy one that I have built with “QT for WebAssembly": http://petra.phys.yorku.ca:5000

I need some objects to be initially grayed out, and upon the user's action, get enabled. I tried attributes['disabled'] = 'True' for the object I want to disable but it did not work. Perhaps I am doing something incorrectly.
A simple example of a disabled button which gets enabled / disabled with a checkbox object would be very much helpful.

As you can see, there are two tabs at the top in my dummy QT example. What is the easiest way to make something similar with remi?

Thanks,

Hello @m-kareem , here is an example for you
# -*- coding: utf-8 -*-

from remi.gui import *
from remi import start, App

class untitled(App):
    def __init__(self, *args, **kwargs):
        #DON'T MAKE CHANGES HERE, THIS METHOD GETS OVERWRITTEN WHEN SAVING IN THE EDITOR
        if not 'editing_mode' in kwargs.keys():
            super(untitled, self).__init__(*args, static_file_path={'my_res':'./res/'})

    def idle(self):
        #idle function called every update cycle
        pass

    def main(self):
        return untitled.construct_ui(self)

    @staticmethod
    def construct_ui(self):
        #DON'T MAKE CHANGES HERE, THIS METHOD GETS OVERWRITTEN WHEN SAVING IN THE EDITOR
        container0 = Container()
        container0.attr_editor_newclass = False
        container0.css_height = "90.0px"
        container0.css_left = "20px"
        container0.css_position = "absolute"
        container0.css_top = "20px"
        container0.css_width = "300.0px"
        container0.variable_name = "container0"
        checkbox0 = CheckBox()
        checkbox0.attr_editor_newclass = False
        checkbox0.css_height = "30px"
        checkbox0.css_left = "30.0px"
        checkbox0.css_position = "absolute"
        checkbox0.css_top = "30.0px"
        checkbox0.css_width = "30px"
        checkbox0.variable_name = "checkbox0"
        container0.append(checkbox0,'checkbox0')
        self.button0 = Button()
        self.button0.attr_editor_newclass = False
        self.button0.css_height = "30px"
        self.button0.css_left = "120.0px"
        self.button0.css_position = "absolute"
        self.button0.css_top = "30.0px"
        self.button0.css_width = "100px"
        self.button0.text = "button"
        self.button0.variable_name = "button0"
        container0.append(self.button0,'button0')
        container0.children['checkbox0'].onchange.do(self.onchange_checkbox0)

        self.container0 = container0
        return self.container0

    def onchange_checkbox0(self, emitter, value):
        self.button0.set_enabled(value)

#Configuration
configuration = {'config_project_name': 'untitled', 'config_address': '0.0.0.0', 'config_port': 8081, 'config_multiple_instance': True, 'config_enable_file_cache': True, 'config_start_browser': True, 'config_resourcepath': './res/'}

if __name__ == "__main__":
    # start(MyApp,address='127.0.0.1', port=8081, multiple_instance=False,enable_file_cache=True, update_interval=0.1, start_browser=True)
    start(untitled, address=configuration['config_address'], port=configuration['config_port'],
                        multiple_instance=configuration['config_multiple_instance'],
                        enable_file_cache=configuration['config_enable_file_cache'],
                        start_browser=configuration['config_start_browser'])

For the tabs, use the TabBox widget.
Regards ;-)

Thanks a lot Davide for your prompt response.
When I disable a dropdown object, it is not getting grayed out, but it is correctly bing disabled. Is it a known issue?
One more quick question. How do I make a solid line border around a container. I guess it should be via style when defining the container like:
gui.Container(width=400, layout_orientation=gui.Container.LAYOUT_HORIZONTAL, style={'display': 'block', 'overflow': 'auto', 'text-align': 'left'})
But I don't know the keyword. Is it documented somewhere?
Thanks

Hi @dddomodossola ,
I also found out that the checkbox object is not getting disabled. Is there any other method for disabling it, or it is not supported yet in remi?
Thanks,

In order to disable a Checkbox:
mycheckbox.set_enabled(False)
In order to disable a CheckboxLabel:
mycheckboxlabel._checkbox.set_enabled(False)
In order to disable a container:
mycontainer.style['pointer-events'] = 'none'
mycontainer.style['opacity'] = '0.4' #this is to give a disabled apparence
Regards ;-)

Thanks @dddomodossola  for your kind support.
In order to re-enable the container, shall I do:
del subContainerMiddle_2.style['pointer-events']
or there is a more proper way to do this.
And by the way, where all these things are documented? I could not find it in the "Remi Documentation Release 1.0.0". Is there any more up-to-date one?
Best,

Hello @m-kareem that's the right way. However unfortunately there is no documentation about this. There is only the readme file and the example. And of course you can ask me for help. ;-)

authors: dddomodossola m-kareem

repo: dddomodossola/remi


text:
🛑 Aura is down

In af88863, Aura (https://aura.vilt-group.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Aura is back up in b0d5db8 after 9 minutes.

repo: ddebrosse/status


text:
Salt to user table

Add salt column to user table and generate a random salt on user add. For password hashing combine the generated salt and env variable salt.
This adds extra protection against cases when database might be comprised. If salt is unique, then guessing one password does not give good hints for other passwords.

iirc, Argon2i already 'salts' the input, it is the first part of the string

It does not seem so. If I look at the login handler, then it just hashes user input and compares it to the hash in database. If salt would be stored in the password hash, then it would have to extract it before hashing the user input.

yes, but the hash function is from argon2i_simple , https://github.com/ddimaria/rust-actix-example/blob/4b7c224a420d7d81b16b8a4a0a296d8205959614/src/auth.rs#L50
and
https://bryant.github.io/argon2rs/argon2rs/fn.argon2i_simple.html
(I didn't check how it works internally, so I might be wrong)

Ahaa, yes argon2i_simple is the hashing function, but the salt there is only the server side secret salt (that is shared for all the passwords).
Using only server side secret gives some protection against password hacking, but it also has some weak points.
I'll list some pros and cons of using just server side salt and per password salt.
Server side secret salt
Pros

If only database is compromised (and not to server side secret salt), then it is close to impossible to crack the passwords.

Cons

Users with same password will have the same password hash.
If hacker has access to database and to server secret sThe onlyalt, then all passwords can be cracked all at once.
In case of this project it is likely that programmers will not generate a new salt (or would only make minor changes), so if only database is compromised, then guessing the salt would be good option for cracking passwords.

Per password salt
Pros

If database is compromised, then all passwords need to be cracked one by one.
All the hashes are different, so guessing passwords based on other known passwords would not be possible.

Cons

It is relatively simple to crack "easy" passwords.

Using server side secret salt and per password salt together gives best of both worlds. One con that will remain is that when database is compromised and server side secret is known, then it is relatively simple to crack easy passwords.

authors: Alex-CodeLab maitsarv

repo: ddimaria/rust-actix-example


text:
Update HelloWorldSpeechlet.java

This change is

testing

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

LGTM

Review status: 0 of 1 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: 0 of 1 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 2 of 2 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

repo: ddulaney/alexa-skills-kit-java


text:
fixed demo for cross-browser, OS support, with Safari/iOS focus.

This demo doesn't work on Mac Safari and all iOS browsers. After these adjustments, it is working fine on all browsers.

we have inserted the fix in another PR
thanks for the feedback @mukeshMukesh12

we have inserted the fix in another PR
thanks for the feedback @mukeshMukesh12

Thanks @benyael15

repo: de-id/live-streaming-demo


text:
Standardise project structure & fix NuGet restore

This pull request makes two related changes:

standardises the project structure (mainly by adding a solution file);
fixes the NuGet package not being restored automatically when it's missing.

That makes it easier for others to contribute, since they can just open and build the mod without changes.

thanks!

authors: Pathoschild deLaDude

repo: deLaDude/ChefsCloset


text:
fix(DOI):

@tensulin
Process of adding the DOI is now indicated in the form, process cannot be initiated twice
Try to fulfill the following points before the Pull Request is merged:

[ ] Give a meaningfull description for the PR
[ ] The PR is reviewed by one of the team members.
[ ] It must be checked if anything in the Readme must be adjusted (development-, production-, setup).
[ ] It must be checked if any section in the wiki (https://cloud.denbi.de/wiki/) should be adjusted.
[ ] If the PR is merged in the master then a release should be be made.
[ ] The PR is responsive on smaller screens.
[ ] If the requirements.txt have changed, check if the patches still work
[ ] If the new code is well commented
[ ] In case the code is not well commented: An respectice commenting issue with tag "important" is opened.
[ ] If a squash of commits is required, it has been performed or will be performed at final merge
[ ] Finally a second team member checks if all requirements met

For releases only:

[ ] If the review of this PR is approved and the PR is followed by a release then the .env file
in the cloud-portal repo should also be updated.

The fixing of the long reaction time was not part of this issue.
The error message has to be shown, when a doi is already part of another project.
We wanted to prevent the possibility of clicking the add button twice, so the doi gets added twice, which results in the error you have mentioned.

repo: deNBI/cloud-portal-webapp


text:
Method "itemWithUuid" should be edited.

Spigot API 1.12 haven`t setOwningPlayer()

Thanks for letting me know. For now, remove the UUID-based methods. I'll replace them when I have time. (Or if you're feeling particularly savvy, feel free to make a pull request)

I did not want to remove the methods, so I've added docs to specify that they only work in 1.13. I'll do some research later to see if there is a good solution for using UUIDs with skulls in <1.13 versions.

I am going to end support for 1.12 and earlier, this will only support 1.12.2 and later.

repo: deanveloper/SkullCreator


text:
Add Obsidian Integration

Obsidian Integration
For integration with obsidian, you need to install and enable community plugins named "Advanced Obsidian URI". This plugin help us to bypass character limitation in URL. Because it's using clipboard as the source for creating new file.
More information:  https://vinzent03.github.io/obsidian-advanced-uri/

[x] Send selection to New file in obsidian
[x] Send tab to new file in obsidian

To fix this issue: https://github.com/deathau/markdownload/issues/125

Hi @deathau is this repo still maintained? I hope this feature included in new version ☺

@deathau +1 on this. This would be very helpful!
@aancw, how might I support testing on this?

I'm also wondering if it would be better to include an option for obsidian integration — While built with Obsidian in mind, this aims to be completely agnostic towards Obsidian or any other note taking app in general. So if you'd like obsidian integration, you can enable it, thereby enabling the right click option and perhaps even adding or changing the button in the popup. (It might also be good to add a setting for vault name).
I understand that all this is beyond the scope of the PR, just putting my thoughts out there.

I'm also wondering if it would be better to include an option for obsidian integration — While built with Obsidian in mind, this aims to be completely agnostic towards Obsidian or any other note taking app in general. So if you'd like obsidian integration, you can enable it, thereby enabling the right click option and perhaps even adding or changing the button in the popup. (It might also be good to add a setting for vault name). I understand that all this is beyond the scope of the PR, just putting my thoughts out there.

That was good idea. I will try to learn how this extension work and will add the feature.

Hi @deathau please review my change. I've update the feature:

Obsidian Integration Setting
Custom obsidian vault, folder
Only show in context menu when obsidian integration is enable

Tested on Firefox and work as requested. Please test.

When Obsidian Integration is disabled

After Obsidian Integration enable

Obsidian Integration Setting

Obsidian view

Good work, this looks great! I'll merge it in, and give it a test and release it over the next couple of days. Thanks so much for this.

I'm happy to hear that. Can't wait to see this feature in latest release.

Thank you, @deathau markdownload web clipper and @aancw, for the Obsidian integration. The combo will unlock some needed capture tools/workflows. When might it be released, and will it be included in the macOS/iOS App Stores (with Finder and Share menu integration) and as a Chrome extension?

Strange, I had to disable and re-enable the extension for the context menu entries to appear (even though the new Obsidian-related options did appear and I had configured them)

Strange, I had to disable and re-enable the extension for the context menu entries to appear (even though the new Obsidian-related options did appear and I had configured them)

I've faced the same issue. For now, the workaround is enable and re-enable the extension. Still investigating it.

Does the Obsidian integration not allow for downloading images locally? Or am I missing something.

Everything still works great. Curious if anyone has figured out how to append selected text to the same note.
Example: google search "lorem ipsum"

select text
send to obsidian —> creates new note in designated folder as usual
go back to same google search, select DIFFERENT text
send to obsidian—> creates NEW note

How do you get step 4 to send to the SAME note, or append to the same note? Would be interesting to have an option that allows one to "Send to previous note" or something along those lines.

Everything still works great. Curious if anyone has figured out how to append selected text to the same note.
Example: google search "lorem ipsum"

select text
send to obsidian —> creates new note in designated folder as usual
go back to same google search, select DIFFERENT text
send to obsidian—> creates NEW note

How do you get step 4 to send to the SAME note, or append to the same note? Would be interesting to have an option that allows one to "Send to previous note" or something along those lines.

It currently not yet implemented. All selection is always send to the new note. Maybe in the later release, I will try to develop this feature. Thanks for suggestion.

authors: aancw deathau huyz mattortiz tjksiazek yarub123

repo: deathau/markdownload


text:
Add audio progress bar

During music playing, user would like to check audio lebgth, how much time is remaining to end etc. Add a audio progess bar which will freeze when music is paused and reset when music is changed.

Completed!


text:
DBZ-6035 Fix race condition in SQL server tests

https://issues.redhat.com/browse/DBZ-6035

@vjuranek Applied, thanks! COuld you please check Db2 if there is a similar issue present?

@jpechane yes, looking

authors: jpechane vjuranek

repo: debezium/debezium


text:
DBZ-8105 Upgrade Kafka to 3.8.0

https://issues.redhat.com/browse/DBZ-8105

@Naros We will probably need to backport JdbcSinkConnectorTask into 2.7 just with the opposite logic to make 2.7 compatible with Kafka 3.8.


text:
Monitoring: donation funnel

What:
Add some attributes to make easier the tracking on GTM.
Besides, trigger some manual custom events related to donation process "one off" and "dues"
Why:
We want to create a funnel to understand user behaviour with donation widget

@duranmla I would like to know if this is safe to merge, tests are failing tho.

@duranmla I would like to know if this is safe to merge, tests are failing tho.

@orlando the issue looks very straight forward I will take a look in a bit. (odd that it happen without me realise before open the pull request, sorry about it)

@orlando the issue looks very straight forward I will take a look in a bit. (odd that it happen without me realise before open the pull request, sorry about it)

I'll merge so we will be able to start to see if the events are being tracked correctly!

I'll merge so we will be able to start to see if the events are being tracked correctly!

authors: duranmla orlando

repo: debtcollective/home


text:
Investigate why /deployments response time varies so much

We've seen that the response time for the /deployments endpoint seems to increase over time, but then it suddenly goes down. We need to look into it

This is no longer happening, so we will close the issue. We might re-open it if we that it starts happening again

repo: decentraland/catalyst


text:
Test overpopulated channels

[ ] Test with 2 and more automatically registered channels
[ ] Compare with 1 channel
[ ] Disable presence in server
[ ] Check metrics of usage and service

Dup of decentraland/matrix-reloaded#103

repo: decentraland/dservices


text:
🛑 Studio Legale Fabiola Tombolini is down

In 333dfa7, Studio Legale Fabiola Tombolini (https://fabiolatombolini.law) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Studio Legale Fabiola Tombolini is back up in e4b10cd after 21 minutes.

repo: dedotombo/upptime


text:
Notebooks are empty after Docker container restarts

Description
In the last few days, I've had a few instances where I exit and restart my Docker container, only to find the notebook I was working on empty. I only saw it happen for notebooks not in a folder, though I didn't test it with notebooks in folders.
Steps to reproduce
Create a notebook, write a simple query, save it, and reload the Docker container.
Expected results
The notebook to appear as I was working on it before restarting my container.
Actual results
The notebook development panel is empty, despite having text in it previously.
Additional details and attachments

Versions

Engine Version: 0.28.1
Web UI Version: ...
Java Version: ...
Barrage Version: ...
OS: OS X
Browser: Chrome
Docker: 20.10.13

This seems to only be an issue for a notebook that was created and saved, but never closed after it was created. Current workaround would be to re-open the notebook from the file explorer and it should be good from that point forward.
Also appears you do not need to restart the server, just refresh the page in this case.
The issue is the fileMetadata doesn't get updated for the panel which makes the panel not rehydrate properly on reload.

If there are any cases of the notebook still being empty when re-opened from the file explorer, then we'll need more specifics on how to reproduce.

Confirmed works in DHC 0.27.0 (web UI 0.45.1), but not 0.28.0 (web UI 0.47.0). Also test DHC 0.27.0 w/ a newer web UI and the bug exists there, so seems to be a web UI issue, not core

Broken by #1451

authors: jjbrosnan mattrunyon

repo: deephaven/web-client-ui


text:
Not all series show is panel is too small

Description
While working on #1654 I noticed that not all series show on the plot if the width of the panel is too small. Hovering over where the series data should be plotted still shows the data as being there, the line just doesn't show. Increasing the viewport width fixes the issue.

Steps to reproduce

Same steps as #1654, enter the code below into the console

from deephaven import empty_table
from deephaven.plot.figure import Figure

t = empty_table(80000).update(["Timestamp=epochMillisToInstant(i)","x=(double)i", "y=i%12==11?null: i%5==0 ? i*2 : i", "series= i%5==0 ? `Double` : `Single`"])
f = Figure().plot_xy(series_name="Hello", t=t, x="Timestamp", y="y", by=["series"]).show()

Resize the panel until one of the series disappears

Expected results
Both series are plotted on the chart

Actual results
The 'Hello: Single' series does not show on the plot but hovering over where the plot should be still correctly shows the data preview/tooltip

Additional details and attachments

Versions

Engine Version: 0.32.0-SNAPSHOT
Web UI Version: 0.58.0
Java Version: 11.0.19
Barrage Version: 0.6.0

There is a chance this related to #1046

authors: ethanalvizo vbabich


text:
Create custom Modal component to remove dependency on reactstrap

Fixes #338

It looks like this will create a new portal for each modal and not clean up the portal after it closes. We should either re-use 1 portal created at the root or make sure to clean up after close animation

Unable to test due to build failure.

authors: SparkyFnay dsmmcken mattrunyon


text:
Sparkmlversions

Update spark ml version WIP

I'll drive this one - I'd like to try a few things...

authors: EronWright agibsonccc


text:
Add more documentation on calling JAX transforms inside a Haiku module.

We have https://dm-haiku.readthedocs.io/en/latest/notebooks/transforms.html, but I think we can add some more context on what error you get (an UnexpectedTracerError) and some alternatives to hk.lift (eg. if the only side-effect is parameter creation, switching on hk.running_init()).

Is it possible to capture the leaked tracer exceptions arising inside hk.transform and wrap them with an explanation that this could be due to using jax transforms? Even if that's not always the real issue, it would point the user to some documentation which may help (rather than try debugging the jax code itself).

(reposting a comment I originally made in the jax repo)
@LenaMartens sorry, I found that the issue persists. First, my code above was a bit buggy (wrong assertions etc) so I modified it slightly and applied your fix (below). Additionally, I had to subselect the last output of odeint along the timestep axis, since otherwise it differs from odefunc evaluation (did you modify that in your example?). It runs and seems to produce the right results, which is why I initially said the issue is solved, but it turns out that running with JAX_CHECK_TRACER_LEAKS=1 still reports a leak. In my actual codebase those are reported at this line
    def dy_and_div(self, ctx, y):
        e = jax.random.normal(hk.next_rng_key(), y.shape)

My suspicion would be that the tracer "redirected" with hk.running_init() fails to notice that an actual execution would ask for many more random keys than the init run. Is this related?
By the way: I'm not sure if I'm following the docs correctly. Shouldn't I have also replaced the jax.vmap call with hk.vmap? Also, I see that there are haiku versions of grad and value_and_grad. In my code I'm using vjp (inside traced code), is it somehow a different case than the former and doesn't require special treatment, or is it just that haiku hasn't yet implemented the wrapper necessary for my code?
import jax
import jax.numpy as jnp
import haiku as hk
from jax.experimental.ode import odeint

def ODEnet():
    def ODEnet_inner(y, context):
        return hk.Linear(y.shape[-1])(y)

    return ODEnet_inner

class ODEfunc(hk.Module):
    def __init__(self, diffeq):
        super(ODEfunc, self).__init__()
        self.diffeq = diffeq

    def __call__(self, states, t):
        assert t.shape == (), t.shape
        y, _logpx = states

        dy, div = self.dy_and_div(t[None], y)
        return dy, -div

    def dy_and_div(self, ctx, y):
        e = jax.random.normal(hk.next_rng_key(), y.shape)
        dy, dy_vjp_fn = jax.vjp(lambda y: self.diffeq(y, ctx), y)
        vjp, = dy_vjp_fn(e)
        div = jnp.dot(vjp, e)

        return dy, div

class CNF(hk.Module):
    def __init__(self, odefunc):
        super(CNF, self).__init__()

        self.odefunc = odefunc
        self.T = jnp.array(1.)

    def __call__(self, x, logpx):
        integration_times = jnp.array([0., self.T])

        v_call = jax.vmap(
            lambda x, lpx, t: self._call_inner(x, lpx, t),
            in_axes=(0, 0, None),
            out_axes=0,
        )

        z_t, logpz_t = v_call(x, logpx, integration_times)

        if logpx is None:
            return z_t
        else:
            return z_t, logpz_t

    def _call_inner(self, x, logpx, integration_times):
        assert logpx.shape == (*x.shape[:-1], 1)

        states = (x, logpx)

        if hk.running_init():
            state_t = self.odefunc(states, integration_times[0])
            z_t, logpz_t = state_t[:2]
            logpz_t = logpz_t[..., None]
        else:
            state_t = odeint(
                self.odefunc,
                states,
                integration_times,
            )

            z_t, logpz_t = state_t[:2]
            z_t = z_t[..., -1, :]
            logpz_t = logpz_t[..., -1, :]

        return z_t, logpz_t

import unittest

class Tests(unittest.TestCase):
    def test_cnf_unconditional(self):
        import numpy as np

        N, zdim, context_dim = 128, 32, 48

        def create(*args, **kwargs):
            return CNF(
                ODEfunc(ODEnet()),
            )(*args, **kwargs)

        cnf_fn = hk.transform_with_state(create)
        rng = jax.random.PRNGKey(42)

        x = np.random.randn(N, 3)
        logpx = np.zeros((N, 1))

        data = dict(x=x, logpx=logpx)
        params, state = cnf_fn.init(rng, **data)
        (z_t, logpz_t), state = cnf_fn.apply(params, state, rng, **data)

if __name__ == '__main__':
    unittest.main()

Sorry, I took a short-cut in my previous answer for brevity, but I omitted some important details. This is partly why better documentation would be great!
The fundamental  issue here is that Haiku modules are side-effecting: they modify parameter and RNG state, while these are not explicit function arguments and are not explicitly returned from the module functions. It's why we have hk.transform, which serves as a functionalization point: all module state is now being made explicit arguments to the init/apply functions, and these functions can be used with JAX transforms. So the issue here is that we have this functional boundary at the hk.transform, and inside of that functional boundary we can't safely use JAX transforms. The leaked tracers originate in these side-effecting operations on the Haiku state.
My previous solution of using hk.running_init() only works if the only side-effect is the creation of parameters, but you run into trouble again if your module advances the RNG state or changes state in any other way.
We provide some utilities to make it easier to nest JAX transforms inside of a hk.transform, like hk.vmap. As you noticed we don't wrap all functions, partly because it's difficult to choose the correct defaults. For example for hk.vmap, we always broadcast your Haiku state across the vmap (so you get the same parameters/RNG on every batch, effectively having in_axes=None for the Haiku state), but you might want to map over your parameter state instead.
I think the easiest solution here is to try-out hk.experimental.lift, which allows you to nest hk.transforms, effectively providing you with a way to functionalize a side-effecting Haiku function inside of a Haiku module. You can then use that functionally pure function with JAX transforms freely, eg. like below (to replace the hk.running_init() solution):
transformed_layer = hk.transform(self.odefunc) # nested transform
# lift registers the inner_params in the outer Haiku module's parameters
inner_params = hk.experimental.lift(transformed_layer.init)(hk.next_rng_key(), states, integration_times)
# switching argument order around because odeint expects states and times to be the first args
arg_order_switch = lambda y, t, params, rng: transformed_layer.apply(params, rng, y, t)
state_t = odeint(
    arg_order_switch,
    states,
    integration_times,
    inner_params,
    hk.next_rng_key()
)

The only annoyance is that you have multiple JAX transforms, and I think you might need to do this exercise ^ for every Haiku function you're transforming (ie. at the point you're using jax.vjp and jax.vmap, or in the case of vmap you could use hk.vmap instead)
Apologies for this sharp edge! Does what I wrote here make sense? Could you try-out the lift option?

authors: LenaMartens jatentaki

repo: deepmind/dm-haiku


text:
ERROR: "unknow plugin 'mujoco.elasicity.cable'" in mujoco 2.3.6

Hi,
I'm a student and I'm trying to use MuJoCo for cable simulation. i have downloaded mujoco precompiled version 2.3.6 on windows 10 x64
I'm looking for some help with running this cable.xml file from mujoco repo cable.xml
here is the XML file

<!-- Copyright 2021 DeepMind Technologies Limited

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<mujoco model="Cable">
  <!-- <include file="scene.xml"/> -->

  <extension>
    <plugin plugin="mujoco.elasticity.cable"/>
  </extension>

  <statistic center="0 0 .3" extent="1"/>
  <visual>
    <global elevation="-30"/>
  </visual>

  <compiler autolimits="true"/>

  <size memory="2M"/>

  <worldbody>
    <composite type="cable" curve="s" count="41 1 1" size="1" offset="-.3 0 .6" initial="none">
      <plugin plugin="mujoco.elasticity.cable">
        <!--Units are in Pa (SI)-->
        <config key="twist" value="1e7"/>
        <config key="bend" value="4e6"/>
        <config key="vmax" value="0.05"/>
      </plugin>
      <joint kind="main" damping=".015"/>
      <geom type="capsule" size=".005" rgba=".8 .2 .1 1" condim="1"/>
    </composite>
    <body name="slider" pos=".7 0 .6">
      <joint type="slide" axis="1 0 0" damping=".1"/>
      <geom size=".01"/>
    </body>
  </worldbody>
  <equality>
    <connect name="right_boundary" body1="B_last" body2="slider" anchor=".025 0 0"/>
  </equality>
  <contact>
    <exclude body1="B_last" body2="slider"/>
  </contact>
  <actuator>
    <motor site="S_last" gear="0 0 0 1 0 0" ctrlrange="-.03 .03"/>
  </actuator>
</mujoco>

Here is a screenshot , illustrating my question:
My Error

my mujoco bin folder

my mujoco-plugin folder

On Windows, when you launch simulate.exe you should also get a command line window like this:

Does it say anything on your machine?

authors: AmirSamanMirjalili saran-t

repo: deepmind/mujoco


text:
chore: update UI migraritions

This PR updates the UI migration scripts.

This PR is now redundant, the changes were added in an independent commit to the upstream branch.

repo: defenseunicorns/leapfrogai


text:
Loopp.vbb

#71

#155

repo: defunkt/dotjs


text:
Is Zepto compatibility desired?

If somebody shows interest in pjax being compatible with the lighweight jQuery-compatible JS library Zepto, i could give it a shot and try to make it compatible with both.

any updates?

authors: nmabhinandan untitaker

repo: defunkt/jquery-pjax


text:
Heroku deployment fails

After switching the base image for the heroku docker container to alpine, the heroku deployment fails (see https://travis-ci.org/github/dehydr8/elevation-of-privilege/jobs/773068262)
It seems that building the container already fails when pulling the alpine image from the registry
$ docker build -f heroku/Dockerfile -t $REPO:$COMMIT .
Sending build context to Docker daemon  17.97MB
Step 1/14 : FROM alpine:3
3: Pulling from library/alpine
540db60ca938: Pulling fs layer
error pulling image configuration: unexpected EOF
The command "docker build -f heroku/Dockerfile -t $REPO:$COMMIT ." exited with 1.

Locally, the docker command runs just fine for me. @dehydr8 Do you have any idea?

I'll take a look at this today.

I ran the job again and it worked. Not sure why it failed to fetch the image from registry when it ran previously.

Hooray! 🎉 Also today's deployment worked.


text:
fix(release): call proper RC scale instead of a missing (old) method

only happens when cleaning up RCs
Fixes #1054

Current coverage is 86.99% (diff: 0.00%)

Merging #1055 into master will decrease coverage by 0.05%

@@             master      #1055   diff @@
==========================================
  Files            42         42
  Lines          3615       3615
  Methods           0          0
  Messages          0          0
  Branches        609        609
==========================================
- Hits           3147       3145     -2
- Misses          308        309     +1
- Partials        160        161     +1

Powered by Codecov. Last update 29d51d9...bed85ee

authors: codecov-io helgi

repo: deis/controller


text:
Proposal isolating etcd/planes/router mesh

Isolating etcd doc http://docs.deis.io/en/latest/managing_deis/isolating-etcd/ should be improved, as it is not really clear for the most of users.
Also it would make a sense to move etcd part from user-data to extra templates for the cluster and proxy ones.
And create-user-data scripts then should prompt for the what kind setup e.g. 3 nodes or split setup

should be improved, as it is not really clear for the most of users.

How would you like this document to be improved? Which parts are unclear for you? :)

Also it would make a sense to move etcd part from user-data to extra templates for the cluster and proxy ones.

That sounds related to #3751. If this is related, would you mind adding your comments there so we can keep track of everything there? Thanks!

@rimusz, to echo @bacongobbler and also offer my assistance, I'd be happy to consider some edits to the documentation to improve clarity if you can highlight the parts that are not clear.
As for the suggestion that we could offer this as an option at the time of provisioning-- I agree that would be ideal.  The difficulty in implementing that, however, is that it's not only a matter of managing user-data.  More extensive changes would be required to the provisioning process overall.  Using the AWS provisioning process as an example, we'd have to add the ability to optionally add a second auto-scaling group to the CloudFormation template.  We'd also have to make the analogous change to every other provider as well.  (In the meantime, operators can add a second ASG themselves if they want to isolate etcd and/or the control plane.  This is done fairly easily.)
I think we absolutely should tackle this, but I think it needs to be part of a broader effort to develop a provider-agnostic provisioning process.  With a provider-agnostic process in place, it would become less of a maintenance burden to begin supporting a modest number of pre-baked cluster configurations.  That proposal is being tracked in #1406 if you would like to contribute to that conversation as well.

@krancour I think first thing should be included is proper proxy setup example for etcd, which needs to replace the etcd cluster part one.
Isolating planes needs a bit more details, expanding on how isolating planes should be done, how many servers are recommended for that.

closing as irrelevant for v2.

authors: bacongobbler krancour rimusz

repo: deis/deis


text:
deisctl dock has trouble attaching to distributed containers, i.e., "@" units

For example:
$ deisctl list | grep 'router'
deis-router@1.service	ba4076c4.../10.21.1.208	loaded	active	running
deis-router@2.service	f1657db5.../10.21.2.151	loaded	active	running
deis-router@3.service	0ed42297.../10.21.1.210	loaded	active	running
$ deisctl dock router@1
Executing 'docker exec -it deis-router@1 sh' on 10.21.1.208
FATA[0000] Error response from daemon: No such container: deis-router@1

This is because the container names for such components lack the @#.  So all n of router@# units start a container that's just named "router" and deisctl isn't smart enough to know that's going on.  The best solution, if docker allows it would be to make the container names always match the unit names... i.e. include the @#... but docker may not like special characters in container names.  Nevertheless, it's worth attempting before looking for a more compkex solution wherein deisctl needs specific logic for handling components with @# in their names.

Just tried.  Docker doesn't like @'s in container names.  I suppose the next best thing is to make deisctl smart enough to strip out the @# at the end of a container name before trying to exec into it.

We could add string substitution pattern logic into deisctl, something like:

when a new distributed unit's container is created, it gets a name of router-node-1 (instead using a common name router that all distributed router nodes will share on their distinct scheduled hosts)
deisctl dock will know to translate a target name of router@1 to router-node-1 in order to properly exec into it

Of course, we wouldn't want to implement such an approach unless we'd be willing to do it for all distributed unit containers, and it looks like currently only router and registry share this @ substring pattern (logspout and publisher, for example, which are also distributed components, don't seem to get an ordinal representation, at least in deisctl list output).
Also, any existing code in deisctl that references router container names by their current, common shorthand name (e.g., just router) will need to be updated as well. So, perhaps this isn't an easy one.

The string substitution strategy would work, but making deisctl know it has to perform that substitution isn't any better than making it know it needs to drop the @# before execing into the container.  The difference between the two, however, is that changing how the containers are named is a more sweeping change that we should try to avoid as long as the simpler alternative that's narrower in scope exists.

logspout and publisher, for example, which are also distributed components, don't seem to get an ordinal representation

There's a reason for that.  Those are global units.  They simply run one and only one everywhere that fleet metadata permits them to.  Contrast that with something like router where we are in control of how many we scale to.  Not simply requiring one and only one calls for a different approach in ensuring no two of such a component ever run on a single host.
Also, as you've observed, the global nature of units like logspout or publisher makes the idea of deisctl dock logspout@1 impossible.  There's no way in fleet to enumerate global units.  I wouldn't worry about this.  deisctl dock is a convenience feature in the first place.  It's still possible to get into any container by ssh'ing to the right machine and then using nse or docker exec.

Also, any existing code in deisctl that references router container names by their current, common shorthand name (e.g., just router) will need to be updated as well. So, perhaps this isn't an easy one.

I know first hand that the code used for resolving component names is a little complex.  I don't believe, however, that it needs to be touched at all for this.
The key is remembering what deisctl dock <component> actually does.  It's resolving the component name (which is a little complex), figuring out what host that component lives on, ssh'ing to there, then doing a docker exec <container name> on the host.  It's only the <container name> in this last part that needs to change.  We probably don't need more than a couple line of code to do this.  Something like the following pseudocode:
declare containerName
if componentName includes "@":
  containerName = componentName.substring(0, componentName.indexOf("@")
else:
  containerName = componentName

Looks like we're comprehensively teasing this out. ;) I'd like to add, because it's related, that in my administrative habits, especially as a dev using deis in a quasi-evaluative manner, that I've been manually logging on to the EC2 instances that comprise the deis cluster and docker ps'ing them, to see what components live where exactly, and then manually docker exec -it <container> /bin/bash'ing in to poke around. I wouldn't be surprised if this isn't an expected pattern of behavior for other evaluators as a way of determining "what is exactly going on here?" and "is this a useful production abstraction that I can use?". As such, being able to avoid the manual logging on and looking for container instances would be great. Are there any downsides to simply presenting the host resource as part of a deisctl list? It sounds like from your above description that deisctl dock isn't necessarily something we want to expose to every possible containerized component in a deis cluster, but we should expect that at some point we'll want to be able to debug every possible containerized component, and providing easy exposure to where to find those containers would be a win in that direction.

There isn't anything at all today that stops an operator from getting into any of the containerized components.  Currently, it's just (very slightly) more difficult for components with global units or units whose names include @#.  We can easily fix the latter because an operator could say deisctl dock router@2, for instance and that is very specific about which host to connect to and which container to exec into.  Something like deisctl dock logspout on the other hand doesn't make much sense.  It's not specific enough since that component lives on every host and its units also have the same name on every host (a consequence of being global units).  Like I said... there isn't anything that stops someone from still getting into any given logspout container, for instance.  They just have to ssh to the host they want first.  I think that's a trivial enough complication that we don't need to fret over it.
Keep in mind, 100% of this will change in v2.

deisctl is going away in Deis v2 and I don't think we will be able to get to this for the LTS release so I'm going to go ahead and close this. Thank you for the report though!

authors: bacongobbler jackfrancis krancour


text:
ref(LICENSE): switch to MIT license

We are changing the project's license from Apache 2.0 to the MIT license. The MIT license is compatible not only with the Kubernetes and commercial community licensing communities, but also with the Linux and other copyleft licensed projects. MIT is also the most common OSS license on GitHub. Thanks for your continuing interest in our project.

External contributions.

@knpwrs
We're re-licensing this project under the MIT license (from Apache v2). Since you've contributed code or documentation to this project, we'd like to get your permission on this project licensing change. You can do that by replying to this issue with the phrase:
I, <name>, give permission to license my contributions to this project under the MIT license.
How are you collecting permission?
Through replies on this GitHub issue.
What if I don't agree?
We hope that everyone will agree, but we can't be sure of it, nor can
we guarantee that we will be able to contact everyone. For people who
do not respond to direct contact, we will treat that as agreement in
most cases. If you explicitly do not agree, we will try to work
something out so that the re-licensing can go forward while respecting
your copyright.

For for it! I love me some MIT. 😄
I, Kenneth Powers, give permission to license my contributions to this project under the MIT license.

authors: bacongobbler knpwrs sgoings

repo: deis/example-nodejs-express


text:
(feat/monitor): Make ALLOW_SIGN_UP configurable via the chart

This is to toggle the signup page on the grafana login screen
https://github.com/deis/monitor/blob/master/grafana/rootfs/usr/share/grafana/grafana.ini.tpl#L150

I will work on a PR for this

This issue was moved to teamhephy/monitor#8

repo: deis/monitor


text:
fix(router): Handle comma delimited X-Forwarded-For values

Fixes #167 (at least partially; we cannot necessarily fix idiosyncrasies of GCP)
To test this, you'd be best off using GKE.  The TCP load balancer that k8s provisions for you when you install workflow would need to be replaced with an HTTP load balancer.
At that point, the router will receive inbound requests with multi-valued X-Forwarded-For headers.
Router should have it's router.deis.io/nginx.proxyRealIpCidr configures as follows:
router.deis.io/nginx.proxyRealIpCidr: 10.0.0.0/8,<load balancer public IP>/32

Requests to any all applications should yield access log messages form the router that contain your public IP.
See #167 for more information.

@krancour code LGTM. https://github.com/deis/router/pull/168#discussion_r60940854 is not blocking, just wanted to point it out. Added LGTM1 and removed in progress

@krancour do you have an HTTP load balancer setup handy for testing this? How did you set yourself up on GKE?

my comment triggered jenkins. Sorry about that!

my comment triggered jenkins. Sorry about that!

No worries.  It happens.  fwiw, I actually opened an issue against the Jenkins Github Pull Request Builder plugin with relevant logs.  I've heard nothing back so far.
Re: Testing this in GKE, it's quite a pain to set up.  I'll set it up and point you in its direction.

@bacongobbler... an easier way for you to test this might be as follows:

Deploy locally on vagrant. (This is so you're operating somewhere where there's no load balancer between you and the router.  You will play the role of the LB. 😄)

Deploy deis-router from this branch: $ make deploy

Add the following annotation to the deis-router RC.  This will relax some constraints to allow IP spoofing:

router.deis.io/nginx.proxyRealIpCidrs: 0.0.0.0/0

4. curl an app, whilst explicitly setting the `X-Forwarded-For-Header`:

    ```
$ curl -H "X-Forwarded-For: 1.2.3.4,5.6.7.8" <any valid app URL; event the controller>

Check router's access logs.  If working, requests should appear to have originated from 1.2.3.4.

$ kubectl logs  --namespace=deis

LGTM:
><> curl -H "X-Forwarded-For: 1.2.3.4,5.6.7.8" deis.10.245.1.3.xip.io

Not Found

The requested URL / was not found on this server.

><> kd logs deis-router-6acz9
2016/05/02 18:12:59 INFO: Starting nginx...
2016/05/02 18:12:59 INFO: nginx started.
2016/05/02 18:12:59 INFO: Router configuration has changed in k8s.
2016/05/02 18:12:59 INFO: Reloading nginx...
2016/05/02 18:12:59 INFO: nginx reloaded.
[02/May/2016:18:13:39 +0000] - 1.2.3.4 - - - 404 - "GET / HTTP/1.1" - 415 - "-" - "curl/7.38.0" - "~^deis\x5C.(?<domain>.+)$" - 10.247.51.129:80 - deis.10.245.1.3.xip.io - 0.006 - 0.006

@bacongobbler thanks for taking the time.  fwiw, not need to delete the router pod to apply configs in the future.  Router is always watching its own annotations and applying new config when it spots diffs.

I figured that the pod annotations are separate from the rc annotations so I just wanted to make sure. Thanks for the tip!

authors: arschles bacongobbler krancour

repo: deis/router


text:
Verify that pushing a tag can activate CI jobs

The new, individual component-based release process that Workflow is shooting for wants to lean heavily on the mechanism of pushing a GitHub tag. Ideally, just pushing a semver tag would cause all appropriate tests to run, and result in a new production Docker image (or other deliverable).
This was problematic in Jenkins at one point although may be working now. We should revisit this by testing it (perhaps at the next component release opportunity) and know what problems might exist before we leverage it heavily.

https://ci.deis.io/job/controller-tag-release/3/console is an example of a successful CI job trigger.  This job was manually generated but set refspec to +refs/tags/*:refs/remotes/origin/tags/* and branch to */tags/* in the git/scm block.  (Note that this means multiple jobs are triggered off of the push event, per the wildcards.  We will need logic to check GIT_BRANCH and make sure it is the most recent tag -- only then would we proceed.)

This has been verified in test jobs generated from in-flight PR https://github.com/deis/jenkins-jobs/pull/168; closing.

authors: mboersma vdice


text:
Support custom actions

We should support custom actions. We need to consider what this experience might look like. Maybe:

porter invoke —action  (other args like install).

Porter would need to validate that the specific action is in the bundle and handle errors when mixins used by the bundle don’t support said mixin.

Thinking about the other actions, they are all rooted on the bundle resource:
porter bundle install
porter bundle upgrade
porter bundle uninstall

Then we have aliases to make it easier for people to get to it
porter install
porter upgrade
porter uninstall

Some of the things we are worried about are:

That the porter cli can detect that it's a real command (and not a typo), which makes it tempting to make it a flag or positional argument and not a subcommand.
That the custom action is defined in the bundle
That every mixin used in the custom action support the custom action or it's a mixin that doesn't need to support the action (or example exec supports any action). Right now we don't have a way in porter to ask a mixin "do you support this action?"
Ensuring that schema validation doesn't fail against a manifest that does use a custom action, i.e. the exec mixin for example shouldn't be so strict that it reports an error when used in a custom action.

I think the custom actions have to be a flag off a different subcommand:
porter bundle invoke --action <INSTALL>

This could be a regular install command and we can leave the existing commands for install. New custom actions could be:
porter bundle invoke --action <CRAZY_TRAIN>

For the "built-in" commands, we could default to the existing things. For the custom actions, we could first check that:

That the custom action is defined in the bundle

I think we can handle checking that pretty easily?

That every mixin used in the custom action support the custom action or it's a mixin that doesn't need to support the action (or example exec supports any action). Right now we don't have a way in porter to ask a mixin "do you support this action?"

We should probably add something to the mixin interface/contract that satisfies this

Ensuring that schema validation doesn't fail against a manifest that does use a custom action, i.e. the exec mixin for example shouldn't be so strict that it reports an error when used in a custom action.

This will be some craaaaazy JSON Schema, but it's probably possible with JSON Schema.
The alternative is that we don't support that part of the spec. I believe that it's optional, so we could just not implement it.
This is probably not a super near term thing, I think figuring out how the mixins / porter will support the image map (which is a required part of the spec) takes higher priority imo.

nooooooo I just lost all my github comment.... 😭

This will be some craaaaazy JSON Schema, but it's probably possible with JSON Schema.

when in doubt just keep it * 😀

I think we can handle checking that pretty easily?

Sorry I was using the term "worried" to mean, "If you pick up this user story, please look out for this stuff". I didn't mean it was an unsolvable problem. 😀

porter bundle invoke --action   👍

Hi team,
after sending it to Carolyn, I'm also sharing my user 2cents here 😄
instead of creating custom actions, what if we would use aliases to specific mixin calls within the upgrade action?
in "my latest test", instead of emulating the different actions, I would have a specific call to start and stop
upgrade:
  - exec:
      description: "check the cluster status"
      alias: stop
      command: bash
      arguments:
        - -c
        - "server stop --name {{ bundle.parameters.servername }}"

hope this makes sense and I discarded the install and uninstall actions as it's normally only done once.
BR
SwissPorter 😈

authors: carolynvs jeremyrickard nunix

repo: deislabs/porter


text:
Missing content_type in file upload with Android 4.4.4

Hello,
I am trying to upload images via a WebView in Android. Both your implementation as http://stackoverflow.com/questions/5907369/file-upload-in-webview are not properly working for me with Android 4.4.4. Here is an extract from the received data:
Android 4.4.4
Parameters: {"utf8"=>"✓", "authenticity_token"=>"Vximz1fjqQcRpeYvek3G3tfK2L9wiQQSm837Zj5+aBI=", "item"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x007f2e49ab35f0 @tempfile=#<Tempfile:/tmp/RackMultipart20150228-10308-h8g0yc>, @original_filename="image:1641", @content_type="application/octet-stream", @headers="Content-Disposition: form-data; name=\"item[image]\"; filename=\"image%3A1641\"\r\nContent-Type: application/octet-stream\r\n">, "description"=>"", "for_friends"=>"0", "for_family"=>"0", "for_acquaintances"=>"0"}, "commit"=>"Speichern", "user_id"=>"1"}

Android 5.0
Parameters: {"utf8"=>"✓", "authenticity_token"=>"f/5PkwJ+g/30G7oWrsUizn0Lh7jzMsGMxnz264NorzQ=", "item"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x007f2e4a771710 @tempfile=#<Tempfile:/tmp/RackMultipart20150228-10308-1uacuce>, @original_filename="IMG_20150228_161113.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"item[image]\"; filename=\"IMG_20150228_161113.jpg\"\r\nContent-Type: image/jpeg\r\n">, "description"=>"", "for_friends"=>"0", "for_family"=>"0", "for_acquaintances"=>"0"}, "commit"=>"Speichern", "user_id"=>"1"}

The problem is the missing content type. Not even the filename has a content type extension. I tried things like setting the content type in the WebView manually with
setType("image/jpeg");

But that approach doesn't work. Perhaps you know a solution for this issue. Thanks!

Thanks for the feedback!
Unfortunately, you already have it working as well as it's possible. With the native WebView component in Android, you will never achieve better results on Android 4.4.4. It's just like that, there's a bug.
As you know, file uploads have been working from Android 2.2 to 4.3 but stopped working in 4.4. However, in Android 4.4.3 and 4.4.4, file uploads started working again -- however, they introduced a small new bug, which is what you found here.
If you look at the "original filename", it says IMG_20150228_161113.jpg on Android 5.0 (which is fine) and image:1641 on Android 4.4.4 (which is not fine). They dropped the file extension, and you can't do anything about it.
Since the "content type" (or MIME type) is derived from the file extension (in most browsers, including Android's WebView), the MIME type is unknown as well and thus shown as application/octet-stream.

They dropped the file extension, and you can't do anything about it.
A workaround is to use a 3rd party file explorer e. g. Solid Explorer (tested).

Thanks, good to know there's a workaround for Android 4.4.3 and 4.4.4. However, you can't force the majority of users to use a third-party file explorer.

Happened to me too, when produced Wordpress (along with image uploader) to be the native Android. How come..

@EdoEscada As described above, this is a bug in the Android operating system:

In Android 2.2 to 4.3, file uploads worked correctly and without any problems.
In Android 4.4.0, 4.4.1 and 4.4.2, file uploads completely stopped working.
In Android 4.4.3 and 4.4.4, file uploads started working again, but Android is dropping the uploaded files' extensions, i.e. the MIME type cannot be inferred.
Since Android 5.0, file uploads have been working without any problems again.

Neither of us can do anything about it because it's a bug in the operating system. But you may try the workaround suggested by @neonmate.

@mwaclawek thank you and high appreciate dor reply

@mwaclawek thank you and high appreciate for reply

authors: EdoEscada mwaclawek neonmate

repo: delight-im/Android-AdvancedWebView


text:
Unable to start test - distributed test with RMI

I have tried to use the plugin, however there is an error with RMI:
Error in rconfigure() method java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
	java.lang.ClassNotFoundException: io.github.delirius325.jmeter.config.livechanges.LiveChanges (no security manager: RMI class loader disabled)
Error in rconfigure() method java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
	java.lang.ClassNotFoundException: io.github.delirius325.jmeter.config.livechanges.LiveChanges (no security manager: RMI class loader disabled)

Could you help me please? Thanks!

I assume you've moved on from using the plugin, but RMI isn't supported yet. However, I should be working on the plugin again in the near future and implement support for RMI.


text:
Test component

Issues Resolved by this Pull Request
Test and Validation code for component role deployment
Fixes #517
Suggested Reviewers
@j0hnL @lwilson

@VishnupriyaKrish a few concerns:

You have a conflict in roles/slurm_workers/tasks/main.yml. Please pull the most recent changes from devel and resolve the conflicts.
None of your commits are signed off. Please go back and sign all commits. Please sign your commits as described below.

You have 10 commits incorrectly signed off. To fix, first ensure you have a local copy of your branch by checking out the pull request locally via command line. Next, head to your local branch and run:
git rebase HEAD~11 --signoff
Now your commits will have your sign off. Next run
git push --force-with-lease origin test_component
Commit sha: 928f382, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: 5509ac1, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: aa4bf04, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: f0ef666, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: 84532d6, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: dc3e439, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: 13710af, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: 1bea491, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: b3c9330, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.
Commit sha: 9f0726e, Author: VishnupriyaKrish, Committer: GitHub; The sign-off is missing.

@j0hnL @lwilson I will be creating new PR as there are merge conflicts.

authors: VishnupriyaKrish lwilson

repo: dellhpc/omnia


text:
Update protocol spec to clarify hidden folders

Update the protocol spec to specify that data files written by Delta to a directory beginning with _ are not hidden.
Out of https://github.com/delta-io/delta/issues/256, @nfx pointed out an inconsistency in the protocol spec where a table partitioned on a column beginning with _ will save data in a folder beginning with _, which according to the current version of the spec would make it a hidden folder.

LGTM

Let's think about this a bit before we enshrine this in the protocol. We could document the current behavior, or we could say that the current implementation has a bug (and that we should never store data in a folder that starts with _).
In general, having which directories are valid data directories be dependent on the schema seems a bit complicated to me (and as #256 shows its hard to reason about).
As an alternative, we could consider renaming these partition directories to not start with _.

After sync'ing with @marmbrus , we've decided not to make this change. We're instead going to revisit what the right way to handle the bug described in https://github.com/delta-io/delta/issues/256 is and then update the protocol spec accordingly.

we should never store data in a folder that starts with _

This seems a breaking change since Spark allows a partition column name starting with _ today.

@zsxwing I'm not suggesting we don't allow partition columns in the log with _ prefix.  Only that we don't perfectly preserve the column name in the path when writing the data out.

authors: marmbrus mukulmurthy zsxwing

repo: delta-io/delta