Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.16.11 #875

Merged
merged 87 commits into from
Feb 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
e09a295
Bump bootstrap-vue-next from 0.25.15 to 0.26.7 in /freedata_gui
dependabot[bot] Dec 1, 2024
f426481
Bump marked from 14.1.4 to 15.0.3 in /freedata_gui
dependabot[bot] Dec 1, 2024
07a83c5
Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2
dependabot[bot] Dec 1, 2024
10d0e03
Update nuitka requirement from <=2.4.11 to <=2.5.4
dependabot[bot] Dec 1, 2024
9760ded
api documentation typo fix
DJ2LS Dec 5, 2024
82207fc
experiment with disabling http caching
DJ2LS Dec 5, 2024
4b482aa
Updated gitignore to excplude node modules
Mashintime Dec 8, 2024
fb2a318
Add an area to more easily grab map widget
Mashintime Dec 8, 2024
631b8c9
Updated grid layout auto fill, add a 'small screem' grid fill button
Mashintime Dec 8, 2024
136cfed
Merge pull request #853 from DJ2LS/dependabot/pip/develop/nuitka-lte-…
DJ2LS Dec 9, 2024
9677fe4
Merge pull request #852 from DJ2LS/dependabot/github_actions/develop/…
DJ2LS Dec 9, 2024
6f8d36e
Merge pull request #851 from DJ2LS/dependabot/npm_and_yarn/freedata_g…
DJ2LS Dec 9, 2024
6888b59
Merge pull request #849 from DJ2LS/dependabot/npm_and_yarn/freedata_g…
DJ2LS Dec 9, 2024
2b12c67
Add bottom margin to first fill button. Shorten description text on …
Mashintime Dec 10, 2024
6f652c6
Update nuitka requirement from <=2.5.4 to <=2.5.9
dependabot[bot] Jan 1, 2025
eab5905
Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3
dependabot[bot] Jan 1, 2025
3da8c1a
Merge pull request #855 from DJ2LS/qm-gridupdates
DJ2LS Jan 4, 2025
4dcd7dc
Merge pull request #858 from DJ2LS/dependabot/pip/develop/nuitka-lte-…
DJ2LS Jan 4, 2025
73457fc
Merge pull request #859 from DJ2LS/dependabot/github_actions/develop/…
DJ2LS Jan 4, 2025
b5de79d
set api caching to one day
DJ2LS Jan 17, 2025
3ba839f
fixed test mode not acceppting custom modes
DJ2LS Jan 19, 2025
e4875f2
add audio normalisation - disabled for now
DJ2LS Jan 19, 2025
ff35b05
add audio normalisation - disabled for now
DJ2LS Jan 19, 2025
4ba1624
If there is no gridsquare fix this so that it follows the ADIF standard.
LA3QMA Jan 23, 2025
dce5cc7
Added support for Wavelog
LA3QMA Jan 24, 2025
5b2cd3c
added function to enable/disable adif/wavelog.
LA3QMA Jan 25, 2025
d794f75
corrected the keys for wavelog
LA3QMA Jan 25, 2025
29dab77
fixed error
LA3QMA Jan 25, 2025
7227239
moved ADIF config parameters to a new group
LA3QMA Jan 25, 2025
1ea9432
Cleaned up configuration names etc.
LA3QMA Jan 26, 2025
78138c6
Cleaned up print/log. Started to get better gridsquare handling
LA3QMA Jan 26, 2025
aadb7c0
Removed unused code. Fixed so that ADIF is only posted to UDP/API if …
LA3QMA Jan 27, 2025
ebd70d2
fixing test
DJ2LS Jan 27, 2025
6a43768
fixing test
DJ2LS Jan 27, 2025
8364d49
added python13 to tests
DJ2LS Jan 27, 2025
b7ae9a1
version bump and disabled caching
DJ2LS Jan 27, 2025
757528b
Merge pull request #868 from DJ2LS/dev-fix-server
DJ2LS Jan 29, 2025
3f0d88e
Merge branch 'develop' into develop_kgb
DJ2LS Jan 29, 2025
909fc39
Merge pull request #866 from DJ2LS/develop_kgb
DJ2LS Jan 29, 2025
9630476
Removed Wavelog port to follow documentaion/WIKI
LA3QMA Jan 29, 2025
1a15310
Fixed the URL
LA3QMA Jan 29, 2025
5b50ec8
Added a simple check to see if the host url contains "/" as the last …
LA3QMA Jan 29, 2025
1c86c45
Merge pull request #869 from DJ2LS/develop_kgb
DJ2LS Jan 29, 2025
b31b2a2
first run porting hardcodec modes to custom modes
DJ2LS Jan 29, 2025
aa568d9
adjusted mode tests
DJ2LS Jan 30, 2025
6563c68
adjusted mode tests
DJ2LS Jan 30, 2025
1d00121
adding check for image compression #861
DJ2LS Jan 31, 2025
35b22ce
open url in new tab #862
DJ2LS Jan 31, 2025
6e2826b
Merge pull request #872 from DJ2LS/dev-fix-image-compression
DJ2LS Jan 31, 2025
959c59b
Merge pull request #871 from DJ2LS/ls-custom-modes
DJ2LS Jan 31, 2025
73d584b
Merge pull request #873 from DJ2LS/dev-fix-url-in-new-tab
DJ2LS Jan 31, 2025
0d11194
Merge branch 'main' into develop
DJ2LS Jan 31, 2025
f92fe53
dont draft new releases
DJ2LS Jan 31, 2025
a900555
Merge remote-tracking branch 'origin/develop' into develop
DJ2LS Jan 31, 2025
39851e5
Added Fedora 41 support
deejdeej Feb 1, 2025
b404715
Check if account is in the dialout group, and add a written warning a…
deejdeej Feb 1, 2025
93a6802
Update nuitka requirement from <=2.5.9 to <=2.6.2
dependabot[bot] Feb 1, 2025
554f9df
Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4
dependabot[bot] Feb 1, 2025
4dd4c95
Merge pull request #876 from DJ2LS/dependabot/pip/develop/nuitka-lte-…
DJ2LS Feb 1, 2025
d75c11f
Merge pull request #878 from DJ2LS/dependabot/github_actions/develop/…
DJ2LS Feb 1, 2025
dbeee16
Merge branch 'main' into develop
DJ2LS Feb 1, 2025
c71b745
add untested additions for Linux Mint 21.3
deejdeej Feb 2, 2025
ffaa266
add comment about account needing to be in dialout group and have sud…
deejdeej Feb 2, 2025
754cd29
macOS install Scripts v0.0.1
HB9HBO Feb 2, 2025
6a3f273
fixing missing map information on wrong locator
DJ2LS Feb 10, 2025
0e1b80e
Merge pull request #881 from DJ2LS/ls-fix-map
DJ2LS Feb 10, 2025
b5acddc
code cleanup - removed mesh
DJ2LS Feb 16, 2025
00da62d
adjusted some modem and web related settings
DJ2LS Feb 16, 2025
8878829
Merge pull request #887 from DJ2LS/ls-adjust-web
DJ2LS Feb 16, 2025
b6d745f
Merge pull request #886 from DJ2LS/ls-adjust-exp-settings
DJ2LS Feb 16, 2025
a20fd4c
adjusted emoji picker
DJ2LS Feb 16, 2025
41fa604
reduced content of progress bar for supporting smaller screens
DJ2LS Feb 16, 2025
fc7d17a
make sent messages looking more friendly
DJ2LS Feb 16, 2025
67fa75c
adjusted scatter diagram/chart/waterfall
DJ2LS Feb 16, 2025
f210158
adjusted broadcasts
DJ2LS Feb 16, 2025
28ecddf
further grid adjustments
DJ2LS Feb 16, 2025
30370da
fix transmitting sine
DJ2LS Feb 16, 2025
9326cfc
chat message related adjustment
DJ2LS Feb 16, 2025
ca673dc
Merge pull request #888 from DJ2LS/ls-gui-adjustments
DJ2LS Feb 16, 2025
67eb556
Merge pull request #879 from HB9HBO/tools-macos
DJ2LS Feb 18, 2025
92cb648
Update README.md
DJ2LS Feb 18, 2025
5d601c3
organized api endpoints into subfolders
DJ2LS Feb 19, 2025
a88539d
organized api endpoints into subfolders
DJ2LS Feb 19, 2025
b0d856b
Merge pull request #889 from DJ2LS/ls-api-work
DJ2LS Feb 19, 2025
f65a641
adjusted server restart
DJ2LS Feb 20, 2025
9323120
Merge pull request #890 from DJ2LS/ls-gui-adjustments
DJ2LS Feb 20, 2025
4596c3f
fixed some settings missing in gui
DJ2LS Feb 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_nsis_bundle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,6 @@ jobs:
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/v')
with:
draft: true
draft: false
files: ./FreeDATA-Installer.exe
tag_name: ${{ github.ref_name }}
2 changes: 1 addition & 1 deletion .github/workflows/build_server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ jobs:
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/v')
with:
draft: true
draft: false
files: ./freedata_server/server.dist/${{ matrix.zip_name }}.zip
tag_name: ${{ github.ref_name }}

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/modem_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
- python-version: "3.10"
- python-version: "3.11"
- python-version: "3.12"
- python-version: "3.13"

steps:
- uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pip_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

- name: Install Linux dependencies
run: |
sudo apt install -y portaudio19-dev libhamlib-dev libhamlib-utils build-essential cmake python3-libhamlib2 patchelf
sudo apt install -y portaudio19-dev libhamlib-dev libhamlib-utils build-essential cmake patchelf

- name: Install Python dependencies
run: |
Expand All @@ -38,7 +38,7 @@ jobs:
python setup.py sdist bdist_wheel

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@v1.11.0
uses: pypa/gh-action-pypi-publish@v1.12.4
if: startsWith(github.ref, 'refs/tags/v')
with:
user: __token__
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ coverage.xml

#GUI_WEB
/freedata_gui/dist
/freedata_gui/node_modules/
/freedata_gui/node_modules!/venv/

# venv packages
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@

# FreeDATA
> FreeDATA is a versatile, **open-source platform designed specifically for HF communications**, leveraging **codec2** data modes for robust global digital communication. It features a network-based server-client architecture, a REST API, multi-platform compatibility, and a messaging system.

> Please keep in mind, this project is still **under development** with many issues which need to be solved.

FreeDATA is a versatile, open-source platform designed specifically for HF communications, leveraging Codec2 data modes for robust global digital communication. It features a network-based server-client architecture, a REST API, multi-platform compatibility, and a messaging system.

[![CodeFactor](https://www.codefactor.io/repository/github/dj2ls/freedata/badge)](https://www.codefactor.io/repository/github/dj2ls/freedata)
[![Modem tests](https://github.com/DJ2LS/FreeDATA/actions/workflows/modem_tests.yml/badge.svg)](https://github.com/DJ2LS/FreeDATA/actions/workflows/modem_tests.yml)

Please keep in mind, this project is still under development with many issues which need to be solved.

![FreeDATA_main_screen.png](documentation%2FFreeDATA_main_screen.png)

Expand Down
4 changes: 2 additions & 2 deletions freedata_gui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@
"@popperjs/core": "^2.11.8",
"bootstrap": "^5.3.3",
"bootstrap-icons": "^1.11.3",
"bootstrap-vue-next": "^0.25.12",
"bootstrap-vue-next": "^0.26.7",
"chart.js": "^4.4.3",
"chartjs-plugin-annotation": "^3.0.1",
"core-js": "^3.8.3",
"d3": "^7.9.0",
"dompurify": "^3.1.6",
"gridstack": "^11.0.1",
"js-image-compressor": "^2.0.0",
"marked": "^14.1.2",
"marked": "^15.0.3",
"pinia": "^2.1.7",
"qth-locator": "^2.1.0",
"topojson-client": "^3.1.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>
<div v-if="isImage">
<img :src="imageUrl" alt="Image Preview" class="img-fluid rounded w-100" />
<img :src="imageUrl" alt="Image Preview" class="img-fluid border rounded-top bg-light w-100" />
</div>
</template>

Expand Down
28 changes: 22 additions & 6 deletions freedata_gui/src/components/chat_messages_received.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<template>
<div class="row justify-content-start mb-2">
<div :class="messageWidthClass">
<div class="card bg-light border-0 text-dark">
<div class="card bg-light border rounded-top text-dark">
<div
v-for="attachment in message.attachments"
:key="attachment.id"
Expand All @@ -11,14 +11,14 @@
<chat_messages_image_preview :attachment="attachment" />

<div class="btn-group w-100" role="group">
<button class="btn btn-light text-truncate" disabled>
<button class="btn btn-light border rounded-bottom text-truncate" disabled>
{{ attachment.name }}
</button>
<button
@click="
downloadAttachment(attachment.hash_sha512, attachment.name)
"
class="btn btn-light w-25"
class="btn btn-light border rounded-bottom w-25"
>
<i class="bi bi-download strong"></i>
</button>
Expand Down Expand Up @@ -158,9 +158,25 @@ export default {
},

parsedMessageBody() {
// Use marked to parse markdown and DOMPurify to sanitize
return DOMPurify.sanitize(marked.parse(this.message.body));
},
// Parse markdown to HTML
let parsedHTML = marked.parse(this.message.body);

// Sanitize the HTML
let sanitizedHTML = DOMPurify.sanitize(parsedHTML);

// Create a temporary DOM element to manipulate the sanitized output
let tempDiv = document.createElement("div");
tempDiv.innerHTML = sanitizedHTML;

// Modify all links to open in a new tab
tempDiv.querySelectorAll("a").forEach(link => {
link.setAttribute("target", "_blank");
link.setAttribute("rel", "noopener noreferrer"); // Security best practice
});

// Return the updated HTML
return tempDiv.innerHTML;
},
},
};
</script>
30 changes: 24 additions & 6 deletions freedata_gui/src/components/chat_messages_sent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
</div>
<!-- message area -->
<div :class="messageWidthClass" class="align-items-end">
<div class="card bg-secondary text-white">
<div class="card">
<div
v-for="attachment in message.attachments"
:key="attachment.id"
Expand All @@ -56,8 +56,8 @@
<p class="card-text text-break" v-html="parsedMessageBody"></p>
</div>

<div class="card-footer p-0 bg-secondary border-top-0">
<p class="text p-0 m-0 me-1 text-end">
<div class="card-footer p-1 border-top-0">
<p class="text p-0 m-0 mb-1 me-1 text-end">
<span class="badge badge-primary mr-2" :class="{
'bg-danger': message.status == 'failed',
'bg-primary': message.status == 'transmitting',
Expand All @@ -66,7 +66,7 @@
>
{{ message.status }}
</span>
| <span class="badge badge-primary mr-2"> attempt: {{ message.attempt + 1 }} </span>|<span class="badge badge-primary mr-2"> {{ getDateTime }} UTC</span>
| <span class="badge text-bg-light mr-2"> attempt: {{ message.attempt + 1 }} </span>|<span class="badge text-bg-light mr-2"> {{ getDateTime }} UTC</span>
</p>
</div>

Expand Down Expand Up @@ -202,8 +202,26 @@ export default {
},

parsedMessageBody() {
// Use marked to parse markdown and DOMPurify to sanitize
return DOMPurify.sanitize(marked.parse(this.message.body));
// Parse markdown to HTML
let parsedHTML = marked.parse(this.message.body);

// Sanitize the HTML
let sanitizedHTML = DOMPurify.sanitize(parsedHTML);

// Create a temporary DOM element to manipulate the sanitized output
let tempDiv = document.createElement("div");
tempDiv.innerHTML = sanitizedHTML;

// Modify all links to open in a new tab
tempDiv.querySelectorAll("a").forEach(link => {
link.setAttribute("target", "_blank");
link.setAttribute("rel", "noopener noreferrer"); // Security best practice
});

// Return the updated HTML
return tempDiv.innerHTML;


},
},
};
Expand Down
16 changes: 13 additions & 3 deletions freedata_gui/src/components/chat_new_message.vue
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,11 @@ function handleFiles(files) {
((file.size - compressedFile.size) / file.size * 100).toFixed(2) + '%'
);

// Check if compression made the file larger
if (compressedFile.size >= file.size) {
console.warn("Compressed file is larger than original. Using original file instead.");
compressedFile = file; // Use original file
}
// toast notification
let message = `
<div>
Expand Down Expand Up @@ -295,10 +300,15 @@ function applyMarkdown(formatType) {

<!-- Emoji Picker Modal -->
<div class="modal fade" id="emojiPickerModal" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-sm">
<div class="modal-dialog modal-dialog-centered modal">
<div class="modal-content">
<div class="modal-body p-0">
<VuemojiPicker @emojiClick="handleEmojiClick" />
<div class="modal-header">
<h5 class="modal-title">Insert emoji</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" data-bs-target="#emojiPickerModal" aria-label="Close"></button>
</div>

<div class="modal-body">
<VuemojiPicker @emojiClick="handleEmojiClick"/>
</div>
</div>
</div>
Expand Down
Loading
Loading