Coder Social home page Coder Social logo

makeplane / plane Goto Github PK

View Code? Open in Web Editor NEW
24.1K 96.0 1.3K 78.58 MB

๐Ÿ”ฅ ๐Ÿ”ฅ ๐Ÿ”ฅ Open Source JIRA, Linear and Asana Alternative. Plane helps you track your issues, epics, and product roadmaps in the simplest way possible.

Home Page: http://plane.so

License: GNU Affero General Public License v3.0

TypeScript 68.90% JavaScript 0.39% CSS 0.81% Shell 0.25% Procfile 0.01% Python 23.22% HTML 6.39% Dockerfile 0.05%
django docker kanban nextjs project-management python react typescript jira jira-alternative

plane's People

Contributors

1akhanbaheti avatar aaryan610 avatar abidkhan484 avatar ankushd avatar anmolsinghbhatia avatar dakshesh14 avatar dependabot[bot] avatar gurusainath avatar henit-chobisa avatar iamsahebgiri avatar kunalv17 avatar kylewlacy avatar mguptahub avatar narayanavadapalli avatar narayanbavisetti avatar pablohashescobar avatar palanikannan1437 avatar pinarruiz avatar prashantindurkar avatar prateekshourya29 avatar rahulramesha avatar rameshkumarchandra avatar rhea0110 avatar sabith-tu avatar sphynxux avatar srinivaspendem avatar sriramveeraghanta avatar thomasync avatar vamsi avatar vihar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plane's Issues

[feature]: Improve issue hierarchy experience

Is there an existing issue for this?

  • I have searched the existing issues

Summary

(It's hard to describe, I can provide mode details if it is needed). First of all, thanks for development such great tool! I see that there is such powerful feature like parent-child issues. Meanwhile it has some drawbacks. While parent and sub issues are grouped in a manner, they are still feels too separated. For example I can add parent issue to a cycle, but the sub issues won't be added there. Moreover, when I see cycle board, all issues are disaplayed "flat" (i.e. without hierarchy) and I can move issues between states like if they are totaly separated. To be more precise, let's imagine thet we have the following issues hierarchy:

  • Implement feature A
    • Backed for feature A
    • Frontend for feature A
      It is strange that I can move the parent issue to a cycle (i.e plan it for a specific period of time) without moving child issues to that cycle (i.e. they are required to implement feature A, but still not planned) or I can change state of child issue to "In progress" but the feature itself will still be in backlog (i.e. I have started working on part of feature, but not woring on feature itself O_o).
      For reference: another open-source task tracking software, Taiga, solved this using another approach: they have three types of work items: Epics, Userstories and Tasks. Only Userstories can be added to the sprints (equivalent of cycles), while Tasks are just child items of Userstories, and Epics are the equivalent of Planes's modules).

Why should this be worked on?

.

[FR] Support OIDC.

Adding OIDC support would allow for some existing user bases on different identity providers to use plane, specially on the self hosted plane, as many of us use Authentik, Keycloak or others to manage identities.

Having OIDC would also remove the need for Google and Github being mandatory.

[feature]: Audit Logs

Is there an existing issue for this?

  • I have searched the existing issues

Summary

I would suggest a Audit Log for Projects and Single Pages, where actions like create issues, delete issues, moving issues etc. like all actions that is possible to log.

With the attributes: Action Name, Action Time, User that triggered it.

Why should this be worked on?

This could improve the auditability of actions user of that board made.

[feature]: API?

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Does Plane have an API or a cli interface? It would be useful for such scenario: users commit to git with refenrence to task, a script automatically posts information about the commit into Plane.

Why should this be worked on?

.

[feature]: Add story points

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Implement story points - they help to measure how hard the specific task relatively to other tasks

Why should this be worked on?

Story points are one of core concepts of Agile methodology and should be supported in such Agile software as Plane is.

[feature]: recurring tasks

Is there an existing issue for this?

  • I have searched the existing issues

Summary

The feature of recurring tasks allows a scheduling and automation of task/issue creation and updates.
As a user I would like to be able to create a task (e.g. Update github access token) and during creation select that this task shall be recurring e.g. yearly.
Implemention options are various, so here are three:

  1. A recurring task is a meta task, which creates subtasks periodically and lists them in the meta task.
  2. A recurring task selfupdates itself and is reused, e.g. yearly by renaming its title/description "2022 yearly update akamai certs" => "2023 yearly update akamai certs"
  3. A recurring task is executed once and after completion a new recurring task is created. The new task will after completion create the next one and so on.

The first option could be nice UX if you have a lot of subtasks or short recurrence periods that you later might need to look at quite frequently.
The second option is nice if you want to keep your tickets as few and clean as possible, especially for throwaway oneshot tasks that once executed are no longer of any interest (fire and forget).
The third option is maybe the easiest to implement. Each task independently provides its functionality and once it created the next ticket its job is done. Cleaning up old tickets is no problem. As long as the latest/most relevant task remains, the recurrence flow is continued.

Why should this be worked on?

Some tasks require periodical (manual) execution, like the rolling of special certificates or secrets (e.g. github fine grained access token) or any other kind of periodically enforced human interventions.

Recurring tasks could be created/updated event-based (e.g. api hooks) or time-based (e.g. via cron expressions).

[bug]: Getting an code: 'ECONNREFUSED' on port 80, when trying to send login/signup request.

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

plane  | TypeError: fetch failed
plane  |     at Object.fetch (node:internal/deps/undici/undici:11413:11)
plane  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
plane  |     at async requiredAuth (/app/apps/app/.next/server/chunks/775.js:44:22)
plane  |     at async homePageRedirect (/app/apps/app/.next/server/chunks/775.js:101:18)
plane  |     at async Object.renderToHTML (/app/node_modules/next/dist/server/render.js:508:20)
plane  |     at async doRender (/app/node_modules/next/dist/server/base-server.js:669:38)
plane  |     at async cacheEntry.responseCache.get.isManualRevalidate.isManualRevalidate (/app/node_modules/next/dist/server/base-server.js:778:28)
plane  |     at async /app/node_modules/next/dist/server/response-cache/index.js:80:36 {
plane  |   cause: Error: connect ECONNREFUSED 127.0.0.1:80
plane  |       at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
plane  |     errno: -111,
plane  |     code: 'ECONNREFUSED',
plane  |     syscall: 'connect',
plane  |     address: '127.0.0.1',
plane  |     port: 80
plane. |   }
plane  | }

These are my nginx logs

172.20.0.1 - - [18/Mar/2023:06:01:25 +0000] "POST /api/magic-sign-in/ HTTP/1.1" 200 1868 "http://127.0.0.1:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
172.20.0.1 - - [18/Mar/2023:06:01:25 +0000] "GET /api/users/me/ HTTP/1.1" 200 1287 "http://127.0.0.1:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"

Steps to reproduce

  1. docker-compose up --build
  2. send signup request

Environment

Production

Version

Self-hosted

[bug]: Creating multiple Issues without ticking "Create more" clears the 2nd popup

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

After i created a issue and try to create after few seconds another issue the modal gets cleared and i have to retype everything.

Of course it is already a workaround with "Create more" Slider and because of that it could be a low prio issue.

Steps to reproduce

  1. Go to Projects
  2. Create Issue and finish it
  3. Try to create a issue withing 2-3 seconds
  4. ( The new Modal gets cleared of any content )

Browser

Mozilla Firefox

Version

Cloud

[bug]: Some issues cannot be opened

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

(last build from develop branch). I've created some issues using plane which was built around a week ago from develop branch. Now when using latest develop build I cannot open one of the created issue, because it throws the following errors. Frontend/Backend:

GET http://localhost/api/workspaces/test/projects/3e4f9504-fce1-4043-9566-4fc7811f97c8/issues/4908dc25-d7ab-4f80-b67e-9ea707b5237e/ 500 (Internal Server Error)
(anony

Database:

2023-04-30 18:11:19.914 UTC [107] ERROR:  column cycles.view_props does not exist at character 278
2023-04-30 18:11:19.914 UTC [107] STATEMENT:  SELECT "cycles"."created_at", "cycles"."updated_at", "cycles"."created_by_id", "cycles"."updated_by_id", "cycles"."id", "cycles"."project_id", "cycles"."workspace_id", "cycles"."name", "cycles"."description", "cycles"."start_date", "cycles"."end_date", "cycles"."owned_by_id", "cycles"."view_props" FROM "cycles" WHERE "cycles"."id" = 'd4722ff9-086b-42e4-96c8-46cbd62c4024'::uuid LIMIT 21

Steps to reproduce

Cannot remember, what exactly I did. I've created some cycles, issues , added issues to cycles and made some issues to be dependent of others. I can provide current database dump privately, it doesn't contains any sensetive information.

Browser

Google Chrome

Version

Local

[bug]: is docker example working on master?

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

I run docker-compose and it seemed everything was build fine, however with the raw build i reach the dashboard after the welcome wizard and then i can not create projects and i can not create tasks, i see js errors in the console.

if i run the hub version the welcome wizard first time can not be completed then after a second run it brought me to the dashboard, however some parts are in loading mode and i see the following issue in the log:

planebackend   | 172.19.0.1:36304 - "GET /api/users/me/workspaces/my-new-test-space/dashboard/?month=4 HTTP/1.1" 200
planebackend   | 172.19.0.1:36318 - "OPTIONS /api/workspaces/my-new-test-space/projects/ HTTP/1.1" 200
db             | 2023-04-12 08:00:01.331 UTC [97] ERROR:  column projects.estimate_id does not exist at character 796
db             | 2023-04-12 08:00:01.331 UTC [97] STATEMENT:  SELECT "project_favorites"."created_at", "project_favorites"."updated_at", "project_favorites"."created_by_id", "project_favorites"."updated_by_id", "project_favorites"."id", "project_favorites"."project_id", "project_favorites"."workspace_id", "project_favorites"."user_id", "projects"."created_at", "projects"."updated_at", "projects"."created_by_id", "projects"."updated_by_id", "projects"."id", "projects"."name", "projects"."description", "projects"."description_text", "projects"."description_html", "projects"."network", "projects"."workspace_id", "projects"."identifier", "projects"."default_assignee_id", "projects"."project_lead_id", "projects"."icon", "projects"."module_view", "projects"."cycle_view", "projects"."issue_views_view", "projects"."page_view", "projects"."cover_image", "projects"."estimate_id", T5."password", T5."last_login", T5."id", T5."username", T5."mobile_number", T5."email", T5."first_name", T5."last_name", T5."avatar", T5."date_joined", T5."created_at", T5."updated_at", T5."last_location", T5."created_location", T5."is_superuser", T5."is_managed", T5."is_password_expired", T5."is_active", T5."is_staff", T5."is_email_verified", T5."is_password_autoset", T5."is_onboarded", T5."token", T5."billing_address_country", T5."billing_address", T5."has_billing_address", T5."user_timezone", T5."last_active", T5."last_login_time", T5."last_logout_time", T5."last_login_ip", T5."last_logout_ip", T5."last_login_medium", T5."last_login_uagent", T5."token_updated_at", T5."last_workspace_id", T5."my_issues_prop", T5."role", T5."is_bot", T6."password", T6."last_login", T6."id", T6."username", T6."mobile_number", T6."email", T6."first_name", T6."last_name", T6."avatar", T6."date_joined", T6."created_at", T6."updated_at", T6."last_location", T6."created_location", T6."is_superuser", T6."is_managed", T6."is_password_expired", T6."is_active", T6."is_staff", T6."is_email_verified", T6."is_password_autoset", T6."is_onboarded", T6."token", T6."billing_address_country", T6."billing_address", T6."has_billing_address", T6."user_timezone", T6."last_active", T6."last_login_time", T6."last_logout_time", T6."last_login_ip", T6."last_logout_ip", T6."last_login_medium", T6."last_login_uagent", T6."token_updated_at", T6."last_workspace_id", T6."my_issues_prop", T6."role", T6."is_bot", "workspaces"."created_at", "workspaces"."updated_at", "workspaces"."created_by_id", "workspaces"."updated_by_id", "workspaces"."id", "workspaces"."name", "workspaces"."logo", "workspaces"."owner_id", "workspaces"."slug", "workspaces"."company_size", T7."password", T7."last_login", T7."id", T7."username", T7."mobile_number", T7."email", T7."first_name", T7."last_name", T7."avatar", T7."date_joined", T7."created_at", T7."updated_at", T7."last_location", T7."created_location", T7."is_superuser", T7."is_managed", T7."is_password_expired", T7."is_active", T7."is_staff", T7."is_email_verified", T7."is_password_autoset", T7."is_onboarded", T7."token", T7."billing_address_country", T7."billing_address", T7."has_billing_address", T7."user_timezone", T7."last_active", T7."last_login_time", T7."last_logout_time", T7."last_login_ip", T7."last_logout_ip", T7."last_login_medium", T7."last_login_uagent", T7."token_updated_at", T7."last_workspace_id", T7."my_issues_prop", T7."role", T7."is_bot" FROM "project_favorites" INNER JOIN "workspaces" ON ("project_favorites"."workspace_id" = "workspaces"."id") INNER JOIN "projects" ON ("project_favorites"."project_id" = "projects"."id") LEFT OUTER JOIN "users" T5 ON ("projects"."default_assignee_id" = T5."id") LEFT OUTER JOIN "users" T6 ON ("projects"."project_lead_id" = T6."id") INNER JOIN "users" T7 ON ("workspaces"."owner_id" = T7."id") WHERE ("workspaces"."slug" = 'my-new-test-space' AND "project_favorites"."user_id" = 'aa217e21-ef9e-443e-85ba-492950eb531a'::uuid) ORDER BY "project_favorites"."created_at" DESC LIMIT 21

tried it under Linux station 6.2.10-arch1-1 #1
commit hash f734aad

Steps to reproduce

  1. run docker-compose up
  2. run through wizard, see error
  3. clean stack, container, volumes
  4. try docker-compose -f docker-compose-hub.yml up
  5. see error in db

Environment

Production

Version

Local

[bug]: User assignment icons are invalid when user leaves

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When i assign someone to a issue and he leaves the icon gets cleared of the issue.

grafik

It should either behave like:

It gets removed cleanly from all issues or his icon or a default icon should be shown. ( my opinion )

Steps to reproduce

  1. Assign a Issue to a user
  2. the user leaves
  3. the icon doesnt show it anymore but it is still assigned.

Browser

Mozilla Firefox

Version

Cloud

[feature]: Add markdown tasks

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Add suport for markdown tasks lists (- [ ] Some task) with a counter of opened/done tasks on issues overview page and boards (like it is done here on GitHub).

Why should this be worked on?

Tasks are useful when the issue can be divided into small steps, which are too small themself to become a separate issues.

[bug]: only single workspace image possible

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

In the workspace switcher on the top left, the workspaces all get the same randomly generated image with a letter depending on the currently open project, not the letter of the actual workspace. This issue appears both in cloud and self hosted.

Screenshot from 2023-04-18 17-42-54
Screenshot from 2023-04-18 17-43-00

Steps to reproduce

  1. Add 2 workspaces with different letters at the beginning of their name.
  2. Open the workspace switcher in the top left corner.

Browser

Mozilla Firefox

Version

Self-hosted

[feature]: ldap support

Is there an existing issue for this?

  • I have searched the existing issues

Summary

is there any plan for integration ldap for user management.?

Why should this be worked on?

then, we can use LDAP to manage user like JIRA

[bug]: Creating Cycles fails on self hosted

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When i click create Cycle i get an error
image

image

I expect the cycle to be created

Steps to reproduce

  1. Clone the latest version on develop branch
  2. Deploy
  3. Login and create Cycle on a project

Browser

Google Chrome

Version

Local

[feature]: Dark mode and custom theming

Is there an existing issue for this?

  • I have searched the existing issues

Summary

As Plane gains more popularity, we have received requests from users for a dark mode option to reduce eye strain and provide a more comfortable viewing experience. Additionally, custom theming would allow users to personalize the app to their preferences and potentially increase the app's usability.

To implement dark mode and custom theming, we may need to work on the following tasks:

  • Identify the key design elements that need to be changed for dark mode
  • Create a new color palette and design guidelines for custom theming
  • Implement the necessary changes to the codebase and user interface

Our current target for shipment is the final week of April 2023.

Why should this be worked on?

Better user experience.

[bug]: Quick start fails

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

Tried to follow the quick start; it failed.

Steps to reproduce

  1. I followed the "Quick start with Docker Compose" instructions in the readme
  2. When I ran docker-compose I got:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.10/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/usr/lib/python3.10/http/client.py", line 975, in send
    self.connect()
  File "/usr/lib/python3/dist-packages/docker/transport/unixconn.py", line 30, in connect
    sock.connect(self.unix_socket)
PermissionError: [Errno 13] Permission denied

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 532, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/lib/python3/dist-packages/six.py", line 718, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.10/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/usr/lib/python3.10/http/client.py", line 975, in send
    self.connect()
  File "/usr/lib/python3/dist-packages/docker/transport/unixconn.py", line 30, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', PermissionError(13, 'Permission denied'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 214, in _retrieve_server_version
    return self.version(api_version=False)["ApiVersion"]
  File "/usr/lib/python3/dist-packages/docker/api/daemon.py", line 181, in version
    return self._result(self._get(url), json=True)
  File "/usr/lib/python3/dist-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 237, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', PermissionError(13, 'Permission denied'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 33, in <module>
    sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main
    command_func()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 200, in perform_command
    project = project_from_options('.', options)
  File "/usr/lib/python3/dist-packages/compose/cli/command.py", line 60, in project_from_options
    return get_project(
  File "/usr/lib/python3/dist-packages/compose/cli/command.py", line 152, in get_project
    client = get_client(
  File "/usr/lib/python3/dist-packages/compose/cli/docker_client.py", line 41, in get_client
    client = docker_client(
  File "/usr/lib/python3/dist-packages/compose/cli/docker_client.py", line 170, in docker_client
    client = APIClient(use_ssh_client=not use_paramiko_ssh, **kwargs)
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 197, in __init__
    self._version = self._retrieve_server_version()
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 221, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))

Environment

Production

Version

Local

[feature]: allow exporting issues list to CSV or Open Document Spreadsheet

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Inserting a single button on the issues view allowing exporting the issues list to an open format as CSV or ODS.

Why should this be worked on?

This would allow for some interchangeably since the information about the issues dealt in a period could be pasted in some kind of presentation or document.

[bug]: First run fails on docker-compose because port 80 is in use

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When I run docker-compose up some of the containers, and in particular nginx, fail to start because ports are already in use.

The provided docker-compose.yml file from the Github repository has ports: - 80:80 defined which is not going to work on most development machines and will only reliably work on new hosts/servers that are not running any other services.

Steps to reproduce

  1. Follow the install and start instructions from this project web site
  2. Attempt to run the application with docker-compose up

Environment

Deploy preview

Version

Self-hosted

[feature]: Allow disabling registration for self-hosted instances

Is there an existing issue for this?

  • I have searched the existing issues

Summary

When self-hosting, I do not want to allow anyone to register and create a workspace. Only invited users should be able to register, or it should be possible to completely disable registration so that once all users are onboarded registration can be disabled.

Why should this be worked on?

Without this feature, anyone hosting an instance must potentially maintain workspaces for other teams, or allows other people to store data on their server, which is not desirable. Additionally, when processing other users data in the EU, GDPR compliance is required so the hoster would have to deal with potential legal issues.

[feature]: Internal and public issues

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Let's imagine the following situation (I'm sure this is not uncommon among teams): my team wants to keep it's work planning private, but to allow external people to create issues in separate public zone. If someone from team wants to work on user request, they copies public user request to pivate issues, split it into sub-issues, etc. When the internal issue is closed, the public one is closed also, providing feedback to users.

Why should this be worked on?

This will allow to use plane not only as task tracker, but also as a tool to handle user requests

[bug]: setup.sh always uses http://, which breaks things when trying to host the API over https.

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When you run setup.sh my.domain.dev it'll add the NEXT_PUBLIC_API_BASE_URL variable into the .env file.

echo -e "\nNEXT_PUBLIC_API_BASE_URL=http://$1"  >> ./apps/app/.env

As you can see, it forces http with no option for https. Some top-level domains (like, .dev) require all traffic to go across https, which this breaks. I noticed it was doing this when I got mine hosted and I couldn't log in due to the following error.
image

Steps to reproduce

  1. Run the setup.sh script
  2. Build the images using docker compose build
  3. Host the frontend and backend on https domains
  4. Try and log in

Browser

Google Chrome

Version

Self-hosted

[feature]: Provide pre-build docker images for all components (or mono image)

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Currently when a user uses the docker compose setup, all images need to be build. It would be nice if the images are pre build and pushed to dockerhub or github docker packages.

Maybe even a single docker image could be provided for API, frontend and worker.

Why should this be worked on?

To simplify the setup and remove the need to build the images on the users system.

[bug]: The initial run with docker compose failed

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
[3/4] Linking dependencies...
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > [email protected]" has unmet peer dependency "prop-types@^15.6.0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > @blueprintjs/core > [email protected]" has incorrect peer dependency "[email protected] || ^15.0.0 || ^16.0.0 || ^17.0.0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > next-pwa > [email protected]" has unmet peer dependency "@babel/core@^7.0.0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > next-pwa > [email protected]" has unmet peer dependency "webpack@>=2".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > next-pwa > [email protected]" has unmet peer dependency "webpack@>=4.0.0 <6.0.0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > next-pwa > [email protected]" has unmet peer dependency "webpack@^5.1.0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > next-pwa > [email protected]" has unmet peer dependency "webpack@^4.4.0 || ^5.9.0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > recharts > [email protected]" has unmet peer dependency "prop-types@^15.6.0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > @remirror/extension-react-tables > @emotion/css > @emotion/[email protected]" has unmet peer dependency "@babel/core@^7.0.0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > remirror > @remirror/extension-yjs > [email protected]" has unmet peer dependency "prosemirror-model@^1.7.1".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > remirror > @remirror/extension-yjs > [email protected]" has unmet peer dependency "prosemirror-state@^1.2.3".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > remirror > @remirror/extension-yjs > [email protected]" has unmet peer dependency "prosemirror-view@^1.9.10".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > @remirror/extension-react-tables > @emotion/css > @emotion/babel-plugin > @babel/[email protected]" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > @remirror/extension-react-tables > @remirror/react-components > multishift > @reach/[email protected]" has incorrect peer dependency "react@^16.8.0 || 17.x".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > @remirror/extension-react-tables > @remirror/react-components > multishift > @reach/[email protected]" has incorrect peer dependency "react-dom@^16.8.0 || 17.x".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > @remirror/extension-react-tables > @remirror/react-components > multishift > @reach/auto-id > @reach/[email protected]" has incorrect peer dependency "react@^16.8.0 || 17.x".
warning "workspace-aggregator-3b7daf84-f8e7-4836-81de-ab25764bb7f7 > app > @remirror/extension-react-tables > @remirror/react-components > multishift > @reach/auto-id > @reach/[email protected]" has incorrect peer dependency "react-dom@^16.8.0 || 17.x".
[4/4] Building fresh packages...
error /app/node_modules/@sentry/cli: Command failed.
Exit code: 1
Command: node ./scripts/install.js
Arguments:
Directory: /app/node_modules/@sentry/cli
Output:
info sentry-cli Downloading from https://downloads.sentry-cdn.com/sentry-cli/1.74.6/sentry-cli-Linux-aarch64
Error: Unable to download sentry-cli binary from https://downloads.sentry-cdn.com/sentry-cli/1.74.6/sentry-cli-Linux-aarch64.
Error code: ECONNREFUSED
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
1 error occurred:
* Status: The command '/bin/sh -c yarn install' returned a non-zero code: 1, Code: 1

Steps to reproduce

Just followed the instruction from the github readme.

Additionally i edited the docker-compose to change the 80 port, to 8013 since my 80 port is already used.

Run the docker-compose up -d and this is what i see on the terminal.

Environment

Production

Version

Self-hosted

Email login broken on Firefox & Firefox Mobile

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

Trying to sign up or login into the application results in a short lived error message "Oops" in the top right corner followed by a page reload.

I tested this in both Firefox developer version on endeavourOS Linux and Android. I also tested it using the bormal Firefox Version on Linux. On chrome everything seems to be working.

Steps to reproduce

  1. Navigate to the sign-up page using Firefox
  2. Enter your email address

Environment

Production

Version

Cloud

[feature]: Add Helm Chart for deploying on k8

Is there an existing issue for this?

  • I have searched the existing issues

Summary

A Helm chart for quick and painless deployment on Kubernetes

Why should this be worked on?

  • easy installation in a cloud native environment.

[bug]: Website Crashes when multiple browser tabs or multiple browsers are open (On firefox).

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

I have two Browsers / Tabs open.

Tab01
Tab02

When i go in Tab01 in plane in a project and then go on tab02 to the dashboard it logs the user out of the application or crashes it
(On both Tabs).

Steps to reproduce

I have two Browsers / Tabs open.

Tab01
Tab02

  1. Tab01 goes to
    (Any Projects "Issues" page)
    https://app.plane.so/rookis-paradise/projects/6adca6dd-c16e-4f9f-863e-87cb3e542934/issues

  2. Tab02 goes to
    (Any Projects "Dashboard" page)
    https://app.plane.so/rookis-paradise

  3. Results:
    Tab01 crashes / logs out
    Tab02 crashes / logs out

Note:
For more reliable replication open both urls and press reload on both in 1-5 seconds delay

Browser

Mozilla Firefox

Version

Cloud

[feature]: integration with gitlab

Is there an existing issue for this?

  • I have searched the existing issues

Summary

we see there are already github support, but for self-host, we don't use github.com , we self-host gitlab, so if this also support gitlab, it will be very cool

Why should this be worked on?

internal env not have github access, but self host gitlab

[bug]: Pasting image in 'page' causes a HTTP 400 error

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When I paste a image in a page block. I see a spinner going but nothing is getting uploaded. When I check the network tab there is a 400 error that de 'workspace id' is missing: { error: "Workspace id is required" } I tested this on your cloud bases app.

The image should be added to the page block.

Steps to reproduce

  1. Create a page
  2. Add a block or reuse an exciting one.
  3. Copy a image in your clipboard
  4. Paste it in a block.
  5. See the error in the network tab.

Environment

Production

Version

Cloud

[feature]: Portainer support

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Currently, it's not possible to install a Plane using Portainer (https://www.portainer.io/) at least easily.

I believe adding docker-compose support without requiring any installation would solve the issue.

Why should this be worked on?

Portainer is a really popular tool with 1B+ pulls in Docker Hub. It's a tool for managing containers and would help people (including me) to host this more easily.

[bug]: Provided default application user name and password don't work

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When I have the application running via docker on my laptop I can't log into the application using the default user name and password provided on https://docs.plane.so/self-hosting

The login fails and I see this pop-up error message;

image

Steps to reproduce

  1. Start the application using docker-compose up
  2. Go to the application sign in page (on my machine that is http://localhost:8005/signin )
  3. Attempt to login with the default user name and password supplied on https://docs.plane.so/self-hosting
  4. Login fails.

Environment

Deploy preview

Version

Self-hosted

[feature]: ghcr or docker hub container release

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Would it be possible for plane to be released as a ghcr or docker hub container?

Why should this be worked on?

This would allow plane to be more easily deployed on services that let users deploy with just a docker compose file or for example unraid.

[feature]: GitHub Issue Importer

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Adding a GitHub importer to Plane would be highly beneficial as an extension to the GitHub sync integration. This would enable the transfer of existing issues from GitHub onto Plane.

Why should this be worked on?

By utilizing this feature, users can manage their issue planning through Plane instead of doing so on GitHub.

[bug]: Missing error feedback on onboarding form

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When creating a new workspace, if you enter an invalid slug, no error message is shown on the frontend.

Steps to reproduce

  1. Create a new account and get to https://app.plane.so/onboarding to create a new workspace
  2. Enter an 'invalid' workspace name, such as one.two or three?four, see that it populates the slug with invalid characters
  3. Click 'Create Workspace'
  4. See that no error message is displayed to the user. In the console, there is an error message: Enter a valid "slug" consisting of letters, numbers, underscores or hyphens.

Environment

Production

Version

Cloud

Screenshot

Screenshot 2023-04-13 at 12 20 50

[feature]: Estimations as a sub-property to Issue

Is there an existing issue for this?

  • I have searched the existing issues

Summary

This feature allows users to set estimations for their issues, providing a more structured approach to planning and tracking their progress on a particular issue.

In addition to setting estimations, users can filter their issues based on estimations, allowing them to easily prioritize tasks and manage their workload. Issues can also be grouped by estimation, providing a more organized view of all issues.

Why should this be worked on?

Helps plan better.

[feature]: Password authentication in the cloud version

Is there an existing issue for this?

  • I have searched the existing issues

Summary

I think it would be a good idea to add password authentication to the cloud version. The feature should of course be made optional so people who prefer magic links can use those.

Why should this be worked on?

Advantages of Passwords over Magic Links:

  1. Passwords are quicker to enter and require fewer steps. With magic links i need to request a link, login to the email, open the link from the email. A password can be easily remembered or autofilled.
  2. On a device that doesn't have access to the email inbox of the plane account, it is hard to use magic links. I have to either send the magic link over an insecure channel or type the link manually which is clunky.

[bug]: Can't delete workspace

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

I created test workspace and when trying to delete it nothing happens. After looking at the network card of Safari inspector it shows error 500 Internal Server Error. I deployed app using the docker-compose.yml on development branch. I run setup.sh script with https://local.domain parameter but it failed with error broken pipe. I manually changed API URL in application .env to https://local.domain.

My app is running behind a traefik reverse proxy with let's encrypt certs, this is why I changed the url to https.

Steps to reproduce

  1. Deploy app with docker-compose.yml
  2. Run setup.sh script with https://local.domain parameter
  3. Manually change the app .env, because it now has http://https://local.domain
  4. Login and create test workspace
  5. Try to delete workspace

Browser

Safari

Version

Self-hosted

[feature]: Jira Issue Importer

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Build a new Jira issue importer that imports all issues from Jira to Plane. Additionally, migrate Epics from Jira to Plane modules along with other workflows such as states and labels.

Why should this be worked on?

By doing this it will help existing Jira users to migrate from Jira to Plane

[bug]: setup.sh fails on Mac OS with 'tr: Illegal byte sequence' error

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When I follow the install instructions on my Mac (MacBook Pro M1 running MacOS Ventura 13.3) I get an error message;

    $ ./setup.sh localhost
    tr: Illegal byte sequence

I did a search on the error message and found this StackExchange post - https://unix.stackexchange.com/questions/45404/why-cant-tr-read-from-dev-urandom-on-osx

I prepended LCTYPE=C on line 7 of setup.sh before the tr statement and the script ran successfully. I was then able to start up the docker containers and run the application.

Steps to reproduce

  1. Clone the repository to local machine running Mac OS
  2. run ./setup.sh localhost

Environment

Deploy preview

Version

Self-hosted

[bug]: Unsplash proxy API inaccessible

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When loading the project settings page or attempting to make a new project on the current develop branch (160b4a4), the image picker tries to load <host>/api/unsplash to proxy the actual Unsplash API call. This endpoint returns 404 because it's attempting to read from the Django apiserver service on port 8000 rather than the web service on port 3000 (where the /api/unsplash handler appears to be served from).

This prevents the project image from being able to be changed.

Steps to reproduce

  1. Self-host Plane develop branch on localhost
  2. Create a new project in your workspace
  3. Go to the workspace settings
  4. Observe an XHR GET error in the console
  5. Unable to change the workspace splash image

Browser

Mozilla Firefox

Version

Self-hosted

[bug]: Cannot upload file on self-hosted

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

When running self-hosted version, I cannot upload file to s3. I was add aws config to .env file and try rebuild image. I was check my AWS config detail and it work on another project.

  • My codebase in this commit: 657241c

Steps to reproduce

  • Add AWS config to .env file
  • Rebuild docker image with: docker-compose build
  • Run app with docker-compose up
  • Try upload image ( change avatar, upload file to issue) -> server error 400.
{ error : "Something went wrong please try again later" }

Environment

Deploy preview

Version

Self-hosted

[feature]: Jira migration path (importers).

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Migration paths (importers) from Jira? An API (#763) would go a long way so people could write their own but a common migration path would be better.

Why should this be worked on?

If you are pitching this as a Jira alternative then offering painless migration away from Jira would be a win (IMO).

[feature]: Implement actions from Cockpit, AKA Command K

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Today Command + K only shows up the issues that are assigned to the logged-in user. This needs to be vastly improved for better experience.

Global Command + K

  • By default, when the Command + K is used it should act like a global search showing up issues, modules and cycles within the project.
  • Right below the search input, Command + K modal should adapt with the user frequently used actions, for example create new issue, create new view etc.
  • Every action should also be accompanied with their respective shortcuts.
  • Lastly, it's good to have some frequent navigation, such as Go to settings, View my profile etc.

When opened inside the issue or hovered from List or Kanban

  • Users should be able to edit sub-properties of Issue from the command+k menu

Why should this be worked on?

Better user experience

[feature]: Scoped labels

Is there an existing issue for this?

  • I have searched the existing issues

Summary

GitLab (sadly, only Premium version) has such feature as scoped labels (https://docs.gitlab.com/ee/user/project/labels.html#scoped-labels). These labels are grouped so only one label from the group can be selected at the moment. If user adds another label from the same group, it replaces the previous one. This can be used for example to track the stage of the issue (development, testing, in review) or an area of product to which the issue belongs.

Why should this be worked on?

Do not insist on implementing this, it is just an idea (but maybe it will gain more support from folks)

[feature]: Notifications

Is there an existing issue for this?

  • I have searched the existing issues

Summary

Notifications could be used to send reminders on issue's (by due date maybe?), cycles, etc.
I think plane should support multiple drivers for notifications such as email, ntfy, etc. for maximum compatibility.

Id be interested in ntfy as that is a standardized cross platform solution.

Why should this be worked on?

Notifications are an integral part of project management, especially for managing deadlines.

[feature]: Ability to add attachments to Issues

Is there an existing issue for this?

  • I have searched the existing issues

Summary

One of the most frequently requested features from our Alpha-launch users has been the ability to add attachments to issues within the issue detail page.

For Plane Cloud users, the free account comes with a file upload limit of 5MB. However, for users who self-host Plane, there is the option to set up unlimited file hosting either locally or on AWS.

Attachments design

Why should this be worked on?

This provides greater flexibility for users who need to manage larger files and attachments.

[bug]: docker-compose-hub.yml broken with domain other than localhost

Is there an existing issue for this?

  • I have searched the existing issues

Current behavior

The docker-compose-hub.yml file is broken for domains other than localhost. The frontend doesn't respect the NEXT_PUBLIC_API_BASE_URL and tries to make the API calls to localhost:8000 which obviously fails.

Steps to reproduce

  1. Follow the installation but use the docker-compose-hub.yml file
  2. Use a domain other than localhost

Browser

Mozilla Firefox

Version

Self-hosted

[feature]: Allow to run on alternate ports

Is there an existing issue for this?

  • I have searched the existing issues

Summary

I have a home server on which I run a wide variety of apps. I tend to avoid using port 80, 3000, etc. for any apps that aren't my server management dashboard and portainer. I tried changing the port assignments in the docker-compose.yml file directly but it appears the ports are hardcoded elsewhere. For reference I changed the nginx port mapping to 3137:80, the plane-web mapping to 3005:3000 and the plane-api mapping to 8005:8000.

Why should this be worked on?

It's best-practice to allow users to specify what ports they prefer for containerised applications. It gives more flexibility and allows multiple apps to run side-by-side on the same server/machine without interfering with each other.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.