List view
- No due date•0/3 issues closed
- No due date•2/12 issues closed
- No due date•6/7 issues closed
Making our UI more snappy and less sluggish.
No due date•15/21 issues closed- No due date
- No due date•1/6 issues closed
- No due date•3/7 issues closed
Goal: https://github.com/lightdash/lightdash/issues/5887
No due date•43/48 issues closed- No due date•6/8 issues closed
This milestone is a continuation of the initial feature to support metric deduplication: 👯♀️ Deduplicating metric results (caused by fanouts) https://github.com/lightdash/lightdash/milestone/154
No due date•0/3 issues closed- No due date
- No due date•8/11 issues closed
Remove deprecated features and code
No due date•2/4 issues closedBacklog to keep track of incoming features and user feedback that we haven't categorised in a specific milestone yet
No due date•42/130 issues closed- No due date•3/3 issues closed
- No due date•0/6 issues closed
- No due date•49/65 issues closed
Analytic dashboard https://analytics.lightdash.cloud/projects/21eef0b9-5bae-40f3-851e-9554588e71a6/dashboards/f64bc571-6f0c-46d5-8b87-2c92afde731e/view
No due date•78/102 issues closed- No due date•6/12 issues closed
- Error types - Error filtering - Events' grouping
No due date•28/29 issues closed- No due date•7/9 issues closed
- No due date•28/45 issues closed
- No due date•2/3 issues closed
- No due date•13/14 issues closed
- No due date•12/17 issues closed
- No due date•3/4 issues closed
- No due date•429/538 issues closed
This is where we collect feature requests for Metrics Catalog / Explorer. Tickets can be broken down into further milestones.
No due date•10/25 issues closed- No due date•1/4 issues closed
- No due date•1/3 issues closed
- No due date•0/3 issues closed
To test, apply the following diff and re-run `sh ./scripts/seed-lightdash.sh` - this will add 10k users to the database ``` diff --git a/packages/backend/src/database/seeds/development/01_initial_user.ts b/packages/backend/src/database/seeds/development/01_initial_user.ts index 395333e8b..16b97cbc5 100644 --- a/packages/backend/src/database/seeds/development/01_initial_user.ts +++ b/packages/backend/src/database/seeds/development/01_initial_user.ts @@ -20,6 +20,7 @@ import { import bcrypt from 'bcrypt'; import { Knex } from 'knex'; import path from 'path'; +import { v4 } from 'uuid'; import { lightdashConfig } from '../../../config/lightdashConfig'; import { ProjectModel } from '../../../models/ProjectModel/ProjectModel'; import { projectAdapterFromConfig } from '../../../projectAdapters/projectAdapter'; @@ -35,16 +36,27 @@ export async function seed(knex: Knex): Promise<void> { await knex('organizations').del(); const addUser = async ( - seedOrganization: DbOrganizationIn, + seedOrganization: DbOrganizationIn | undefined, seedUser: DbUserIn, seedEmail: Omit<DbEmailIn, 'user_id'>, seedPassword: { password: string }, + existingOrgUuid?: string, ) => { - const [{ organization_id: organizationId }] = await knex( - 'organizations', - ) - .insert(seedOrganization) - .returning('organization_id'); + let organizationId: number | undefined; + + if (seedOrganization) { + const [{ organization_id: o }] = await knex('organizations') + .insert(seedOrganization) + .returning('organization_id'); + + organizationId = o; + } else if (existingOrgUuid) { + const [org] = await knex('organizations') + .select() + .where('organization_uuid', existingOrgUuid); + organizationId = org.organization_id; + } + if (organizationId === undefined) { throw new Error('Organization was not created'); } @@ -85,6 +97,34 @@ export async function seed(knex: Knex): Promise<void> { SEED_ORG_1_ADMIN_EMAIL, SEED_ORG_1_ADMIN_PASSWORD, ); + + async function addXUsers(x: number) { + const promises: ReturnType<typeof addUser>[] = []; + // eslint-disable-next-line no-plusplus + for (let i = 1; i <= x; ++i) { + promises.push( + addUser( + undefined, + { + ...SEED_ORG_1_ADMIN, + first_name: `${SEED_ORG_1_ADMIN.first_name} ${i}`, + user_uuid: v4(), + }, + { + ...SEED_ORG_1_ADMIN_EMAIL, + email: `demo+${i}@lightdash.com`, + }, + SEED_ORG_1_ADMIN_PASSWORD, + SEED_ORG_1.organization_uuid, + ), + ); + } + + await Promise.all(promises); + } + + await addXUsers(10000); + await addUser( SEED_ORG_2, SEED_ORG_2_ADMIN, ```
No due date•1/4 issues closed- No due date•0/3 issues closed
- No due date•0/6 issues closed
- No due date•53/57 issues closed
- No due date•15/16 issues closed
- No due date•2/11 issues closed
- No due date•2/12 issues closed
- No due date•12/18 issues closed
- No due date•0/2 issues closed
- No due date•33/45 issues closed
- No due date•0/4 issues closed
- No due date•0/4 issues closed
- No due date•2/7 issues closed
Remaining work for custom visualizations
No due date•7/14 issues closedhttps://www.notion.so/lightdash/67d3fd912f764d9eaf0f8e741d76fa00?v=805962b15e6a49958b88d1ec7dce15c4&p=c4cd848dd63a4bea82b78c0c02054b02&pm=s
No due date•0/6 issues closed- No due date•9/13 issues closed
Making a version history for dashboards accessible to users in the UI. They can revert content to older versions.
No due date•3/5 issues closed- No due date•6/7 issues closed
We need to refactor all the endpoints for /routes to /controllers so we can automatically generate API docs.
No due date•14/17 issues closed