rugk
1cc811644f
docs: improve JSDoc
2026-02-23 16:00:31 +00:00
rugk
5fd974e247
style: fix/remove trailing comma
2026-02-23 16:00:22 +00:00
rugk
30f80d055b
wipfix: fix JS syntax errors
2026-02-23 15:54:56 +00:00
rugk
5dab2392b9
Merge branch 'master' into xss/jsImprove
2026-02-23 16:48:21 +01:00
rugk
69e37c2c04
refactor: introduce purifyHtmlConfigStrictSubset
2026-02-23 16:45:31 +01:00
rugk
dcaa019599
refactor: use modern spread syntax for combining object
...
Given it's 2026 this really should be supported by all browsers now: https://caniuse.com/mdn-javascript_operators_spread,mdn-javascript_operators_spread_spread_in_arrays,mdn-javascript_operators_spread_spread_in_function_calls,mdn-javascript_operators_spread_spread_in_object_literals
2026-02-23 16:36:46 +01:00
rugk
7e506c7f83
refactor: drastically simplify JS "has HTML" extension again
...
Co-authored-by: El RIDO <elrido@gmx.net >
2026-02-23 16:31:13 +01:00
Stephan Kristyn
5d22847ef1
ES6 Compat code broke everything. Reverting. E2E testing wth multiple files works
2026-02-12 13:48:49 +01:00
Stephan Kristyn
cfea0fb20e
Now leaving styling to customer if he wants the filename and filesize as a hyperlink or outside the hyperlink
2026-02-11 19:03:34 +01:00
Stephan Kristyn
755be747a6
Refactoring the way DOM element is created and styled. Now leaving styling to customer
2026-02-11 18:41:44 +01:00
Stephan Kristyn
9ab16674aa
Adding Bootstrap Classname to dynamically created child element
2026-02-10 18:22:17 +01:00
Stephan Kristyn
e2b4b8a7f8
Adding new DOM element, CSS and JS code
2026-02-10 14:36:03 +01:00
El RIDO
ec656a5456
credit Persian translation & enable use of Persian plurals
2026-02-06 19:15:02 +01:00
Ali Fani
6a0fd6fb44
Add Persian (fa) language support and update supported languages list
2026-02-06 11:23:14 +03:30
El RIDO
a1c8966a36
Merge branch 'master' into linter-semicolon-insertion
2026-01-28 07:33:58 +01:00
El RIDO
a4eaa77b82
address semicolon insertion lint
...
> Code that uses automatic semicolon insertion inconsistently is hard to read and maintain.
See: https://github.com/PrivateBin/PrivateBin/security/quality/rules/js%2Fautomatic-semicolon-insertion
2026-01-25 09:41:52 +01:00
El RIDO
0ed48c455f
address unneeded defensive code lint
...
IMHO this check is actually necessary, as we do call the function with an empty argument. So we need a guard there, but we could simplify it a bit, by making the argument an empty array by default. I still kept the check for undefined (line 3249, first check) in case the caller passes us an undefined variable.
See: https://github.com/PrivateBin/PrivateBin/security/quality/rules/js%2Funneeded-defensive-code - Copilot suggested to simply remove the if-condition and its else block, which I think is wrong.
2026-01-25 09:26:14 +01:00
Ribas160
b1f57bddd1
Fix eslint errors
2025-12-14 09:18:56 +02:00
Ribas160
ed9b3d1aa0
fix: The content format is not reset on create a new or clone document
2025-12-14 09:08:48 +02:00
Ribas160
54d002d26f
fix: Attachment disappears after a "paste" in the message area
2025-12-09 15:43:59 +02:00
El RIDO
aa931c7a5c
enable Swedish translations
2025-12-02 06:40:07 +01:00
rugk
ad55131831
refactor: use given HTML config for DOMPurify
2025-11-15 09:57:39 +00:00
rugk
f6893d338b
refactor: use DOMParser for checking if translation is HTML
2025-11-13 13:34:51 +00:00
El RIDO
e427458cd0
Merge branch 'master' into advisory-fix-1
2025-11-11 22:00:09 +01:00
Mikhail Romanov
ff5aee85b4
Insert file names as break-separated text nodes
...
Co-authored-by: El RIDO <elrido@gmx.net >
2025-11-11 20:05:32 +02:00
Ribas160
9c71fbcc70
Use pure JavaScript to create a div element
2025-11-11 17:45:27 +02:00
Ribas160
14b68af528
Insert drag and drop file names as a text, not html
2025-11-10 17:59:18 +02:00
Ribas160
a7b253a43a
fix: error fetching attachments from blob
2025-11-05 17:33:08 +02:00
El RIDO
a91d0afebd
ensure there is still a space between commenter icon and name
2025-10-28 16:35:58 +01:00
El RIDO
c4f8482b30
Refactored jQuery DOM element creation
...
using plain JavaScript, to ensure text nodes are sanitized
2025-10-25 12:56:55 +02:00
rugk
851befb39d
Merge branch 'master' into eslint
2025-10-08 18:31:10 +02:00
El RIDO
e7c2aa4d60
address eslint errors
2025-10-07 00:11:49 +02:00
El RIDO
f0560bcc27
address eslint errors
2025-10-06 23:47:08 +02:00
El RIDO
23624d693c
shorten show password message
...
as per suggestion of @rugk during review
2025-10-06 22:08:04 +02:00
rugk
1250c4009b
style(js): fix auto-fixable problems in privatebin.js
2025-10-06 17:27:38 +00:00
El RIDO
7f93242279
upgrade eslint config and remove workaround for implicit globals
...
we seem to have used eslint through codeclimate in the past, but that service seems no longer integrated, possibly due to no longer being free
2025-10-06 18:30:19 +02:00
El RIDO
2e5d6dddac
Merge branch 'master' into karthikkasturi-master
2025-10-05 09:51:34 +02:00
El RIDO
d50231a531
apply suggestions to use existing bootstrap icons
...
as per discussion in https://github.com/PrivateBin/PrivateBin/pull/1647#discussion_r2345917795
2025-10-05 09:47:39 +02:00
El RIDO
f03f2bf28d
simplify cache breaker extraction
2025-09-25 22:06:38 +02:00
TW - Vincent
9b496acde5
Update privatebin.js
2025-09-21 19:02:12 +02:00
TW - Vincent
b0df8e10f5
Update privatebin.js
2025-09-21 19:01:30 +02:00
TW - Vincent
1967c05a88
Update privatebin.js
2025-09-21 18:31:54 +02:00
Karthik Kasturi
f9c958da90
Password peek 🫣
2025-09-11 21:34:12 +00:00
Karthik Kasturi
059e64adb1
Auto Shortening URLs
2025-08-14 00:29:28 +01:00
Karthik Kasturi
ce188671db
Update Copy Link url after short url is generated
2025-08-05 01:14:37 +05:30
Nicolas Lepage
13f5922397
fix: attach paste listener on message field
...
paste listener prevents default behavior in unexpected cases
such as pasting a password in the passworddecrypt field
attaching the paste listener on the message field
instead of the whole document should fix this problem
2025-07-31 16:14:13 +02:00
El RIDO
ddd2d72064
replaced the term "paste" with the more generic "document"
...
Some of the references to "paste" in code or comments got changed as well, but to clarify the intended usage of the terms:
- A PrivateBin document can consist of a paste text (key "paste" in the encrypted payload) and one or several attachments and discussion entries.
- Internally the root document is called a "Paste" and each discussion entry is called a "Discussion".
- When referring to a whole document with one paste and optional discussion(s), we call it just "document".
- When talking about a particular JSON payload type in the internal logic, i.e. during storage or transmission, we call them a paste or discussion to distinguish which type we refer to.
closes #397
2025-07-24 10:46:31 +02:00
Ribas160
5d119768c3
JavaScript unit tests for new SI units added, privatebin.js SRI updated
2025-07-24 00:33:38 +03:00
Mikhail Romanov
390f8ddc53
The rest of SI units added
...
Co-authored-by: El RIDO <elrido@gmx.net >
2025-07-24 00:20:33 +03:00
Ribas160
863cb89ad9
Switch from binary bytes to SI-units
2025-07-23 21:06:20 +03:00