Skip to content

Commit 8c24764

Browse files
authored
Merge pull request #1868 from Freika/dev
0.34.0
2 parents 493db27 + e1ee39e commit 8c24764

File tree

143 files changed

+8005
-553
lines changed

Some content is hidden

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

143 files changed

+8005
-553
lines changed

.app_version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.33.1
1+
0.34.0

.env.development

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@ DATABASE_PASSWORD=password
44
DATABASE_NAME=dawarich_development
55
DATABASE_PORT=5432
66
REDIS_URL=redis://localhost:6379
7+
8+
# Fix for macOS fork() issues with Sidekiq
9+
OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

.github/workflows/build_and_push.yml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,18 +74,6 @@ jobs:
7474
# Set platforms based on version type and release type
7575
PLATFORMS="linux/amd64,linux/arm64,linux/arm/v8,linux/arm/v7"
7676
77-
# Check if this is a patch version (x.y.z where z > 0)
78-
if [[ $VERSION =~ ^[0-9]+\.[0-9]+\.[1-9][0-9]*$ ]]; then
79-
echo "Detected patch version ($VERSION) - building for AMD64 only"
80-
PLATFORMS="linux/amd64"
81-
elif [[ $VERSION =~ ^[0-9]+\.[0-9]+\.0$ ]]; then
82-
echo "Detected minor version ($VERSION) - building for all platforms"
83-
PLATFORMS="linux/amd64,linux/arm64,linux/arm/v8,linux/arm/v7"
84-
else
85-
echo "Version format not recognized or non-semver - using AMD64 only for safety"
86-
PLATFORMS="linux/amd64"
87-
fi
88-
8977
# Add :rc tag for pre-releases
9078
if [ "${{ github.event.release.prerelease }}" = "true" ]; then
9179
TAGS="${TAGS},freikin/dawarich:rc"

CHANGELOG.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,31 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/)
55
and this project adheres to [Semantic Versioning](http://semver.org/).
66

7-
# [0.33.1]
7+
# [0.34.0] - 2025-10-10
8+
9+
## The Family release
10+
11+
In this release we're introducing family features that allow users to create family groups, invite members, and share location data. Family owners can manage members, control sharing settings, and ensure secure access to shared information. Location sharing is optional and can be enabled or disabled by each member individually. Users can join only one family at a time. Location sharing settings can be set to share location for 1, 6, 12, 24 hours or permanently. Family features are now available only for self-hosted instances and will be available in the cloud in the future. When "Family members" layer is enabled on the map, family member markers will be updated in real-time.
12+
13+
## Added
14+
15+
- Users can now create family groups and invite members to join.
16+
17+
## Fixed
18+
19+
- Sign out button works again. #1844
20+
- Fixed user deletion bug where user could not be deleted due to counter cache on points.
21+
- Users always have default distance unit set to kilometers. #1832
22+
- All confirmation dialogs are now showing only once.
23+
24+
## Changed
25+
26+
- Minor versions of Dawarich are being built for ARM64 architecture as well again. #1840
27+
- Importing process for Google Maps Timeline exports, GeoJSON and geodata from photos is now significantly faster.
28+
- The Map page now features a full-screen map.
29+
30+
31+
# [0.33.1] - 2025-10-07
832

933
## Changed
1034

Procfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
release: bundle exec rails db:migrate
12
web: bundle exec puma -C config/puma.rb
23
worker: bundle exec sidekiq -C config/sidekiq.yml

app.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@
55
{ "url": "https://github.com/heroku/heroku-buildpack-nodejs.git" },
66
{ "url": "https://github.com/heroku/heroku-buildpack-ruby.git" }
77
],
8-
"scripts": {
9-
"dokku": {
10-
"predeploy": "bundle exec rails db:migrate"
11-
}
12-
},
138
"healthchecks": {
149
"web": [
1510
{

app/assets/builds/tailwind.css

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/assets/stylesheets/application.css

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,63 @@
101101
content: '✅';
102102
animation: none;
103103
}
104+
105+
/* Flash message animations */
106+
@keyframes slideInFromRight {
107+
0% {
108+
transform: translateX(100%);
109+
opacity: 0;
110+
}
111+
100% {
112+
transform: translateX(0);
113+
opacity: 1;
114+
}
115+
}
116+
117+
@keyframes slideOutToRight {
118+
0% {
119+
transform: translateX(0);
120+
opacity: 1;
121+
}
122+
100% {
123+
transform: translateX(100%);
124+
opacity: 0;
125+
}
126+
}
127+
128+
/* Family feature specific styles */
129+
.family-member-card {
130+
transition: all 0.2s ease-in-out;
131+
}
132+
133+
.family-member-card:hover {
134+
transform: translateY(-1px);
135+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
136+
}
137+
138+
.invitation-card {
139+
border-left: 4px solid #f59e0b;
140+
}
141+
142+
.family-invitation-form {
143+
max-width: 500px;
144+
}
145+
146+
/* Loading states */
147+
.btn:disabled {
148+
opacity: 0.7;
149+
cursor: not-allowed;
150+
}
151+
152+
.loading-overlay {
153+
position: absolute;
154+
top: 0;
155+
left: 0;
156+
right: 0;
157+
bottom: 0;
158+
background: rgba(255, 255, 255, 0.8);
159+
display: flex;
160+
align-items: center;
161+
justify-content: center;
162+
z-index: 10;
163+
}

app/assets/stylesheets/leaflet_theme.css

Lines changed: 96 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
color: var(--leaflet-text-color) !important;
3535
border-color: var(--leaflet-border-color) !important;
3636
box-shadow: 0 1px 4px var(--leaflet-shadow-color) !important;
37+
3738
}
3839

3940
/* Leaflet zoom buttons */
@@ -51,6 +52,32 @@
5152
.leaflet-control-layers-toggle {
5253
background-color: var(--leaflet-bg-color) !important;
5354
color: var(--leaflet-text-color) !important;
55+
/* Replace default icon with custom SVG */
56+
background-image: none !important;
57+
display: flex !important;
58+
align-items: center !important;
59+
justify-content: center !important;
60+
}
61+
62+
.leaflet-control-layers-toggle::before {
63+
content: '' !important;
64+
display: block !important;
65+
width: 24px !important;
66+
height: 24px !important;
67+
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"/><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"/><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"/></svg>') !important;
68+
background-size: contain !important;
69+
background-repeat: no-repeat !important;
70+
background-position: center !important;
71+
}
72+
73+
/* Dark theme - use white stroke for the icon */
74+
[data-theme="dark"] .leaflet-control-layers-toggle::before {
75+
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"/><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"/><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"/></svg>') !important;
76+
}
77+
78+
/* Light theme - use black stroke for the icon */
79+
[data-theme="light"] .leaflet-control-layers-toggle::before {
80+
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"/><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"/><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"/></svg>') !important;
5481
}
5582

5683
.leaflet-control-layers-expanded {
@@ -138,4 +165,72 @@
138165
background: var(--leaflet-scale-bg) !important;
139166
border-radius: 3px !important;
140167
padding: 2px !important;
141-
}
168+
}
169+
170+
/* Family member tooltip - dark styled like the visit popup */
171+
.leaflet-tooltip.family-member-tooltip {
172+
background-color: #374151 !important;
173+
color: #ffffff !important;
174+
border: 1px solid #4b5563 !important;
175+
border-radius: 4px !important;
176+
padding: 4px 8px !important;
177+
font-size: 11px !important;
178+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
179+
}
180+
181+
.leaflet-tooltip.family-member-tooltip::before {
182+
border-top-color: #374151 !important;
183+
}
184+
185+
/* Family member popup - just override colors, keep default layout */
186+
.leaflet-popup-content-wrapper:has(.family-member-popup) {
187+
background-color: #1f2937 !important;
188+
color: #f9fafb !important;
189+
}
190+
191+
.leaflet-popup-content-wrapper:has(.family-member-popup) + .leaflet-popup-tip {
192+
background-color: #1f2937 !important;
193+
}
194+
195+
/* Family member marker pulse animation for recent updates */
196+
@keyframes family-marker-pulse {
197+
0% {
198+
box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
199+
}
200+
50% {
201+
box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
202+
}
203+
100% {
204+
box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
205+
}
206+
}
207+
208+
.family-member-marker-recent {
209+
animation: family-marker-pulse 2s infinite;
210+
border-radius: 50% !important;
211+
}
212+
213+
.family-member-marker-recent .leaflet-marker-icon > div {
214+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(16, 185, 129, 0.7);
215+
border-radius: 50%;
216+
}
217+
218+
/* Fix bottom controls being cut off */
219+
.leaflet-bottom {
220+
padding-bottom: 10px !important;
221+
transition: padding-bottom 0.3s ease;
222+
}
223+
224+
.leaflet-bottom.leaflet-left {
225+
padding-left: 10px !important;
226+
}
227+
228+
.leaflet-bottom.leaflet-right {
229+
padding-right: 10px !important;
230+
}
231+
232+
/* DaisyUI tooltips on map buttons - ensure they appear above date navigation (z-index: 9999) */
233+
.tooltip:before,
234+
.tooltip:after {
235+
z-index: 10000 !important;
236+
}
Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)