Contribute to Open Source. Search issue labels to find the right project for you!

[Help Wanted] [PLT-5436] Render channel links in the channel header

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Repro: 1) Click a channel name 2) From the drop down menu, select “Edit Channel Header” 3) Paste the following: ~town-square

Observed: Header rendered as ~town-square Expected: Header rendered as ~Town Square, which works as a channel link.

Here’s start of a PR to help you get started: https://github.com/mattermost/platform/pull/5334

Updated 18/08/2017 20:00

[Help Wanted] Migrate edit_post_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/edit_post_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 17/08/2017 00:07

[Help Wanted] Migrate edit_channel_purpose_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/edit_channel_purpose_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 17/08/2017 00:06

[Help Wanted] Migrate edit_channel_header_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/edit_channel_header_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 17/08/2017 00:06

[Help Wanted] Migrate delete_post_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/delete_post_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 17/08/2017 00:05

[Help Wanted] Migrate delete_channel_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/delete_channel_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 16/08/2017 23:15

[Help Wanted] Migrate channel_notifications_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/channel_notifications_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 16/08/2017 23:15

[Help Wanted] Migrate change_url_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/integrations/components/change_url_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 16/08/2017 23:15

[Help Wanted] Migrate about_build_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/about_build_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 16/08/2017 23:15

[Help Wanted] Migrate profile_picture.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/profile_picture.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 16/08/2017 23:14

[Help Wanted] A single collapsed preview re-opens after refresh

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

  1. Insert a gif link into a direct chat that shows up with the preview.
  2. Collapse preview using the icon beside the image.
  3. Refresh

Observed: GIF uncollapses Expected: GIF stays collapsed

Updated 15/08/2017 13:36 1 Comments

[Help Wanted] [PLT-5268] Always show link previews on comment threads in right-hand sidebar

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Right now if you are viewing a thread on the right-hand sidebar, the link previews are only shown for the parent post, not for comments.

Proposed change: Always show link previews on comment threads in right-hand sidebar.

NOTE: Search results (including flagged posts and recent mentions) should not show the link preview.

Updated 11/08/2017 21:13

[Help Wanted] Change URLs of Direct Messages to usernames

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

For technical advice or questions, please join our “Developers” community channel.


Difficulty: Intermediate

Details: Jira ticket

This PR (https://github.com/mattermost/platform/pull/6310) added support for URLs of direct message channels in the form

https://servername.com/teamname/messages/@username
https://servername.com/teamname/messages/user_id
https://servername.com/teamname/messages/email

and for group message channels in the form

https://servername.com/teamname/messages/generated_id

Proposed change:

For direct message channels, propose all URLs to redirect to https://servername.com/teamname/messages/@username. That is

  • .../messages/user_id
  • .../messages/email
  • .../channels/userid1_userid2

should all redirect to .../messages/@username.

Similarly, for group message channels, propose

  • .../channels/generated_id redirecting to .../messages/generated_id

NOTE: Each of these URLs are already supported. This help wanted ticket simply changes the redirections to .../messages/@username or .../messages/generated_id

Updated 13/08/2017 22:55 1 Comments

[Help Wanted] [PLT-539] Update incoming webhooks to accept multipart/form-data content type such as that supplied by curl -F

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Update incoming webhooks to accept multipart/form-data content type such as that supplied by curl -F

Updated 14/08/2017 13:16 1 Comments

[Help Wanted] [PLT-6303] Mouse cursor should change to a "hand selector" when hovering over paperclip icon to upload a file

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Repro: Hover over paperclip in message input box Expected: Mouse cursor changes to a hand selector Observed: Mouse cursor doesn’t change.

Updated 11/08/2017 21:13 2 Comments

Configurable 3D definitions for the received entities

RedHat-Israel/rosvr-client

After the client received entities (JSON format), it will add 3D meaning to them. For example: json { "type": "file", "size": 231235123, "owner": "abraverm" }

Adding configuration, (AKA theme) will return: json { "type": "file", "size": 231235123, "owner": "abraverm", "3d_size": "scale", "3d_type": "cube", "3d_owner": { "abraverm": "color_blue", "root": "color_red", "default": "color_cached_or_new" } }

Updated 03/08/2017 08:12 3 Comments

[Help Wanted] [PLT-7173] Kubernetes: Add mattermost-push-proxy

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Add optional helm chart to deply https://github.com/mattermost/mattermost-push-proxy The goal of the Kubernetes repo at https://github.com/mattermost/mattermost-kubernetes has 2 objectives. 1) An easy to setup highly available reference implementation for running the load tests. 2) The longer term goal is a highly available production ready implementation.

Updated 11/08/2017 21:12

[Help Wanted] [PLT-7169] Kubernetes: Add read replicas to mattermost-db

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Improve mattermost-db chart to be more production ready with the ability to setup read replicas. The goal of the Kubernetes repo at https://github.com/mattermost/mattermost-kubernetes has 2 objectives. 1) An easy to setup highly available reference implementation for running the load tests. 2) The longer term goal is a highly available production ready implementation.

Updated 23/07/2017 14:10 1 Comments

TST: Add Mac testing

numpy/numpy

@rgommers

On Wed, Jul 5, 2017 at 10:14 PM, Peter Cock p.j.a.cock@googlemail.com wrote:

Note that TravisCI does not yet have official Python support on Mac OS X, https://github.com/travis-ci/travis-ci/issues/2312 I believe it is possible to do anyway by faking it under another setting (e.g. pretend to be a generic language build, and use the system Python or install your own specific version of Python as needed), so that may be worth trying during a sprint.

That approach has worked reliably for https://github.com/MacPython/numpy-wheels for a while now, so should be straightforward.

Updated 17/07/2017 09:02 14 Comments

ENH: Add gallery to numpy.org,

numpy/numpy

Suggested by @stefanv

Here’s a random idea: how about building a NumPy gallery? scikit-{image,learn} has it, and while those projects may have more visual datasets, I can imagine something along the lines of Nicolas Rougier’s beautiful book: http://www.labri.fr/perso/nrougier/from-python-to-numpy/

@WeatherGod

Just a heads-up. There is now a sphinx-gallery plugin. Matplotlib and a few other projects have migrated their docs over to use it. https://sphinx-gallery.readthedocs.io/en/latest/

I don’t know enough about the tools to be helpful with this. Note that the actual repo is not numpy, but among the numpy project repos.

Updated 14/07/2017 02:52

[Help Wanted] [PLT-7111] Slash command for creating and messaging a group

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Add a new command /groupmsg

  1. Format for sending a group message: /groupmsg @[username1],@[username2],@[username3] [message]

    • Example: /groupmsg @eric,@lindsay,@jason,@asaad this is my message
    • Example: /groupmsg @eric, lindsay ,jason , @asaad this is my message
  2. Format notes:

  3. Accepts spaces after or before the commas when listing usernames
  4. Usernames do not have to contain the ‘@’ character
  5. The first word without a preceding comma is the first word of the message
  6. The command does not have to contain a message (If not it’ll just open or create the group but not post)

  7. System error message if add more than 7 people in the command: “Group messages are limited to a maximum of 7 users.”

  8. Similar to current behaviour, the system error message if one or more of the users cannot be found on the system:

    • We couldn't find the user: @username
    • We couldn't find the users: @username, @username2, @username3
  9. Autocomplete hint: /groupmsg @[username1],@[username2] 'message' Sends a Group Message to the specified users

Updated 11/08/2017 21:12

Central place to view all documentation and examples

SciRuby/daru

Since daru is growing pretty fast, it becomes cumbersome to update all the documentation consisting of comments in the code, notebooks (stored in another repo) and blog posts.

We should probably create a github page for daru daru.github.io where all this can exist in a centralized manner. The code docs will be updated from the codebase, blog posts can take the form of articles (or maybe a separate ‘blogs’ section in the website) and notebooks can be a walk-through of any given feature (stored in the daru repo itself).

Updated 06/07/2017 15:41 2 Comments

TST: Make tests Pytest clean

numpy/numpy

The files below with a checkmark currently work with Pytest. The remainder have problems, among which are missing decorators, exception types, and use of generators. Doctests are also not run, but that is probably due to missing options.

NumPy tests that work with Pytest

numpy/tests

  • [x] numpy/tests/test_ctypeslib.py
  • [x] numpy/tests/test_matlib.py
  • [x] numpy/tests/test_numpy_version.py
  • [x] numpy/tests/test_reloading.py
  • [x] numpy/tests/test_scripts.py
  • [x] numpy/tests/test_warnings.py

numpy/lib/tests

  • [ ] numpy/lib/tests/test_format.py
  • [ ] numpy/lib/tests/test_index_tricks.py
  • [ ] numpy/lib/tests/test_twodim_base.py
  • [x] numpy/lib/tests/test__datasource.py
  • [x] numpy/lib/tests/test__iotools.py
  • [x] numpy/lib/tests/test__version.py
  • [x] numpy/lib/tests/test_arraypad.py
  • [x] numpy/lib/tests/test_arraysetops.py
  • [x] numpy/lib/tests/test_arrayterator.py
  • [x] numpy/lib/tests/test_financial.py
  • [x] numpy/lib/tests/test_function_base.py
  • [x] numpy/lib/tests/test_io.py
  • [x] numpy/lib/tests/test_mixins.py
  • [x] numpy/lib/tests/test_nanfunctions.py
  • [x] numpy/lib/tests/test_packbits.py
  • [x] numpy/lib/tests/test_polynomial.py
  • [x] numpy/lib/tests/test_recfunctions.py
  • [x] numpy/lib/tests/test_regression.py
  • [x] numpy/lib/tests/test_shape_base.py
  • [x] numpy/lib/tests/test_stride_tricks.py
  • [x] numpy/lib/tests/test_type_check.py
  • [x] numpy/lib/tests/test_ufunclike.py
  • [x] numpy/lib/tests/test_utils.py

numpy/f2py/tests

  • [ ] numpy/f2py/tests/test_array_from_pyobj.py
  • [ ] numpy/f2py/tests/test_assumed_shape.py
  • [ ] numpy/f2py/tests/test_callback.py
  • [ ] numpy/f2py/tests/test_common.py
  • [ ] numpy/f2py/tests/test_kind.py
  • [ ] numpy/f2py/tests/test_mixed.py
  • [ ] numpy/f2py/tests/test_parameter.py
  • [ ] numpy/f2py/tests/test_regression.py
  • [ ] numpy/f2py/tests/test_return_character.py
  • [ ] numpy/f2py/tests/test_return_complex.py
  • [ ] numpy/f2py/tests/test_return_integer.py
  • [ ] numpy/f2py/tests/test_return_logical.py
  • [ ] numpy/f2py/tests/test_return_real.py
  • [ ] numpy/f2py/tests/test_size.py
  • [ ] numpy/f2py/tests/test_string.py

numpy/random/tests

  • [x] numpy/random/tests/test_random.py
  • [x] numpy/random/tests/test_regression.py

numpy/polynomial/tests

  • [ ] numpy/polynomial/tests/test_classes.py
  • [x] numpy/polynomial/tests/test_chebyshev.py
  • [x] numpy/polynomial/tests/test_hermite.py
  • [x] numpy/polynomial/tests/test_hermite_e.py
  • [x] numpy/polynomial/tests/test_laguerre.py
  • [x] numpy/polynomial/tests/test_legendre.py
  • [x] numpy/polynomial/tests/test_polynomial.py
  • [x] numpy/polynomial/tests/test_polyutils.py
  • [x] numpy/polynomial/tests/test_printing.py

numpy/distutils/tests

  • [ ] numpy/distutils/tests/test_system_info.py
  • [x] numpy/distutils/tests/test_exec_command.py
  • [x] numpy/distutils/tests/test_fcompiler_gnu.py
  • [x] numpy/distutils/tests/test_fcompiler_intel.py
  • [x] numpy/distutils/tests/test_misc_util.py
  • [x] numpy/distutils/tests/test_npy_pkg_config.py

numpy/testing/tests

  • [ ] numpy/testing/tests/test_doctesting.py
  • [x] numpy/testing/tests/test_decorators.py
  • [x] numpy/testing/tests/test_utils.py

numpy/core/tests

  • [ ] numpy/core/tests/test_arrayprint.py
  • [ ] numpy/core/tests/test_datetime.py
  • [ ] numpy/core/tests/test_deprecations.py
  • [ ] numpy/core/tests/test_longdouble.py
  • [ ] numpy/core/tests/test_mem_overlap.py
  • [ ] numpy/core/tests/test_multiarray.py
  • [ ] numpy/core/tests/test_nditer.py
  • [ ] numpy/core/tests/test_numeric.py
  • [ ] numpy/core/tests/test_print.py
  • [ ] numpy/core/tests/test_records.py
  • [ ] numpy/core/tests/test_regression.py
  • [ ] numpy/core/tests/test_scalarmath.py
  • [ ] numpy/core/tests/test_umath.py
  • [ ] numpy/core/tests/test_umath_complex.py
  • [x] numpy/core/tests/test_abc.py
  • [x] numpy/core/tests/test_api.py
  • [x] numpy/core/tests/test_defchararray.py
  • [x] numpy/core/tests/test_dtype.py
  • [x] numpy/core/tests/test_einsum.py
  • [x] numpy/core/tests/test_errstate.py
  • [x] numpy/core/tests/test_extint128.py
  • [x] numpy/core/tests/test_function_base.py
  • [x] numpy/core/tests/test_getlimits.py
  • [x] numpy/core/tests/test_half.py
  • [x] numpy/core/tests/test_indexerrors.py
  • [x] numpy/core/tests/test_indexing.py
  • [x] numpy/core/tests/test_item_selection.py
  • [x] numpy/core/tests/test_machar.py
  • [x] numpy/core/tests/test_memmap.py
  • [x] numpy/core/tests/test_numerictypes.py
  • [x] numpy/core/tests/test_scalarinherit.py
  • [x] numpy/core/tests/test_scalarprint.py
  • [x] numpy/core/tests/test_shape_base.py
  • [x] numpy/core/tests/test_ufunc.py
  • [x] numpy/core/tests/test_unicode.py

numpy/linalg/tests

  • [ ] numpy/linalg/tests/test_linalg.py
  • [x] numpy/linalg/tests/test_build.py
  • [x] numpy/linalg/tests/test_deprecations.py
  • [x] numpy/linalg/tests/test_regression.py

numpy/ma/tests

  • [x] numpy/ma/tests/test_core.py
  • [x] numpy/ma/tests/test_deprecations.py
  • [x] numpy/ma/tests/test_extras.py
  • [x] numpy/ma/tests/test_mrecords.py
  • [x] numpy/ma/tests/test_old_ma.py
  • [x] numpy/ma/tests/test_regression.py
  • [x] numpy/ma/tests/test_subclassing.py

numpy/fft/tests

  • [x] numpy/fft/tests/test_fftpack.py
  • [x] numpy/fft/tests/test_helper.py

numpy/compat/tests

  • [x] numpy/compat/tests/test_compat.py

numpy/matrixlib/tests

  • [x] numpy/matrixlib/tests/test_defmatrix.py
  • [x] numpy/matrixlib/tests/test_multiarray.py
  • [x] numpy/matrixlib/tests/test_numeric.py
  • [x] numpy/matrixlib/tests/test_regression.py
Updated 14/07/2017 03:01 21 Comments

[Help Wanted] [PLT-6871] Change at-mention autocomplete to prioritize entries where the username starts with the search string

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Change at-mention autocomplete to prioritize entries where the username starts with the search string

For the at mention autocomplete, it should sort users based on their username, but any user with their username starting with the search string should go first.

To give some context, if you search for “te” in the auto-complete right now on pre-release, you get the following results.

image

What you expect is this (those starting with “te” appear first, followed by other users in alphabetical order)

image

NOTE: You can compare to how the sorting is done for channel switcher shortcut (CTRL+K) https://github.com/mattermost/platform/pull/6486

Updated 10/07/2017 13:34 2 Comments

Add cli argument to create a new component

andela-iamao/react-raise

Do you want to request a feature or report a bug?

Feature

What is the current behavior?

currently I can only create a new react application

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/84v837e9/).

N/A

What is the expected behavior?

I should be able to create a new component by typing something like: $ raise component -C Dashboard - where -C is connected. i.e I intend to make Dashboard a container component. It then generates Dashboard and connects it to the redux store - Dashboard is the name of the component - if -C is not provided then it is a presentational component by default

Which versions of react-raise, and which browser / OS are affected by this issue? Did this work in previous versions of react-raise?

N/A

NB: You can drop a comment below for more clarification
Updated 14/06/2017 06:39

Configure express server if the option was chosen

andela-iamao/react-raise

Do you want to request a feature or report a bug?

Feature & Bug

What is the current behavior?

Currently it just installs express and its dependencies when a user selects to use with express

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/84v837e9/).

N/A

What is the expected behavior?

It should set up a basic express server when the use chooses so. - It should use the port 7000 on local - It should serve static files at ‘/dist/’ - It should be integrated with webpack-dev-server

Which versions of react-raise, and which browser / OS are affected by this issue? Did this work in previous versions of react-raise?

N/A

NB: You can drop a comment below for more clarification
Updated 14/06/2017 06:27

from_csv should support loading specified columns as date columns

SciRuby/daru

CSVs frequently contain multiple date columns. These are not necessarily indexes. It would be good if from_csv function provided an easy way to load column(s) as dates. As it stands now, the CSV needs to be loaded and the columns converted in to dates.

For reference, Pandas read_csv function supports a parse_dates argument for a similar purpose.

At the moment I have a simple wrapper csv_as_dataframe(path, date_columns=[]) to from_csv that reads the CSV and convert the columns using the below naive implementation: ruby date_columns.each do |col| df[col] = df[col].map do |v| if v Date.parse(v) else nil end end end It can probably be better optimized to handler multiple columns at once so it’s not N2. Not sure if something like this is already supported in Daru as I am fairly new to it.

Updated 13/06/2017 15:25 1 Comments

Parse the cli arguments

andela-iamao/react-raise

Do you want to request a feature or report a bug?

Feature

What is the current behavior?

Currently the project does not handle any cli argument

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/84v837e9/).

N/A

What is the expected behavior?

Command line arguments should be parsed. For example, if I type: $ raise new app Then it should know I wish to create a new react application List of cli args: new - create new react app component - create new component action - create new action reducer - create new reducer test:e2e - create new e2e test spec test:component - create new component test spec test:action - create new action test spec test:reducer - create new reducer test spec

Which versions of react-raise, and which browser / OS are affected by this issue? Did this work in previous versions of react-raise?

N/A

NB: You can drop a comment below for more clarification
Updated 12/06/2017 03:00

[Help Wanted] [PLT-6739] Convert theme color pickers to use react-color

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

The theme color pickers in “components/user_settings/custom_theme_chooser.jsx” use a jQuery plugin. We should switch to using the react-color library, similar to how it’s done in “webapp/components/admin_console/color_setting.jsx”

Updated 11/08/2017 21:09

[Help Wanted] Migrate installed_outgoing_webhooks.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/integrations/components/installed_outgoing_webhooks.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 12/08/2017 17:36 2 Comments

[Help Wanted] Migrate installed_incoming_webhooks.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/integrations/components/installed_incoming_webhooks.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 16/08/2017 21:13 2 Comments

[Help Wanted] Migrate installed_outgoing_webhook.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/integrations/components/installed_outgoing_webhook.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 12/08/2017 10:24 1 Comments

[Help Wanted] Migrate installed_incoming_webhook.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/integrations/components/installed_incoming_webhook.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 11/08/2017 20:55 2 Comments

[Help Wanted] Migrate channel_info_modal.jsx to be pure and use Redux

mattermost/platform

If you’re interested please comment here and come join our “Redux” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Redux contribution process to help get you started.


Difficulty: Intermediate

Details: Mattermost is moving their webapp to Redux over the next months and we’re looking for contributors to help with that effort. This Help Wanted issue is to move components/channel_info_modal.jsx to Redux.

Before submitting the pull request, make sure it has proper component testing as described here.

For a sample pull request for migrating a component to use Redux, see https://github.com/mattermost/platform/pull/6416

Updated 11/08/2017 21:10 2 Comments

[Help Wanted] [PLT-6455] GIF images (custom emoji) and Profile Pics do not retain background transparency

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Original report: https://github.com/mattermost/platform/issues/6270

SUMMARY GIF images (custom emoji) and Profile Pics do not retain background transparency.

STEPS TO REPRODUCE Version: pre-release.mattermost.com

  1. Custom Emoji > Add Custom Emoji
  2. Save the image to your computer https://i.imgur.com/pmIfMVG.gif img
  3. On the modal that was open from step 1 use the saved GIF from step 2
  4. On the text preview in that page before clicking SAVE, it properly shows with transparency
  5. After its saved and upload the background goes black, on the emoji
  6. Using this emoji on any where will have its background black instead of transparent

EXPECTED BEHAVIOUR The GIF will retain its transparency, like the original above.

OBSERVED BEHAVIOUR The uploaded GIF had its background changed from transparent to black. It could be a global issue for any uploaded image that goes through Plan9 palette?

SIDE NOTE Created it under the name :monkey-want: if want to test it on https://pre-release.mattermost.com.

Updated 11/08/2017 21:11 1 Comments

[Help Wanted] [PLT-6229] Post should show a plus sign for adding to existing emoji reactions

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

When a post already has reactions, add an extra box next to the list of reactions, containing a + sign. When clicked upon, this box should open up the emoji picker.

See https://github.com/mattermost/platform/pull/5157 which added the emoji picker. See https://github.com/mattermost/platform/pull/5904 which added the emoji picker for reactions.

NOTE: While the emoji picker is behind the feature flag, the plus sign should ONLY appear if the user has enabled the picker from Account Settings > Advanced > Preview pre-release features.

Updated 11/08/2017 21:11

[Help Wanted] [PLT-6039] When searching in emoji picker, remove categorization

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

When searching in emoji picker, remove categorization and instead simply list all the emoji that match the search result, nine emoji per row.

Notes: 1) The order should follow the order in emoji picker, i.e. “People” emoji first, followed by “Nature”, “Food”, etc. 2) Recently used emoji shouldn’t be included in the list, to avoid having the same emoji twice. 3) At the header of the emoji picker, the “Recently Used” section should be highlighted when doing the search.

See https://github.com/mattermost/platform/pull/5157 which added the emoji picker. See https://github.com/mattermost/platform/pull/5904 which added the emoji picker for reactions.

Updated 11/08/2017 21:09

[Help Wanted] [PLT-6074] Have deleteReaction API send the correct value for post.HasReactions

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

The changes made in https://github.com/mattermost/platform/pull/5499 make it so that the websocket event fired after removing a reaction always have the client save the post.HasReactions field to true even when the last reaction has just been removed.

Since that fix was made to solve a read replica issue (caused by saving the updated post on master and then getting the post again from a slave), we should change it so that the SqlReactionStore.Delete method returns the updated post instead of the the reaction that was just deleted (since the caller should already have that). The SqlReactionStore.Save method should probably be updated to return the post as well to keep the behaviour parallel between the two.

See https://github.com/mattermost/platform/pull/5157 which added the emoji picker. See https://github.com/mattermost/platform/pull/5904 which added the emoji picker for reactions.

Updated 11/08/2017 21:09

[Help Wanted] [PLT-5576] Add emoji picker for edit message dialog

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

See https://github.com/mattermost/platform/pull/5157 which added the emoji picker.

Currently there is no emoji picker in the edit dialog - this ticket adds an emoji picker for that dialog.

image

See https://github.com/mattermost/platform/pull/5157 which added the emoji picker. See https://github.com/mattermost/platform/pull/5904 which added the emoji picker for reactions.

Updated 11/08/2017 21:09 2 Comments

[Help Wanted] [PLT-3856] Help break HTML blocks to individual strings for translations

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Break HTML blocks into individual strings for easier translations.

Strings like this: http://translate.mattermost.com/nl/mattermost/translate/#filter=untranslated&unit=237152 should be decomposed to smaller strings. Mixing HTML with the translation is not a good practice.

Updated 11/08/2017 21:09

[Help Wanted] [PLT-5082] Add " v New messages below" indicator to the right-hand-side

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Add new messages indicator when scrolled up in the right-hand-side and new messages are posted on the thread.

Ticket for adding this functionality in the center channel: https://github.com/mattermost/platform/issues/4250 PR that added this functionality in the center channel: https://github.com/mattermost/platform/pull/4299

image

Updated 11/08/2017 21:08

[Help Wanted] [PLT-4207] OAuth2.0: Incorrect Client ID during authentication allows user to go "Back to Mattermost" in the authentication window

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

If Auth2.0 Authentication fails because of an incorrect Client ID (see screenshots from Zapier), then the error message given provides an option for “Back to Mattermost” that opens Mattermost to the team selection page.

Expected: No “Back to Mattermost” button, page should just display a helpful error message.

image

image

Note: The page accepts query parameters that should allow you to submit this change

Updated 11/08/2017 21:08

[Help Wanted] Adding a member doesn't update member count until refresh

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.a


Details (Jira ticket)

Repro (also reproduces with other invite methods):

1) Go to Main Menu > Add Members to Team 2) Choose members, then hit “Go”

Observed: User joins the team, but channel member count for Town Square or Off-Topic don’t update for existing users until refresh Expected: Channel member count updates

Updated 11/08/2017 21:08

[Help Wanted] Last viewed team isn't saved after logout

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Details (Jira ticket)

Repro steps: 1) Join multiple teams with the current user 2) Switch to one that isn’t the first team in their sidebar 3) Log out 4) Log back in

Observed: You’re logged in to the first team in their sidebar Expected: You’re logged back into the last team you viewed

Updated 11/08/2017 21:08

[Help Wanted] Swipe down to close keyboard

mattermost/mattermost-mobile

If you’re interested please comment here and come join our “Native Mobile Apps” channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

New contributors please see our Developer’s Guide, specifically for machine setup.


Notes: Jira Ticket

Repro of issue: 1. Click into the texbox to open the keyboard 2. Swipe down to scroll the channel, extending over top of the text input box

Observed: Keyboard stays open

Expected: Keyboard should close if the swipe action goes overtop the text input box. Do not close the keyboard if the swipe action is only on the channel, and not on the keyboard.

[See iMessage, FB messenger, most other apps for example]

Updated 21/07/2017 21:20 6 Comments

[Help Wanted] Don't spike CPU usage when holding ESC key in webapp

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Repro steps: 1. Open task manager (windows) or activity monitor (mac) and sort by CPU usage 2. In Mattermost, select the post input box 3. Hold ESC key

Observed: CPU usage for browser rises significantly Expected: CPU usage is reasonable

Reported here: https://pre-release.mattermost.com/core/pl/3rj443164ff1frqty6de44fb5a

NOTE: Reproduces on Chrome browser. Also reproduces for other keys like CTRL and ALT

Updated 16/08/2017 17:20 2 Comments

[Help Wanted] Change direct message list to be infinite scroll

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Change direct message list to be infinite scroll.

Threshold will be 30 per list and load more when the scroll passes the threshold.

See initial commits in this PR to help you get started.

Updated 11/08/2017 21:08

[Help Wanted] Make /collapse and /expand only apply to previous posts in the channel

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

Currently /collapse and /expand commands simply control the “Account Settings > Display > Default appearance of image link previews” setting.

Proposed change: Have the command only apply to previous posts in the current channel.

Example: Suppose - “Account Settings > Display > Default appearance of image link previews” is set to “Expanded”, and - user types /collapse in channel ABC.

Then - image links in existing posts in channel ABC collapse - new posts containing image links in channel ABC are expanded by default - image links in other channels are expanded by default

Updated 11/08/2017 21:08

Enhance specs style

SciRuby/daru

Our specs had grown “organically”, and many of them use outdated style of testing things (all bootstrap & several checks is made inside single example, tons of hard-to-read large objects created on the fly, instance variables are used instead of let and so on).

What should be done in this ticket is: * Refactoring of specs in accordance with BetterSpecs guidelines; * Making specs more clean/DRY (only several different dataframes are created as a test subjects, covering most of the situations) * Probably, splitting large specs files into smaller ones (e.g. for dataframe – basic functionality, math, output, import/export…) * Consider turning on Rubocop for specs files (with probably some cops turned off or tuned in spec/.rubocop.yml) * Consider introducing rubocop-rspec for rspec-specific checks (initially turned off, then turned on file-by-file & cop-by-cop)

As the full solution for the ticket will touch all spec/**/*.rb files, it is advised to make several PRs (one PR per one spec file, or one PR per one problem solution).

You can rely on my (@zverok) advices and reviews while working on this ticket.

Updated 14/08/2017 17:27 5 Comments

[Help Wanted] [PLT-5360] Clicking on email verification does not automatically fill in your email on mobile browser

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Notes: Jira ticket

This is a follow-up to https://github.com/mattermost/platform/pull/5140, whose PR can be found here and added this functionality for the desktop browser.

Repro (iOS, Safari browser): 1. Sign up to a site, and receive a verification email 2. On your phone, click the link in the email verification email 3. Click “Continue to browser” on the ios/android landing page.

Observed: Email verification is successful, but your email address is not filled in on the log in page. This is because you’re redirected to the switch_team page instead (and in return to the login page without the email validation URL)

Expected: To improve the user experience, your email address in already filled in and cursor is in the password field.

One solution is that if you’re redirected to Mattermost via an email verification, bypass the ios/android landing page.

Updated 11/08/2017 21:06 1 Comments

[Help Wanted] Improve join/leave messages

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Details: (Jira Ticket)

Part 1: Join/leave messages should:

  1. Never trigger a desktop notification unless you are mentioned by someone else (eg @lindsay added @asaad to the channel)
  2. [Already implemented] Never trigger an “Unread” bolded channel name unless you are mentioned by someone else (eg @lindsay added @asaad to the channel)

Part 2: Update the grammar for the messages:

  1. Switch the joined a channel message to say: @lindsay joined the channel.
  2. Switch the left a channel message to say: @lindsay left the channel.
  3. Switch the added to a channel message to say: @lindsay added @asaad to the channel.

Part 3: Combine Consecutive join/leave messages:

System messages related to joining, leaving, and adding/removing people from channels are combined into one post if they happen one after another, without any non-action messages in between. The messages are simply appended to the first message, and appear in the order that they occur.

Example:

@lindsay joined the channel. @lindsay added @asaad to the channel. @lindsay left the channel. @jason joined the channel.

Updated 02/08/2017 03:56 3 Comments

[Help Wanted] Create screens to edit OAuth 2.0 Applications

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.

New contributors please see our Developer’s Guide, specifically for machine setup and for developer workflow.


Details: (Jira Ticket)

Tip: Before getting started, take a look at how edit screens for slash commands were created by @bolecki.

It’s also a good idea to test the edit screens so you can see how they work for slash commands.

1 - Add an “Edit” button that offers an Edit screen (similar to the create screen) that saves back changes.

image Above: Add “Edit” button left of the “Delete” option

image Above: Edit screen that opens after clicking “Edit” in the previous screenshot for OAuth 2.0 apps

2 - If it’s a change that will break existing integrations (a change to one of the callback URLs), add a confirmation dialog notifying the user of the consequences of the update.

The dialog has two buttons, where “Cancel” brings the user back to the edit screen, and “Update” updates the OAuth 2 app.

Text should read Your changes may break the existing OAuth 2.0 application. Are you sure you would like to update it?

Below: Sample confirmation dialog for slash commads image

Updated 17/08/2017 23:13 3 Comments

Daru::Index#[] should only be used for index value and Index#at for position.

SciRuby/daru

Daru::Index#[] behaves as follows:

index = Daru::Index.new([100, 200, 300])

# access with Range:
index[0..1] # => #<Daru::Index(2): {100, 200}>

# access with Integer:
index[1] # => 1

# What I assumed:
index.at(1) # => 200

From the behavior of index[0..1], I assumed that index[] takes position as argument and returns value of index.

In other words, Index#[] sometimes takes position as argument and at other times takes value.

Is there any special reason for this confusing (at least for me) behavior ?

Updated 05/08/2017 15:21 26 Comments

[Help Wanted] Firefox: CTRL/CMD + U to upload a file does not work

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.

For technical advice or questions, please join our “Developers” community channel.


Difficulty: Intermediate

Details: Jira ticket

Repro: 1. Sign into Mattermost on a Firefox browser 2. Set focus to a message box 3. Hit CTRL/CMD + U

Observed: No action taken

Expected: A dialog opens, letting you upload files.

Updated 11/08/2017 21:04 2 Comments

[Help Wanted] Converting Public Channels to Private Groups

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our “Developers” community channel.


Difficulty: Intermediate

From the channel context menu, a “Convert to Private” option for public channels should be offered as an option to convert public channels to private groups. This should be visible to everyone. Additionally, the option should not be available for any team’s default town square channel.

image

On click, a full-screen modal should appear with the layout and text shown below. Once confirmed, a system message should be be sent: @channel: [USERNAME] has converted this channel to a private group.

image

Convert [CHANNEL NAME] to a private group?

[CHANNEL NAME] is currently a public channel.

Converting it to a private group means:

  • Only people currently in the channel will be able to see and message in the channel
  • All previous uploaded files (unless accessed via the Public Link) and past conversations in the public channel will become inaccessible to users not in the channel
  • Members will have to be invited to join this channel in the future

Are you sure you want to convert [CHANNEL NAME] to a private group?

[No, cancel] [Yes, convert to private group]

Updated 07/07/2017 12:42 20 Comments

[Help Wanted] Add a blue bar when email has been verified after changing your email address

mattermost/platform

If you’re interested please comment here and come join our “Contributors” community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team.


Details (Jira ticket)

After changing your email and clicking the “verify” link received in an email, show a blue bar when the user is taken to Town Square saying “Your email has been verified.”

Updated 11/08/2017 21:04

[API] Redesign of `DataFrame#group_by`

SciRuby/daru

Planned to do this myself, but, unfortunately, in upcoming weeks I will have much less spare time. So, just writing it here to not forget.

The idea: we don’t need separate Core::GroupBy object. It adds to users confusion, code and tests complexity and makes grouping too rigid and fragile.

The solution: Part 1: make DataFrame#group_by to produce DF with MultiIndex, like this:

df = Daru::DataFrame.new(
  employee: %w[John Jane Mark John Jane Mark],
  month: %w[June June June July July July],
  salary: [1000, 500, 700, 1200, 600, 600]
)
# => #<Daru::DataFrame(6x3)>
#          employee    month   salary
#        0     John     June     1000
#        1     Jane     June      500
#        2     Mark     June      700
#        3     John     July     1200
#        4     Jane     July      600
#        5     Mark     July      600 

df.group_by(:employee)
# => #<Daru::DataFrame(6x2)>
#                month salary
#   John      0   June   1000
#             3   July   1200
#   Jane      1   June    500
#             4   July    600
#   Mark      2   June    700
#             5   July    600 

I think, it is pretty intuitive (in fact, that was what I’ve expected when first met with Daru) – we just have MultiIndex of summary column + source index.

Part 2: Add DataFrame#summarize for multi-indexed DFs, like this (considering DF above):

df.group_by(:employee).summarize(salary: :sum)
# => #<Daru::DataFrame(3x2)>
#         month salary
#   John   June   2200
#   Jane   June   1100
#   Mark   June   1300 

Things to note: - all index parts except first column are dropped (for wide indexes we can have first param of how many columns of index to take) - default operation (for “month” column) is just take a first of each group; - we can provide operation (as for “salary”) column in form of symbol or lambda.

Another example with same DF:

df.group_by(:employee)
  .summarize(
    salary: :sum,
    month: ->(vec) { vec.to_a.join('/') } # argument for lambda is grouped part of vector
  )
# => #<Daru::DataFrame(3x2)>
#               month    salary
#      John June/July      2200
#      Jane June/July      1100
#      Mark June/July      1300 

And another one:

df.group_by(:employee)
  .summarize(
    salary: :sum,
    month: ->(vec) { vec.to_a.join('/') },
    mean_salary: ->(df) { df.salary.mean }, # when column name is not in orig.DF,
    periods: ->(df) { df.size }             # argument is part of entire dataframe
                                            # belonging to the group
  )

# => #<Daru::DataFrame(3x4)>
#                 month     salary mean_salar    periods
#       John  June/July       2200       1100          2
#       Jane  June/July       1100        550          2
#       Mark  June/July       1300        650          2 

WDYT?

Updated 20/06/2017 20:12 9 Comments

Fork me on GitHub