List view
Improvements to scheduled deliveries.
No due date•9/13 issues closedhttps://runny-emu-20972469.figma.site/
No due date•30/31 issues closed- No due date•36/40 issues closed
Making our UI more snappy and less sluggish.
No due date•20/21 issues closed- No due date
- No due date•5/9 issues closed
Goal: https://github.com/lightdash/lightdash/issues/5887
No due date•50/50 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/5 issues closed- No due date
- No due date•8/11 issues closed
Remove deprecated features and code
No due date•3/4 issues closed- No due date•3/3 issues closed
- No due date•0/6 issues closed
- No due date•51/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•82/103 issues closed- No due date•9/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•30/45 issues closed
- No due date•2/3 issues closed
- No due date•14/14 issues closed
- No due date•14/17 issues closed
- No due date•4/4 issues closed
- No due date•524/594 issues closed
This is where we collect feature requests for Metrics Catalog / Explorer. Tickets can be broken down into further milestones.
No due date•15/32 issues closed- No due date•2/4 issues closed
- No due date•2/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•2/4 issues closed- No due date•1/3 issues closed
- No due date•0/6 issues closed
- No due date•57/57 issues closed
- No due date•15/16 issues closed
- No due date•8/11 issues closed
- No due date•4/12 issues closed
- No due date•14/18 issues closed
- No due date•5/6 issues closed
- No due date•38/44 issues closed
- No due date•0/4 issues closed
- No due date•2/4 issues closed
- No due date•2/6 issues closed
Remaining work for custom visualizations
No due date•13/14 issues closedhttps://www.notion.so/lightdash/67d3fd912f764d9eaf0f8e741d76fa00?v=805962b15e6a49958b88d1ec7dce15c4&p=c4cd848dd63a4bea82b78c0c02054b02&pm=s
No due date•4/15 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•5/5 issues closed- No due date•7/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- No due date•5/5 issues closed
- No due date•3/3 issues closed