Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1999 commits
Select commit Hold shift + click to select a range
d0aa646
refactor: SettingsManager.getLocalPreferences(): remove if (localPref…
stokito Jan 12, 2026
ad48e52
SPARK-2382: SettingsManager: don't create the spark.properties file i…
stokito Jan 12, 2026
53a5dc0
SettingsManager: add a delay before saving settings
stokito Jan 12, 2026
cb7f22d
SettingsManager: setUpAutostart()
stokito Jan 12, 2026
b26c5fa
refactor: PasswordDialog: reformat
stokito Jan 13, 2026
1c5ac0a
refactor: PasswordDialog: use SettingsManager instead of manual save …
stokito Jan 13, 2026
808c851
refactor: PasswordDialog: move password encryption into LocalPreferences
stokito Jan 13, 2026
0413360
fix: KeyStroke.getKeyStroke("ctrl"), not "Ctrl"
stokito Jan 13, 2026
17ef610
refactor: replace SettingsManager.getRelodLocalPreferences() with get…
stokito Jan 13, 2026
2ae7010
refactor: remove unused params nickname and password from ConferenceU…
stokito Jan 13, 2026
d3b8d09
refactor: InviteSwingWorker use Collection instead of Set for invitee…
stokito Jan 13, 2026
abfbadc
JoinRoomSwingWorker: remove unused constructors
stokito Jan 15, 2026
2a34052
refactor: enterRoom() change tabTitle to the EntityBareJid because it…
stokito Jan 13, 2026
6dd1755
refactor: enterRoom() remove muc param because it's used to just get …
stokito Jan 13, 2026
7dc2126
refactor: replace enterRoom() with enterRoomOnSameThread()
stokito Jan 13, 2026
6841cb6
refactor: Reformat
stokito Jan 13, 2026
19d5a06
fix: UriManager.retrievePassword() decode URL-encoded password value
stokito Jan 13, 2026
df252c6
refactor: ChatManager.handleURIMapping(): check protocol an beginning
stokito Jan 13, 2026
13dea6c
SPARK-2384: fix: ChatManager.handleURIMapping(): use Java parsing for…
stokito Jan 15, 2026
7a7010e
ChatManager.handleURIMapping(): reformat
stokito Jan 16, 2026
6890d0e
ChatManager.handleURIMapping(): extract command from query
stokito Jan 16, 2026
a855b37
ChatManager.handleURIMapping(): simplify UriManager.uritypes enum and…
stokito Jan 16, 2026
157095a
Move ChatManager.handleURIMapping() into UriManager and use the UriMa…
stokito Jan 16, 2026
01052b7
SPARK-2384: allow xmpp:JID as link in chat messages and handle it cor…
stokito Jan 16, 2026
8fc9fd6
SPARK-2384: extract UriManager.retrieveParam()
stokito Jan 16, 2026
25258e1
SPARK-2384: make UriManager.retrieveJID() to return null and handle i…
stokito Jan 16, 2026
8546f32
refactor: SoundPreference: reformat
stokito Jan 24, 2026
471dd55
Move ChatRequestSound used by fastpath to Sound settings
stokito Jan 24, 2026
546e7ce
SoundPreference: improve file chooser
stokito Jan 25, 2026
6673ef1
SPARK-2385: migrate to javax.sound.sampled API for sound management
stokito Jan 27, 2026
2acc91c
SPARK-2385: catch and log exceptions
stokito Jan 27, 2026
7160eef
PreferenceManager.getPreferences(): use map.values()
stokito Jan 27, 2026
c97ea47
SoundPreferences: tolerate unknown (new) options
stokito Jan 27, 2026
a27fe3a
SoundManager: play sound based on event
stokito Jan 27, 2026
a02fec2
SoundManager: add more fallbacks for audio
stokito Jan 27, 2026
1e3bed3
SPARK-2385: reduce sound file quality for better compatibility and pe…
stokito Jan 27, 2026
1789f42
fix: BroadcastHistoryFrame exceptions on missing file
stokito Jan 30, 2026
6ddc17f
fix VersionViewer
stokito Jan 30, 2026
f3727ad
SPARK-2017: Upgrade Java version to 11
stokito Jan 30, 2026
8cedfc6
Use UTF_8 constant for encoding
stokito Jan 30, 2026
b956e91
SPARK-2336: Remove PLUGIN_REPOSITORY_USE_PROXY config and always use …
stokito Aug 31, 2024
0b7b4e1
SPARK-2336: Use system HTTP client that will initialize proxy itself
stokito Jan 30, 2026
a18a6cf
SPARK-2380: insertPicture(): check for 200 status and download image …
stokito Jan 8, 2026
d356f3f
SPARK-2380: insertPicture(): split download logic into separate HttpD…
stokito Jan 8, 2026
16654a9
SPARK-2380: move links preview logic to a separate package for future…
stokito Jan 8, 2026
53e0c72
SPARK-2380: make a pre-flight HEAD request to check file size before …
stokito Jan 8, 2026
82bc392
SPARK-2341 AccountCreationWizard: make the domain as a first field
stokito Aug 24, 2024
6c65e12
SPARK-2341 AccountCreationWizard: make serverField as a combo box wit…
stokito Aug 24, 2024
d455eef
SPARK-2341 Rename Accounts button to Sign Up
stokito Aug 24, 2024
537b7f3
AccountCreationWizard: init components and only then build layout
stokito Aug 26, 2024
672d6df
AccountCreationWizard: extract fields to a separate formPanel
stokito Aug 26, 2024
e2c148e
AccountCreationWizard: if registration not allowed the Prosody return…
stokito Aug 26, 2024
d8a016b
SPARK-2341 AccountCreationWizard: Start registration button to check …
stokito Aug 26, 2024
8f71992
AccountCreationWizard: add empty line in layout for adding a new panel
stokito Aug 26, 2024
f50b3c9
SPARK-2341 AccountCreationWizard: Show additional registration fields
stokito Aug 26, 2024
fe74fc3
SPARK-2341 Hide instructions by default
stokito Aug 28, 2024
3e2fc41
SPARK-2341 Show instructions from registrationForm
stokito Aug 28, 2024
2c152cd
SPARK-2341 Enable all providers and download a list
stokito Aug 31, 2024
7aa033d
XmppProviders.downloadProvidersList(): use executeOpen and close resp…
stokito Sep 1, 2024
40c7d03
XmppProviders.getXmppProvidersModel(): return a List<String>
stokito Sep 1, 2024
3b32535
SPARK-2341 Show CAPTCHA image
stokito Sep 1, 2024
994963d
startup scripts: remove deprecated options
stokito Jan 31, 2026
3acb963
startup.bat: remove jdic.jar
stokito Jan 31, 2026
a619bf2
PluginManager: remove unnecessary checksum logging
stokito Jan 31, 2026
58dafd0
changelog.html: fix JIRA link
stokito Jan 31, 2026
afd4702
SPARK-2387: remove jniwrap.dll and jniwrap.lic
stokito Jan 31, 2026
70c9a67
SPARK-2387: remove systeminfo.dll
stokito Jan 31, 2026
a629f4a
SPARK-2387: remove JavaSoundStream.fix.jar and PkgInfo
stokito Jan 31, 2026
5969e9b
SPARK-2017: spark.install4j set minimal Java version to 11
stokito Jan 31, 2026
12b6215
SPARK-2017: spark.install4j: remove builds for 32-bit platforms
stokito Jan 31, 2026
2adca77
SPARK-2017: spark.install4j: remove libs for 32-bit platforms
stokito Jan 31, 2026
c14bd02
SPARK-2017: spark.install4j: remove classpath scan in the native libr…
stokito Jan 31, 2026
203f2fd
SPARK-2017: Update Install4J 12.0.2
stokito Jan 31, 2026
fa8f363
spark.install4j: sort lang codes
stokito Jan 31, 2026
32b754d
SPARK-2017: spark.install4j: Add JRE 25 bundle to installers
stokito Jan 31, 2026
9b2e0b3
SPARK-2017: spark.install4j: Install4J auto converted own config to v12
stokito Jan 31, 2026
5f2d3dc
SPARK-2017: spark.install4j: bundle with JBR JRE 25
stokito Jan 31, 2026
05c9638
LoginUIPanel: catch password decryption exception
stokito Jan 16, 2026
7b77198
LoginUIPanel: use validateDialog() to enable login button
stokito Jan 16, 2026
f08a781
LoginUIPanel: JidCreate to parse folder names
stokito Jan 16, 2026
0f9914b
SPARK-2365: Register Spark as a URL handler for 'xmpp:'
guusdk Oct 10, 2025
9c87653
SPARK-2365: spark.install4j: Linux: handle xmpp:
stokito Jan 31, 2026
b74fc72
reformat emoticons
stokito Feb 1, 2026
4ac1842
battleships: fix plugin compilation
stokito Feb 1, 2026
a3fd237
createEmoticonButton(): don't fail if there is no emoticons
stokito Feb 1, 2026
1b6aa80
SPARK-2388: Remove LoboBrowser
stokito Feb 1, 2026
189b25b
Remove @NotNull from org.jetbrains.annotations
stokito Feb 1, 2026
7b2cc9e
rm spelling build.xml
stokito Feb 1, 2026
f4a7808
plugins: optimize PNG files
stokito Feb 1, 2026
1eaffe3
reversi: remove PSD files
stokito Feb 1, 2026
9d5605c
Spark.isWindows() isLinux() isMac(): use Apache Commons constants
stokito Feb 1, 2026
cc3b62c
Spark.loadLanguage(): set locale without checking for a better speed
stokito Feb 1, 2026
112b5bf
SPARK-2378: fix concurrent modification on tabs closing
stokito Feb 1, 2026
8b15879
PluginManager: log unsupported plugin
stokito Feb 1, 2026
83ffdd0
Update version to 3.1.0-SNAPSHOT
stokito Feb 1, 2026
4933af4
battleships: fix plugin.xml
stokito Feb 1, 2026
333aed6
SPARK-2366: Include Content Type when using File Upload
guusdk Feb 1, 2026
301a405
reformat Upload Plugin
stokito Feb 2, 2026
b01c365
getJidOnline() that returns null if user is offline
stokito Feb 2, 2026
ab49ccb
fix battleships packets
stokito Feb 2, 2026
6b07afe
Update plugin versions and homepage URL
stokito Feb 2, 2026
2fe13d7
UserSearchService: use ArrayList instead of HashSet to minimize memor…
stokito Feb 2, 2026
294801f
jingle plugin: fix package name
stokito Feb 2, 2026
fab14cf
make jingle and phone plugins compilable
stokito Feb 2, 2026
97d5e08
ConferenceRoomBrowser: better handle error
stokito Jan 29, 2026
111aed4
Chat form.setAnswer(): Use constants MucConfigFormManager
stokito Jan 29, 2026
336559d
SPARK-2386: Create room: don't set yourself as an owner because this …
stokito Jan 30, 2026
c33a48c
reformat RoomCreationDialog
stokito Jan 30, 2026
5f1cc74
reformat RoomCreationDialog: rearrange components
stokito Jan 30, 2026
982db7e
RoomCreationDialog: show password only if hasPassword selected
stokito Jan 30, 2026
444c1ac
RoomCreationDialog: rename title.create.or.join to title.create.room
stokito Jan 30, 2026
c83f30e
SPARK-2386: Create room: make rooms public and persistent by default
stokito Jan 30, 2026
7df9e20
SPARK-2386: Create private room: set password protection field only i…
stokito Jan 30, 2026
5b636fc
reformat ConferenceRoomBrowser
stokito Jan 30, 2026
764ec49
ConferenceRoomBrowser: always show room list bigger as for German
stokito Jan 30, 2026
f0d800d
ConferenceRoomBrowser: show empty string if unable to get count of oc…
stokito Jan 30, 2026
45a0b5a
ConferenceRoomBrowser: improve room list retrieval and display
stokito Feb 3, 2026
0ca7483
SPARK-2386: ConferenceRoomBrowser: remove autojoin popup item
stokito Feb 3, 2026
f6cbbe1
SPARK-2386: ConferenceRoomBrowser: rework room popup menu
stokito Feb 3, 2026
0dbcbd3
fix: addToTranscript() missing body
stokito Feb 5, 2026
f6ccf4f
ChatRoom: Improve nickname matching
stokito Feb 5, 2026
0e20fdc
treewide refactoring:
stokito Feb 5, 2026
292264d
ConferenceRoomBrowser: move bookmark logic to BookmarksUI and simplify
stokito Feb 5, 2026
b98dba4
ConferenceRoomBrowser: use RoomInfo directly
stokito Feb 5, 2026
7005312
conferences: cleanup and refactor
stokito Feb 6, 2026
feef594
Improve Chat Room Configuration dialog
stokito Feb 6, 2026
29a129d
Replace ConferenceUtils.isPasswordRequired() with RoomInfo
stokito Feb 7, 2026
1a25f48
DataFormUI reformat
stokito Feb 7, 2026
a25b0f9
DataFormUI reformat
stokito Feb 7, 2026
2701a23
Cleanup and reformat AccountCreationWizard
stokito Feb 7, 2026
56561d5
Improve DataFormUI
stokito Feb 7, 2026
4960beb
DataFormDialog: Use DataFormUI
stokito Feb 7, 2026
81b57e1
AnswerFormDialog: Use DataFormUI
stokito Feb 8, 2026
e972e44
AnswerFormDialog: pre-fill nickname
stokito Feb 8, 2026
531cb9a
ConferenceServices: assume MUC is always supported to not waste a time
stokito Feb 8, 2026
5a50ff8
ConferenceServices: load bookmarks without a delay
stokito Feb 8, 2026
e8bd178
Remove macros support
stokito Feb 8, 2026
0421abf
SPARK-2381: fix CarbonExtension parsing
stokito Feb 8, 2026
d9026b3
core resources/images: optimize PNGs
stokito Feb 8, 2026
a70a97e
disable from compilation battleships, phone, jingle
stokito Feb 8, 2026
afd007e
PluginManager: reduce loggging
stokito Feb 9, 2026
e45db67
LanguagePlugin: don't load resources but just list i18n files
stokito Feb 9, 2026
331d1d8
Update Smack to 4.5.0-rc1
stokito Feb 9, 2026
1d8c866
Remove CompareLocales: this is made by i18n tools
stokito Feb 9, 2026
107a0e2
pom.xml: remove phone module exclusion and manifest entries
stokito Feb 9, 2026
abcf311
core assembly: remove documentation files
stokito Feb 9, 2026
8d2f609
core assembly: remove resource/startup.bat duplicated with bin/startu…
stokito Feb 9, 2026
1be5d6c
core assembly: move files from resource (i.e. jar) to dist directory
stokito Feb 9, 2026
f7aab21
core assembly: remove message style themes from Adium
stokito Feb 9, 2026
321ff0a
core assembly: remove message style themes from Adium
stokito Feb 10, 2026
5bd68c7
LanguagePlugin: fix list i18n files from jar
stokito Feb 10, 2026
ab95a6d
Install4J: rename application name because it's used as /Program File…
stokito Feb 10, 2026
539feca
Copy plugins description from plugins.xml
stokito Feb 10, 2026
0290097
SPARK-2382: SettingsManager: save settings automatically on shutdown
stokito Feb 10, 2026
cc1e4fa
Reformat BuzzPlugin
stokito Feb 10, 2026
768ca67
SPARK-1314: BuzzPlugin announce Attention support in Spark so that Pi…
stokito Feb 10, 2026
b558acb
SPARK-1314: BuzzRoomDecorator: attention message should be of headlin…
stokito Feb 11, 2026
c09dae8
SPARK-1605: Show the Attention Buzz button only if the contact's clie…
stokito Feb 11, 2026
ebf593f
Jabber Browser: reformat
stokito Feb 11, 2026
ee582e3
Jabber Browser: add menu to Actions and fix empty name display
stokito Feb 11, 2026
dc73143
SipAccountPacket: use getDiscoveredItems()
stokito Feb 11, 2026
da59bd9
Improve Jid creation and handling
stokito Feb 11, 2026
d7ca437
BroadcastDialog.sendBroadcasts(): improve
stokito Feb 11, 2026
ee7b97f
BroadcastDialog.sendBroadcasts(): improve recipients
stokito Feb 11, 2026
db98456
BuzzPlugin: detect Attention support asynchronously
stokito Feb 13, 2026
c63fdaf
RawPacketSender: reformat
stokito Feb 13, 2026
8cb1ad4
RawPacketSender: autogenerate stanza id, add stanza samples, autocapt…
stokito Feb 13, 2026
d8be44b
UIComponentRegistry.instantiate(): reduce logging
stokito Feb 13, 2026
8a326f4
MessageEntry: remove duplicated constructors
stokito Feb 13, 2026
28e8ab3
Use SAXReader.createDefault() that sets default features to avoid CVE…
stokito Feb 14, 2026
a2dd583
PluginManager: refactor
stokito Feb 14, 2026
58cb51f
SPARK-2390: PluginManager: avoid parsing of plugins.xml and initializ…
stokito Feb 14, 2026
b5dc89b
Use ChatRoomListener with default empty implementation instead of the…
stokito Feb 14, 2026
08814f7
SPARK-2381: Use CarbonExtension.from(Message) to properly get a Carbo…
stokito Feb 14, 2026
53cc9f6
SwingWorker: make value field volatile to avoid synchronized getter a…
stokito Feb 14, 2026
d79421c
AvatarPanel and VCardEditor: reformat
stokito Feb 15, 2026
a74852a
AvatarPanel: remove suggestion message and size check
stokito Feb 16, 2026
f80e733
SPARK-2391: Show crop photo dialog
stokito Feb 21, 2026
0e71283
SPARK-2391: Remove the square size check as it's not possible anymore
stokito Feb 21, 2026
f7e99b6
StatusBar: call the allowProfileEditing() only once
stokito Feb 21, 2026
510c418
ImageCropDialog: i18n
stokito Feb 22, 2026
b7dae4f
Extract image size constants into a single place Sizes
stokito Feb 22, 2026
4608d92
LoginUIPanel: use separate actionPerformed methods for buttons
stokito Mar 6, 2026
1ad2439
pom.xml: update dependencies
stokito Mar 6, 2026
1428f8c
SPARK-2363: Update OWASP plugin from 4.0.2 to 12.1.6
guusdk Oct 10, 2025
25e5d9d
Void NPE when roomInfo is null
stokito Mar 7, 2026
12963e9
VCardManager: Use getUserBareAddress()
stokito Mar 7, 2026
9e56545
SoundPlugin: Ignore own presence updates and messages
stokito Mar 7, 2026
ce21265
SPARK-2392: Use XEP-0392: Consistent Color Generation for nicknames i…
stokito Mar 9, 2026
9a9764f
TranscriptWindow.getLastUpdated(): return null instead of epoch date …
stokito Mar 9, 2026
bd1852e
GroupChatParticipantList: Retry changing nickname
stokito Mar 11, 2026
731836a
GroupChatRoom: Reuse compiled Nickname regexp
stokito Mar 11, 2026
e99754b
GroupChatRoom: make currentUserList modification synchronized
stokito Mar 11, 2026
29fd78e
GroupChatRoom: handlePresencePacket() avoid new HashSet<>() allocation
stokito Mar 11, 2026
b5a1e50
GroupChatRoom: use getNickname()
stokito Mar 12, 2026
c75daa4
Workspace: fix gramar
stokito Mar 12, 2026
6588f91
Workspace: get nickname similarly
stokito Mar 12, 2026
912a437
Use VCard full Name field (FN) instead of manual concatenation of fir…
stokito Mar 12, 2026
06a2d5a
Remove empty methods in listeners
stokito Mar 12, 2026
9619db3
VCardManager: fileName in base64 now doesn't have lines
stokito Mar 12, 2026
e87b5b1
TranscriptWindow: convert nickname to string only once
stokito Mar 12, 2026
9d3217d
TranscriptWindow: don't add Offline prefix to body
stokito Mar 12, 2026
4593499
TranscriptWindow: get message body in preferred language if available,
stokito Mar 12, 2026
f93dae5
MessageFilter.filterIncoming() to accept MessageBuilder instead
stokito Mar 12, 2026
b7b28db
fastpath Workpane: refactor
stokito Mar 13, 2026
0819862
Fix plugin deactivation handling
stokito Mar 13, 2026
2a991fc
MessageEntry: Optimize DIRECTIVE_CHARS: use String instead of List fo…
stokito Mar 13, 2026
daa724f
ChatManager: cleanup
stokito Mar 13, 2026
91a62f9
ChatRoomImpl and GroupChatRoom: refactor
stokito Mar 13, 2026
b12d779
ChatManager.fireGlobalMessageReceivedListeners() fix typo
stokito Mar 13, 2026
fee7c0c
ChatTranscriptPlugin.persistChatRoom(): optimize
stokito Mar 13, 2026
1988a0f
ChatRoom.insertMessage() to return modified message
stokito Mar 13, 2026
aeab1e4
SPARK-1610: Fix Translation Plugin and add it for MUCs
stokito Mar 12, 2026
d538baa
SPARK-2255: Remove indicator of TLS in Spark UI
stokito Mar 13, 2026
92c23f0
Use Objects.requireNonNull()
stokito Mar 13, 2026
740519c
Use ConsistentColor XEP-0392 for MUC JID
stokito Mar 15, 2026
a742f8a
Use sendIqRequestAndWaitForResponse()
stokito Mar 15, 2026
6b1894d
CheckUpdates: fix checking for new build: remove duplicated <query> i…
stokito Mar 15, 2026
6d3715b
Gateway: remove duplicated <query>
stokito Mar 15, 2026
c1201c8
Use JidCreate.bareFromOrThrowUnchecked()
stokito Mar 15, 2026
445d0f7
Spark: add Cache for ImageIcon
stokito Mar 15, 2026
85222c9
Make icons cache with EnumMap
stokito Mar 16, 2026
b265bd7
meet plugin: put icon into resources and load it only once
stokito Mar 16, 2026
8f53145
TicTacToePlugin: statically load icons
stokito Mar 16, 2026
f0e0daf
PreferencesPanel: guard against exceptions of getting preferences fro…
stokito Mar 16, 2026
cd12c74
UserManager: remove unused methods, use concatenation instead of Stri…
stokito Mar 16, 2026
528f707
Vcard: Use Full Name instead of concatenation of first and last names
stokito Mar 16, 2026
cb67106
AccountCreationWizard: show error condition in message
stokito Mar 14, 2026
e086258
LoginUIPanel: auto login on registration
stokito Mar 11, 2026
3c4219c
LoginUIPanel: remove unused parentFrame
stokito Mar 11, 2026
fbd0d10
LoginUIPanel: open AccountCreationWizard with already inputed XMPP do…
stokito Mar 14, 2026
b404040
Make Spark.USER_SPARK_HOME as File, refactor SparkCompatibility
stokito Mar 14, 2026
24fb64d
pom.xml: update dependencies
stokito Mar 11, 2026
3b01016
MessageEventListener: use MessageBuilder to change body
stokito Jan 22, 2026
557d644
ContactItemHandler: add default implementations
stokito Mar 16, 2026
9e25809
docs: defaut.properies cleanup
stokito Mar 17, 2026
5d89e29
spark.doap: add XEP-0392 Constant Colors and XEP-0364 OTR
stokito Mar 17, 2026
21f5b1a
Use constats for colors
stokito Mar 17, 2026
5c525df
TaskNotification: show date in user's locale
stokito Mar 17, 2026
5216f02
SPARK-1725: Repair OTR plugin
stokito Jan 18, 2026
25254a5
Log: debug log only to console
stokito Mar 17, 2026
fb1b90a
Use JidCreate.FromOrThrowUnchecked()
stokito Mar 17, 2026
7a6bead
Use ChatRoom.sendMessage(String text)
stokito Mar 17, 2026
60fd418
otr plugin: show to a user when authentification failed
stokito Mar 18, 2026
0e419ee
Rename Notes to Scratchpad
stokito Mar 19, 2026
4d9b370
ScratchPad Plugin: cleanup and refactor
stokito Mar 19, 2026
30419be
Simplify task deletion
stokito Mar 19, 2026
1b034cd
New features for the TranscriptWindow and TranscriptWindowInterceptors:
cdanger Mar 27, 2026
c523efa
- Fixed security issue: secret key exposed in org.jivesoftware.spark.…
cdanger Mar 31, 2026
fb4788b
- Added back fixed Encryptor class (without exposed secret key)
cdanger Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs.
#
# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 4
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
github-actions:
patterns:
- '*'
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI

on: [push, pull_request]

jobs:
build:
name: Build Spark

runs-on: ubuntu-latest
strategy:
matrix:
java:
- 11
- 17
- 21

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java }}
distribution: zulu

- name: Cache Maven packages
uses: actions/cache@v5
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Build with Maven
run: mvn --batch-mode --update-snapshots verify
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Spark ignores
/target
**/target

# Java ignores
*.class
Expand All @@ -19,6 +19,7 @@ bin/
*.iws
*.iml
out/
!.idea/icon.svg

# Netbeans ignores
nbproject/
Expand Down
49 changes: 49 additions & 0 deletions .idea/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 42 additions & 0 deletions .transifex.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
git:
filters:
- filter_type: file
source_file: core/src/main/resources/i18n/spark_i18n.properties
file_format: UNICODEPROPERTIES
translation_files_expression: 'core/src/main/resources/i18n/spark_i18n_<lang>.properties'
source_language: en
- filter_type: file
source_file: plugins/fastpath/src/main/resources/i18n/fastpath_i18n.properties
file_format: UNICODEPROPERTIES
translation_files_expression: 'plugins/fastpath/src/main/resources/i18n/fastpath_i18n_<lang>.properties'
source_language: en
- filter_type: file
source_file: plugins/meet/src/main/resources/i18n/meet_i18n.properties
file_format: UNICODEPROPERTIES
translation_files_expression: 'plugins/meet/src/main/resources/i18n/meet_i18n_<lang>.properties'
source_language: en
- filter_type: file
source_file: plugins/otr/src/main/resources/i18n/otrplugin_i18n.properties
file_format: UNICODEPROPERTIES
translation_files_expression: 'plugins/meet/src/main/resources/i18n/otrplugin_i18n_<lang>.properties'
source_language: en
- filter_type: file
source_file: plugins/roar/src/main/resources/i18n/roar_i18n.properties
file_format: UNICODEPROPERTIES
translation_files_expression: 'plugins/roar/src/main/resources/i18n/roar_i18n_<lang>.properties'
source_language: en
- filter_type: file
source_file: plugins/spelling/src/main/resources/i18n/spellchecker_i18n.properties
file_format: UNICODEPROPERTIES
translation_files_expression: 'plugins/spelling/src/main/resources/i18n/spellchecker_i18n_<lang>.properties'
source_language: en
- filter_type: file
source_file: plugins/transferguard/src/main/resources/i18n/transferguard_i18n.properties
file_format: UNICODEPROPERTIES
translation_files_expression: 'plugins/transferguard/src/main/resources/i18n/transferguard_i18n_<lang>.properties'
source_language: en
- filter_type: file
source_file: plugins/translator/src/main/resources/i18n/translator_i18n.properties
file_format: UNICODEPROPERTIES
translation_files_expression: 'plugins/translator/src/main/resources/i18n/translator_i18n_<lang>.properties'
source_language: en
4 changes: 0 additions & 4 deletions .travis.yml

This file was deleted.

201 changes: 201 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright {yyyy} {name of copyright owner}

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading