✏️(project) fix typo
Fix and improve typos in the codebase.
This commit is contained in:
@@ -97,7 +97,7 @@ This command builds the `app` container, installs dependencies, performs databas
|
|||||||
|
|
||||||
Your Docker services should now be up and running 🎉
|
Your Docker services should now be up and running 🎉
|
||||||
|
|
||||||
You can access to the project by going to <http://localhost:3000>.
|
You can access the project by going to <http://localhost:3000>.
|
||||||
|
|
||||||
You will be prompted to log in. The default credentials are:
|
You will be prompted to log in. The default credentials are:
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ username: impress
|
|||||||
password: impress
|
password: impress
|
||||||
```
|
```
|
||||||
|
|
||||||
📝 Note that if you need to run them afterwards, you can use the eponym Make rule:
|
📝 Note that if you need to run them afterwards, you can use the eponymous Make rule:
|
||||||
|
|
||||||
```shellscript
|
```shellscript
|
||||||
$ make run
|
$ make run
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ the following command inside your docker container:
|
|||||||
|
|
||||||
## [3.3.0] - 2025-05-22
|
## [3.3.0] - 2025-05-22
|
||||||
|
|
||||||
⚠️ For some advanced features (ex: Export as PDF) Docs relies on XL packages from BlockNote. These are licenced under AGPL-3.0 and are not MIT compatible. You can perfectly use Docs without these packages by setting the environment variable `PUBLISH_AS_MIT` to true. That way you'll build an image of the application without the features that are not MIT compatible. Read the [environment variables documentation](/docs/docs/env.md) for more information.
|
⚠️ For some advanced features (ex: Export as PDF) Docs relies on XL packages from BlockNote. These are licenced under AGPL-3.0 and are not MIT compatible. You can perfectly use Docs without these packages by setting the environment variable `PUBLISH_AS_MIT` to true. That way you'll build an image of the application without the features that are not MIT compatible. Read the [environment variables documentation](/docs/env.md) for more information.
|
||||||
|
|
||||||
The footer is now configurable from a customization file. To override the default one, you can
|
The footer is now configurable from a customization file. To override the default one, you can
|
||||||
use the `THEME_CUSTOMIZATION_FILE_PATH` environment variable to point to your customization file.
|
use the `THEME_CUSTOMIZATION_FILE_PATH` environment variable to point to your customization file.
|
||||||
|
|||||||
@@ -404,7 +404,7 @@ class DocumentViewSet(
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
- Ascending: GET /api/v1.0/documents/?ordering=created_at
|
- Ascending: GET /api/v1.0/documents/?ordering=created_at
|
||||||
- Desceding: GET /api/v1.0/documents/?ordering=-title
|
- Descending: GET /api/v1.0/documents/?ordering=-title
|
||||||
|
|
||||||
### Filtering:
|
### Filtering:
|
||||||
- `is_creator_me=true`: Returns documents created by the current user.
|
- `is_creator_me=true`: Returns documents created by the current user.
|
||||||
|
|||||||
@@ -747,7 +747,7 @@ class Document(MP_Node, BaseModel):
|
|||||||
for ancestor in ancestors_links:
|
for ancestor in ancestors_links:
|
||||||
links_definitions[ancestor["link_reach"]].add(ancestor["link_role"])
|
links_definitions[ancestor["link_reach"]].add(ancestor["link_role"])
|
||||||
|
|
||||||
return dict(links_definitions) # Convert defaultdict back to a normal dict
|
return dict(links_definitions) # Convert default dict back to a normal dict
|
||||||
|
|
||||||
def compute_ancestors_links(self, user):
|
def compute_ancestors_links(self, user):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ test.describe('Config', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe('Config: Not loggued', () => {
|
test.describe('Config: Not logged', () => {
|
||||||
test.use({ storageState: { cookies: [], origins: [] } });
|
test.use({ storageState: { cookies: [], origins: [] } });
|
||||||
|
|
||||||
test('it checks the config api is called', async ({ page }) => {
|
test('it checks the config api is called', async ({ page }) => {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ test.describe('Doc Create', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe('Doc Create: Not loggued', () => {
|
test.describe('Doc Create: Not logged', () => {
|
||||||
test.use({ storageState: { cookies: [], origins: [] } });
|
test.use({ storageState: { cookies: [], origins: [] } });
|
||||||
|
|
||||||
test('it creates a doc server way', async ({
|
test('it creates a doc server way', async ({
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ test.describe('Doc Editor', () => {
|
|||||||
|
|
||||||
const selectVisibility = page.getByLabel('Visibility', { exact: true });
|
const selectVisibility = page.getByLabel('Visibility', { exact: true });
|
||||||
|
|
||||||
// When the visibility is changed, the ws should closed the connection (backend signal)
|
// When the visibility is changed, the ws should close the connection (backend signal)
|
||||||
const wsClosePromise = webSocket.waitForEvent('close');
|
const wsClosePromise = webSocket.waitForEvent('close');
|
||||||
|
|
||||||
await selectVisibility.click();
|
await selectVisibility.click();
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ test.describe('Doc Export', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We cannot assert the line break is visible in the pdf but we can assert the
|
* We cannot assert the line break is visible in the pdf, but we can assert the
|
||||||
* line break is visible in the editor and that the pdf is generated.
|
* line break is visible in the editor and that the pdf is generated.
|
||||||
*/
|
*/
|
||||||
test('it exports the doc with divider', async ({ page, browserName }) => {
|
test('it exports the doc with divider', async ({ page, browserName }) => {
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ test.describe('Doc Routing', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe('Doc Routing: Not loggued', () => {
|
test.describe('Doc Routing: Not logged', () => {
|
||||||
test.use({ storageState: { cookies: [], origins: [] } });
|
test.use({ storageState: { cookies: [], origins: [] } });
|
||||||
|
|
||||||
test('checks redirect to a doc after login', async ({
|
test('checks redirect to a doc after login', async ({
|
||||||
|
|||||||
@@ -295,7 +295,7 @@ test.describe('Doc Visibility: Public', () => {
|
|||||||
).toBeVisible();
|
).toBeVisible();
|
||||||
|
|
||||||
await page.getByLabel('Visibility mode').click();
|
await page.getByLabel('Visibility mode').click();
|
||||||
await page.getByLabel('Edition').click();
|
await page.getByLabel('Editing').click();
|
||||||
|
|
||||||
await expect(
|
await expect(
|
||||||
page.getByText('The document visibility has been updated.').first(),
|
page.getByText('The document visibility has been updated.').first(),
|
||||||
@@ -333,7 +333,7 @@ test.describe('Doc Visibility: Public', () => {
|
|||||||
test.describe('Doc Visibility: Authenticated', () => {
|
test.describe('Doc Visibility: Authenticated', () => {
|
||||||
test.use({ storageState: { cookies: [], origins: [] } });
|
test.use({ storageState: { cookies: [], origins: [] } });
|
||||||
|
|
||||||
test('A doc is not accessible when unauthentified.', async ({
|
test('A doc is not accessible when unauthenticated.', async ({
|
||||||
page,
|
page,
|
||||||
browserName,
|
browserName,
|
||||||
}) => {
|
}) => {
|
||||||
@@ -476,7 +476,7 @@ test.describe('Doc Visibility: Authenticated', () => {
|
|||||||
|
|
||||||
const urlDoc = page.url();
|
const urlDoc = page.url();
|
||||||
await page.getByLabel('Visibility mode').click();
|
await page.getByLabel('Visibility mode').click();
|
||||||
await page.getByLabel('Edition').click();
|
await page.getByLabel('Editing').click();
|
||||||
|
|
||||||
await expect(
|
await expect(
|
||||||
page.getByText('The document visibility has been updated.').first(),
|
page.getByText('The document visibility has been updated.').first(),
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ describe('fetchAPI', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('check the versionning', () => {
|
it('check the versioning', () => {
|
||||||
fetchMock.mock('http://test.jest/api/v2.0/some/url', 200);
|
fetchMock.mock('http://test.jest/api/v2.0/some/url', 200);
|
||||||
|
|
||||||
void fetchAPI('some/url', {}, '2.0');
|
void fetchAPI('some/url', {}, '2.0');
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { DocsExporterPDF } from '../types';
|
|||||||
export const blockMappingParagraphPDF: DocsExporterPDF['mappings']['blockMapping']['paragraph'] =
|
export const blockMappingParagraphPDF: DocsExporterPDF['mappings']['blockMapping']['paragraph'] =
|
||||||
(block, exporter) => {
|
(block, exporter) => {
|
||||||
/**
|
/**
|
||||||
* Breakline in the editor are not rendered in the PDF
|
* Break line in the editor are not rendered in the PDF
|
||||||
* By adding a space if the block is empty we ensure that the block is rendered
|
* By adding a space if the block is empty we ensure that the block is rendered
|
||||||
*/
|
*/
|
||||||
if (Array.isArray(block.content)) {
|
if (Array.isArray(block.content)) {
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export const useTranslatedShareSettings = () => {
|
|||||||
|
|
||||||
const linkModeTranslations = {
|
const linkModeTranslations = {
|
||||||
[LinkRole.READER]: t('Reading'),
|
[LinkRole.READER]: t('Reading'),
|
||||||
[LinkRole.EDITOR]: t('Edition'),
|
[LinkRole.EDITOR]: t('Editing'),
|
||||||
};
|
};
|
||||||
|
|
||||||
const linkReachChoices = {
|
const linkReachChoices = {
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ export class ApiPlugin implements WorkboxPlugin {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When we get an network error.
|
* When we get a network error.
|
||||||
*/
|
*/
|
||||||
handlerDidError: WorkboxPlugin['handlerDidError'] = async ({ request }) => {
|
handlerDidError: WorkboxPlugin['handlerDidError'] = async ({ request }) => {
|
||||||
if (!this.isFetchDidFailed) {
|
if (!this.isFetchDidFailed) {
|
||||||
|
|||||||
Reference in New Issue
Block a user