Skip to content

Commit bb019a4

Browse files
committed
Resetting
1 parent 98b0e90 commit bb019a4

File tree

1,126 files changed

+128921
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,126 files changed

+128921
-0
lines changed

.browserslistrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
> 1%
2+
last 2 versions
3+
not dead

.dockerignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
node_modules
2+
dist
3+
dist_electron
4+
.vs
5+
.vscode
6+
.github
7+
.git
8+
docs
9+
docker

.editorconfig

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
root = true # Top-most EditorConfig file
2+
3+
[*]
4+
end_of_line = lf
5+
6+
[*.{js,jsx,ts,tsx,vue,sh,scss}]
7+
indent_style = space
8+
indent_size = 2
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true
11+
max_line_length = 100
12+
13+
[{Dockerfile}]
14+
indent_style = space
15+
indent_size = 4
16+
17+
[*.py]
18+
indent_size = 4 # PEP 8 (the official Python style guide) recommends using 4 spaces per indentation level
19+
indent_style = space
20+
max_line_length = 100
21+
22+
[*.ps1]
23+
indent_style = space
24+
indent_size = 4
25+
trim_trailing_whitespace = true
26+
insert_final_newline = true
27+
28+
[*.{scss}] # SASS guidelines: https://archive.today/2024.02.16-232553/https://sass-guidelin.es/
29+
indent_style = space
30+
indent_size = 2 # Recommended by SASS guidelines
31+
max_line_length = 100 # Recommended by SASS guidelines
32+
trim_trailing_whitespace = true
33+
insert_final_newline = true

.eslintrc.cjs

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
const { rules: baseStyleRules } = require('eslint-config-airbnb-base/rules/style');
2+
const tsconfigJson = require('./tsconfig.json');
3+
require('@rushstack/eslint-patch/modern-module-resolution');
4+
5+
module.exports = {
6+
root: true,
7+
env: {
8+
node: true,
9+
es2022: true, // add globals and sets parserOptions.ecmaVersion to 2022
10+
},
11+
extends: [
12+
// Vue specific base rules, `eslint-plugin-vue`
13+
'plugin:vue/vue3-recommended',
14+
15+
// Extends `eslint-config-airbnb`
16+
'@vue/eslint-config-airbnb-with-typescript',
17+
18+
// - Sets base parser and plugin options.
19+
// - Includes `plugin:@typescript-eslint/recommended`. But incompatible with
20+
// `strict-type-checked` and `stylistic-type-checked`, see https://github.com/vuejs/eslint-config-typescript/issues/67.
21+
'@vue/typescript/recommended',
22+
],
23+
rules: {
24+
...getOwnRules(),
25+
...getTurnedOffBrokenRules(),
26+
...getOpinionatedRuleOverrides(),
27+
...getTodoRules(),
28+
},
29+
};
30+
31+
function getOwnRules() {
32+
return {
33+
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
34+
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
35+
'linebreak-style': ['error', 'unix'], // This is also enforced in .editorconfig and .gitattributes files
36+
'import/order': [ // Enforce strict import order taking account into aliases
37+
'error',
38+
{
39+
groups: [ // Enforce more strict order than AirBnb
40+
'builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'],
41+
pathGroups: [ // Fix manually configured paths being incorrectly grouped as "external"
42+
...getAliasesFromTsConfig(),
43+
'js-yaml-loader!@/**',
44+
].map((pattern) => ({ pattern, group: 'internal' })),
45+
},
46+
],
47+
};
48+
}
49+
50+
function getTodoRules() { // Should be worked on separate future commits
51+
return {
52+
'import/no-extraneous-dependencies': 'off',
53+
// Accessibility improvements:
54+
'vuejs-accessibility/form-control-has-label': 'off',
55+
'vuejs-accessibility/click-events-have-key-events': 'off',
56+
'vuejs-accessibility/anchor-has-content': 'off',
57+
'vuejs-accessibility/accessible-emoji': 'off',
58+
};
59+
}
60+
61+
function getTurnedOffBrokenRules() {
62+
return {
63+
// Broken in TypeScript
64+
'no-useless-constructor': 'off', // Cannot interpret TypeScript constructors
65+
'no-shadow': 'off', // Fails with TypeScript enums
66+
};
67+
}
68+
69+
function getOpinionatedRuleOverrides() {
70+
return {
71+
// https://erkinekici.com/articles/linting-trap#no-use-before-define
72+
'no-use-before-define': 'off',
73+
'@typescript-eslint/no-use-before-define': 'off',
74+
// https://erkinekici.com/articles/linting-trap#arrow-body-style
75+
'arrow-body-style': 'off',
76+
// https://erkinekici.com/articles/linting-trap#no-plusplus
77+
'no-plusplus': 'off',
78+
// https://erkinekici.com/articles/linting-trap#no-param-reassign
79+
'no-param-reassign': 'off',
80+
// https://erkinekici.com/articles/linting-trap#class-methods-use-this
81+
'class-methods-use-this': 'off',
82+
// https://erkinekici.com/articles/linting-trap#importprefer-default-export
83+
'import/prefer-default-export': 'off',
84+
// https://erkinekici.com/articles/linting-trap#disallowing-for-of
85+
// Original: https://github.com/airbnb/javascript/blob/d8cb404da74c302506f91e5928f30cc75109e74d/packages/eslint-config-airbnb-base/rules/style.js#L333-L351
86+
'no-restricted-syntax': [
87+
baseStyleRules['no-restricted-syntax'][0],
88+
...baseStyleRules['no-restricted-syntax'].slice(1).filter((rule) => rule.selector !== 'ForOfStatement'),
89+
],
90+
};
91+
}
92+
93+
function getAliasesFromTsConfig() {
94+
return Object.keys(tsconfigJson.compilerOptions.paths)
95+
.map((path) => `${path}*`);
96+
}

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Prevent Git from auto-converting to CRLF on Windows, and convert to LF on checkin.
2+
# * : All files
3+
# text=auto : If Git decides content it text, it converts CRLF to LF on checkin.
4+
# eol=lf : forces Git to normalize line endings to LF on checkin and prevents conversion
5+
# to CRLF when the file is checked out.
6+
* text=auto eol=lf

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github: undergroundwires
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
name: "Bug Report: Script Issues"
2+
description: 🐛 Report issues with generated scripts to enhance privacy.sexy
3+
labels: [ 'bug' ]
4+
title: '[Bug]: '
5+
body:
6+
-
7+
type: markdown
8+
attributes:
9+
value: |-
10+
Thank you for contributing to privacy.sexy and guiding our direction! 🌟
11+
Please complete as much of the form below as possible.
12+
Your feedback is valuable, even if you can't provide all details.
13+
-
14+
type: textarea
15+
attributes:
16+
label: Description
17+
description: A clear and concise description of what the bug is.
18+
placeholder: >-
19+
For example: "After running the cleanup script, music playback stopped functioning."
20+
validations:
21+
required: true
22+
-
23+
type: textarea
24+
attributes:
25+
label: How can the bug be recreated?
26+
description: |-
27+
This is the most important information in the bug report.
28+
Bugs that cannot be reproduced cannot be fixed or verified.
29+
placeholder: |-
30+
1. Go to '...'
31+
2. Click on '....'
32+
3. Scroll down to '....'
33+
4. See error
34+
validations:
35+
required: true
36+
-
37+
type: textarea
38+
attributes:
39+
label: Operating system
40+
description: |-
41+
Please specify your operating system and its version.
42+
43+
- On Windows: Open "Start button" > "Settings" > "System" > "About".
44+
- On macOS: Open "Apple menu (top left corner)" > "About This Mac".
45+
- On Linux: Open terminal > type: lsb_release -a > copy paste the result.
46+
placeholder: >-
47+
For example: "Windows 11 Pro 22H3"
48+
validations:
49+
required: false
50+
-
51+
type: textarea
52+
attributes:
53+
label: Script file
54+
description: |-
55+
If applicable, share the generated privacy.sexy file.
56+
57+
GitHub may restrict script file attachments.
58+
Upload your script file to a service like [GitHub Gist](https://gist.github.com/) and share the link here.
59+
60+
If you used the desktop version to run the script, it is already stored on your system.
61+
See the [documentation to locate it](https://github.com/undergroundwires/privacy.sexy/blob/master/docs/desktop/desktop-vs-web-features.md#secure-script-executionstorage).
62+
63+
> **💡 Tip:** You can attach script files by dragging them into this area.
64+
placeholder: |-
65+
Attach the script, or post GitHub Gist link.
66+
For example: https://gist.github.com/privacysexy-forks/6d85ad8ca27acc8c6a5417d4af28c9b6.
67+
validations:
68+
required: false
69+
-
70+
type: textarea
71+
attributes:
72+
label: Screenshots
73+
description: |-
74+
If applicable, add screenshots to help explain your problem.
75+
76+
> **💡 Tip:** You can attach screenshots by clicking this area to highlight it and then pasting them or dragging files in.
77+
placeholder: Attach screenshots here or link to image hosting.
78+
validations:
79+
required: false
80+
-
81+
type: textarea
82+
attributes:
83+
label: Additional information
84+
description: |-
85+
If applicable, add any other context about the problem here.
86+
87+
Helpful information includes:
88+
89+
- Application logs (desktop version only), see: [how to find application logs](https://github.com/undergroundwires/privacy.sexy/blob/master/docs/desktop/desktop-vs-web-features.md#logging).
90+
- Terminal output
91+
- Proposed solutions
92+
- Other related context such as related issues, software behavior, etc.
93+
94+
> **💡 Tip:** You can attach log files by dragging them into this area.
95+
placeholder: >-
96+
For example: "Here are the logs I get from the privacy.sexy 0.13.2 desktop application: ..."
97+
validations:
98+
required: false
99+
-
100+
type: markdown
101+
attributes:
102+
value: |-
103+
---
104+
105+
**✉️ A friendly note from the maintainer:**
106+
107+
> [!NOTE]
108+
> We are a small open-source project with a small community.
109+
> It can sometimes take a long time for issues to be addressed, so please be patient.
110+
> Consider [donating](https://undergroundwires.dev/donate) to keep privacy.sexy alive and improve support ❤️.
111+
> But your issue will eventually get attention regardless.
112+
> <p align="right">@undergroundwires</p>
113+
114+
---
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: "Bug Report: General"
2+
description: 🐛 Report general issues to enhance privacy.sexy
3+
labels: [ 'bug' ]
4+
title: '[Bug]: '
5+
body:
6+
-
7+
type: markdown
8+
attributes:
9+
value: |-
10+
Thank you for contributing to privacy.sexy and guiding our direction! 🌟
11+
Please complete as much of the form below as possible.
12+
Your feedback is valuable, even if you can't provide all details.
13+
-
14+
type: textarea
15+
attributes:
16+
label: Description
17+
description: Provide a clear and concise description of the issue.
18+
placeholder: >-
19+
For example: "I cannot select any scripts."
20+
validations:
21+
required: true
22+
-
23+
type: textarea
24+
attributes:
25+
label: Reproduction steps
26+
description: |-
27+
This is the most important information in the bug report.
28+
Bugs that cannot be reproduced cannot be fixed or verified.
29+
placeholder: |-
30+
1. Go to '...'
31+
2. Click on '....'
32+
3. Scroll down to '....'
33+
4. See error
34+
validations:
35+
required: true
36+
-
37+
type: textarea
38+
attributes:
39+
label: Expected behavior
40+
description: Describe what you expected to happen when the error occurred.
41+
placeholder: >-
42+
For example: "I expected the settings menu to open smoothly without crashing.".
43+
validations:
44+
required: true
45+
-
46+
type: textarea
47+
attributes:
48+
label: Screenshots
49+
description: |-
50+
If applicable, add screenshots to help explain your problem.
51+
52+
> **💡 Tip:** You can attach screenshots by clicking this area to highlight it and then pasting them or dragging files in.
53+
placeholder: >-
54+
Attach screenshots here or link to image hosting.
55+
validations:
56+
required: false
57+
-
58+
type: textarea
59+
attributes:
60+
label: privacy.sexy environment details
61+
description: |-
62+
If applicable, mention how you were using privacy.sexy when the bug occurred:
63+
64+
- Web (on which operating system and browser?)
65+
- Or desktop (Windows, macOS, or Linux?)
66+
placeholder: >-
67+
For example: "The web version on Edge browser on Windows 11 23H2."
68+
validations:
69+
required: false
70+
-
71+
type: textarea
72+
attributes:
73+
label: Additional context
74+
description: |-
75+
If applicable, add any other context about the problem here.
76+
77+
Helpful information includes:
78+
79+
- Application logs (desktop version only), see: [how to find application logs](https://github.com/undergroundwires/privacy.sexy/blob/master/docs/desktop/desktop-vs-web-features.md#logging).
80+
- Terminal output
81+
- Proposed solutions
82+
- Other related context such as related issues, software behavior, etc.
83+
84+
> **💡 Tip:** You can attach log files by dragging them into this area.
85+
placeholder: >-
86+
For example: "Here are the logs I get from the privacy.sexy 0.13.2 desktop application: ..."
87+
validations:
88+
required: false
89+
-
90+
type: markdown
91+
attributes:
92+
value: |-
93+
---
94+
95+
**✉️ A friendly note from the maintainer:**
96+
97+
> [!NOTE]
98+
> We are a small open-source project with a small community.
99+
> It can sometimes take a long time for issues to be addressed, so please be patient.
100+
> Consider [donating](https://undergroundwires.dev/donate) to keep privacy.sexy alive and improve support ❤️.
101+
> But your issue will eventually get attention regardless.
102+
> <p align="right">@undergroundwires</p>
103+
104+
---

0 commit comments

Comments
 (0)