Compare commits

..

3 Commits

Author SHA1 Message Date
Harry Bond
00e77cd745 [android] Add Map Layers button to custom left button options
Signed-off-by: Harry Bond <me@hbond.xyz>

Signed-off-by: Harry Bond <me@hbond.xyz>
2025-08-06 09:49:44 +01:00
x7z4w
ae0ef4d3f8 [ios] Run configure.sh for clean builds
Signed-off-by: x7z4w <x7z4w@noreply.codeberg.org>
2025-08-05 10:16:31 +00:00
Jean-Baptiste
68d1ead44c [doc] Improve doc and updates codeberg teams
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
2025-08-04 19:10:52 +02:00
22 changed files with 164 additions and 182 deletions

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- fix-ci
- main
paths-ignore:
- .gitignore
- .forgejo/**
@@ -36,16 +36,18 @@ jobs:
android-google-beta:
name: Android Google Beta
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
environment: beta
steps:
- name: Install build tools and dependencies
shell: bash
run: |
apt-get update -y
apt-get install -y cmake ninja-build
sudo apt-get update -y
sudo apt-get install -y ninja-build
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -69,8 +71,6 @@ jobs:
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
- name: Compile
container:
image: runmymind/docker-android-sdk:latest
shell: bash
working-directory: android
run: |

View File

@@ -11,10 +11,10 @@ on:
jobs:
android-check-metadata:
name: Check app metadata
runs-on: ubuntu-latest
runs-on: codeberg-tiny
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- fix-ci
- main
pull_request:
paths-ignore:
- .gitignore
@@ -37,18 +37,12 @@ on:
jobs:
lint:
name: Android Lint
runs-on: ubuntu-latest
runs-on: codeberg-tiny
container:
image: runmymind/docker-android-sdk:latest
steps:
- name: Install Node.JS
shell: bash
run: |
apt-get update -y
apt-get install -y nodejs
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1
@@ -84,11 +78,11 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
apt-get update -y
apt-get install -y cmake ninja-build nodejs
sudo apt-get update -y
sudo apt-get install -y ninja-build
- name: Checkout sources
uses: httpa://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 200 # enough to get all commits for the current day
@@ -97,7 +91,7 @@ jobs:
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Configure ccache
uses: https://github.com/hendrikmuhs/ccache-action@v1.2
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-${{ matrix.flavor }}
@@ -116,5 +110,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: android-${{ matrix.flavor }}
path: android/app/build/outputs/apk/**/CoMaps-*.apk
path: android/app/build/outputs/apk/**/OrganicMaps-*.apk
if-no-files-found: error

View File

@@ -6,11 +6,11 @@ on:
jobs:
precondition:
runs-on: ubuntu-latest
runs-on: codeberg-tiny
name: Check preconditions
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1000 # fetch month or so
@@ -40,14 +40,14 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
apt-get update -y
apt-get install -y ninja-build
sudo apt-get update -y
sudo apt-get install -y ninja-build
- name: Install Google SDK
uses: google-github-actions/setup-gcloud@v0
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -84,7 +84,7 @@ jobs:
run: |
gcloud auth activate-service-account --key-file android/app/firebase-test-lab.json
gcloud config set project omapsapp
gcloud firebase test android run --app ./android/app/build/outputs/apk/google/beta/CoMaps-*-google-beta.apk \
gcloud firebase test android run --app ./android/app/build/outputs/apk/google/beta/OrganicMaps-*-google-beta.apk \
--device model=husky,version=34 \
--device model=tangorpro,version=33,orientation=landscape \
--device model=bluejay,version=32 \

View File

@@ -5,14 +5,14 @@ on:
jobs:
android-release-metadata:
name: Upload Google Play metadata
runs-on: ubuntu-latest
runs-on: codeberg-tiny
container:
image: runmymind/docker-android-sdk:latest
environment: production
steps:
- name: Checkout sources
# TODO: use shallow (and sparse?) checkout
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
# - name: Parallel submodules checkout
# shell: bash

View File

@@ -10,10 +10,12 @@ jobs:
tag:
name: Tag
runs-on: ubuntu-latest
container:
image: runmymind/docker-android-sdk:latest
environment: production
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 100 # Enough to get all commits for the last day.
ssh-key: ${{ secrets.RELEASE_SSH_KEY }}
@@ -71,11 +73,11 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
apt-get update -y
apt-get install -y cmake ninja-build
sudo apt-get update -y
sudo apt-get install -y ninja-build
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
ref: 'refs/tags/${{ needs.tag.outputs.tag }}'
@@ -92,7 +94,7 @@ jobs:
run: git submodule update --depth 1 --init --recursive --jobs=$(($(nproc) * 20))
- name: Checkout screenshots
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
repository: ${{ secrets.SCREENSHOTS_REPO }}
ssh-key: ${{ secrets.SCREENSHOTS_SSH_KEY }}
@@ -121,8 +123,6 @@ jobs:
run: echo "sdk.dir=$ANDROID_SDK_ROOT" > android/local.properties
- name: Compile and upload to Google Play
container:
image: runmymind/docker-android-sdk:latest
shell: bash
working-directory: android
run: |
@@ -130,8 +130,6 @@ jobs:
if: ${{ matrix.flavor == 'google' }}
- name: Compile and upload to Huawei AppGallery
container:
image: runmymind/docker-android-sdk:latest
shell: bash
working-directory: android
run: |
@@ -140,8 +138,6 @@ jobs:
if: ${{ matrix.flavor == 'huawei' }}
- name: Compile universal APK
container:
image: runmymind/docker-android-sdk:latest
shell: bash
working-directory: android
run: |
@@ -152,16 +148,16 @@ jobs:
if: ${{ matrix.flavor == 'web' }}
shell: bash
run: |
(cd ./android/app/build/outputs/apk/web/release/ && sha256sum CoMaps-${{ needs.tag.outputs.code }}-web-release.apk > CoMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum)
(cd ./android/app/build/outputs/apk/web/release/ && sha256sum OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk > OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum)
{
cat ${{ env.RELEASE_NOTES }}
echo ""
echo "See [a detailed announce](https://comaps.app/news/) on our website when app updates are published in all stores."
echo "You can get automatic app updates from Codeberg [using Obtainium](https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://codeberg.org/comaps/comaps)."
echo "See [a detailed announce](https://organicmaps.app/news/) on our website when app updates are published in all stores."
echo "You can get automatic app updates from Codeberg [using Obtainium](https://codeberg.org/comaps/comaps/wiki/Installing-Organic-Maps-from-GitHub-using-Obtainium)."
echo ""
echo "sha256sum:"
echo -e '\n```'
tr -d '\n' < ./android/app/build/outputs/apk/web/release/CoMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
tr -d '\n' < ./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
echo -e '\n```'
} > ${{ runner.temp }}/release-notes.txt
@@ -176,6 +172,6 @@ jobs:
discussion_category_name: 'Announcements'
prerelease: true
files: |
./android/app/build/outputs/apk/web/release/CoMaps-${{ needs.tag.outputs.code }}-web-release.apk
./android/app/build/outputs/apk/web/release/CoMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk
./android/app/build/outputs/apk/web/release/OrganicMaps-${{ needs.tag.outputs.code }}-web-release.apk.sha256sum
fail_on_unmatched_files: true

View File

@@ -9,10 +9,10 @@ on:
jobs:
validate-appstream:
name: Validate appstream metadata xml
runs-on: ubuntu-latest
runs-on: codeberg-tiny
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
@@ -21,11 +21,11 @@ jobs:
- name: Install appstream validator and flatpak Builder
shell: bash
run: |
apt update -y
apt install -y \
sudo apt update -y
sudo apt install -y \
flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y org.flatpak.Builder
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y org.flatpak.Builder
- name: Lint appstream data with flatpak Builder
shell: bash

View File

@@ -33,7 +33,7 @@ concurrency:
jobs:
should-run-check:
name: Should run coverage
runs-on: ubuntu-latest
runs-on: codeberg-tiny
outputs:
run-from-pr: ${{ steps.run-from-pr.outputs.run-from-pr }}
manually-triggered: ${{ steps.manually-triggered.outputs.manually-triggered }}
@@ -63,7 +63,7 @@ jobs:
if: ${{ needs.should-run-check.outputs.run-from-pr == 'true' || needs.should-run-check.outputs.manually-triggered == 'true'}}
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -74,8 +74,8 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
apt update -y
apt install -y \
sudo apt update -y
sudo apt install -y \
ninja-build \
libgl1-mesa-dev \
libglvnd-dev \
@@ -90,7 +90,7 @@ jobs:
gcovr
- name: Configure ccache
uses: https://github.com/hendrikmuhs/ccache-action@v1.2
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-coverage
@@ -124,15 +124,15 @@ jobs:
# world_feed_integration_tests - https://github.com/organicmaps/organicmaps/issues/215
CTEST_EXCLUDE_REGEX: "generator_integration_tests|opening_hours_integration_tests|opening_hours_supported_features_tests|routing_benchmarks|routing_integration_tests|routing_quality_tests|search_quality_tests|storage_integration_tests|shaders_tests|world_feed_integration_tests"
run: |
locale-gen en_US
locale-gen en_US.UTF-8
locale-gen es_ES
locale-gen es_ES.UTF-8
locale-gen fr_FR
locale-gen fr_FR.UTF-8
locale-gen ru_RU
locale-gen ru_RU.UTF-8
update-locale
sudo locale-gen en_US
sudo locale-gen en_US.UTF-8
sudo locale-gen es_ES
sudo locale-gen es_ES.UTF-8
sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
sudo update-locale
ctest -L "omim-test" -E "$CTEST_EXCLUDE_REGEX" --output-on-failure
- name: Run coverage report generation

View File

@@ -3,6 +3,6 @@ on: [pull_request]
jobs:
check:
runs-on: ubuntu-latest
runs-on: codeberg-tiny
steps:
- uses: https://github.com/KineticCafe/actions-dco@v1

View File

@@ -9,10 +9,10 @@ on:
jobs:
validate-desktop-file:
name: Validate .desktop file
runs-on: ubuntu-latest
runs-on: codeberg-tiny
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |
@@ -21,8 +21,8 @@ jobs:
- name: Install desktop-file-validate tool
shell: bash
run: |
apt update -y
apt install -y \
sudo apt update -y
sudo apt install -y \
desktop-file-utils
- name: Validate desktop file

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- fix-ci
- main
paths-ignore:
- .gitignore
- .forgejo/**
@@ -45,7 +45,7 @@ jobs:
shell: bash
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -66,6 +66,10 @@ jobs:
CERTIFICATES_DEV_P12: ${{ secrets.CERTIFICATES_DEV_P12 }}
CERTIFICATES_DISTR_P12: ${{ secrets.CERTIFICATES_DISTR_P12 }}
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Compile and upload to TestFlight
run: |
echo "IOS_VERSION=$(../tools/unix/version.sh ios_version)-$(../tools/unix/version.sh ios_build)" >> "$GITHUB_ENV"

View File

@@ -10,10 +10,10 @@ on:
jobs:
ios-check-metadata:
name: Check app metadata
runs-on: ubuntu-latest
runs-on: codeberg-tiny
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 1
sparse-checkout: |

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- fix-ci
- main
pull_request:
paths-ignore:
- .gitignore
@@ -53,12 +53,16 @@ jobs:
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
- name: Parallel submodules checkout
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:

View File

@@ -14,7 +14,7 @@ jobs:
environment: production
steps:
- name: Checkout
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
- name: Restore release keys
shell: bash
@@ -25,7 +25,7 @@ jobs:
APPSTORE_JSON: ${{ secrets.APPSTORE_JSON }}
- name: Checkout screenshots
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
repository: ${{ secrets.SCREENSHOTS_REPO }}
ssh-key: ${{ secrets.SCREENSHOTS_SSH_KEY }}
@@ -33,7 +33,7 @@ jobs:
path: screenshots
- name: Checkout keywords
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
repository: ${{ secrets.KEYWORDS_REPO }}
ssh-key: ${{ secrets.KEYWORDS_SSH_KEY }}

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- fix-ci
- main
pull_request:
paths-ignore:
- .gitignore
@@ -39,7 +39,7 @@ jobs:
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
with:
fetch-depth: 100 # enough to get all commits for the current day
@@ -50,10 +50,9 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
apt update -y
apt install -y \
sudo apt update -y
sudo apt install -y \
ninja-build \
cmake \
libgl1-mesa-dev \
libglvnd-dev \
libharfbuzz-dev \
@@ -68,7 +67,7 @@ jobs:
libqt6positioning6
- name: Configure ccache
uses: https://github.com/hendrikmuhs/ccache-action@v1.2
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-no-unity
@@ -104,7 +103,7 @@ jobs:
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
- name: Parallel submodules checkout
shell: bash
@@ -113,8 +112,8 @@ jobs:
- name: Install build tools and dependencies
shell: bash
run: |
apt update -y
apt install -y \
sudo apt update -y
sudo apt install -y \
ninja-build \
libgl1-mesa-dev \
libglvnd-dev \
@@ -130,7 +129,7 @@ jobs:
libqt6positioning6
- name: Configure ccache
uses: https://github.com/hendrikmuhs/ccache-action@v1.2
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ github.workflow }}-unity-${{ matrix.compiler.CC }}-${{ matrix.CMAKE_BUILD_TYPE }}
@@ -165,13 +164,13 @@ jobs:
# world_feed_integration_tests - https://github.com/organicmaps/organicmaps/issues/215
CTEST_EXCLUDE_REGEX: "generator_integration_tests|opening_hours_integration_tests|opening_hours_supported_features_tests|routing_benchmarks|routing_integration_tests|routing_quality_tests|search_quality_tests|storage_integration_tests|shaders_tests|world_feed_integration_tests"
run: |
locale-gen en_US
locale-gen en_US.UTF-8
locale-gen es_ES
locale-gen es_ES.UTF-8
locale-gen fr_FR
locale-gen fr_FR.UTF-8
locale-gen ru_RU
locale-gen ru_RU.UTF-8
update-locale
sudo locale-gen en_US
sudo locale-gen en_US.UTF-8
sudo locale-gen es_ES
sudo locale-gen es_ES.UTF-8
sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
sudo update-locale
ctest -L "omim-test" -E "$CTEST_EXCLUDE_REGEX" --output-on-failure

View File

@@ -3,7 +3,7 @@ on:
workflow_dispatch: # Manual trigger
push:
branches:
- fix-ci
- main
pull_request:
paths-ignore:
- .gitignore
@@ -46,7 +46,7 @@ jobs:
steps:
- name: Checkout sources
uses: https://github.com/actions/checkout@v4
uses: actions/checkout@v4
- name: Parallel submodules checkout
shell: bash

View File

@@ -37,6 +37,10 @@ jobs:
shell: bash
run: git submodule update --depth 1 --init --recursive --jobs=$(($(sysctl -n hw.logicalcpu) * 20))
- name: Configure repository
shell: bash
run: ./configure.sh
- name: Configure XCode cache
uses: irgaly/xcode-cache@v1
with:

View File

@@ -6,6 +6,7 @@ import static android.Manifest.permission.POST_NOTIFICATIONS;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_ADD_PLACE_CODE;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_HELP_CODE;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_MAP_LAYER_CODE;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_RECORD_TRACK_CODE;
import static app.organicmaps.leftbutton.LeftButtonsHolder.BUTTON_SETTINGS_CODE;
import static app.organicmaps.sdk.location.LocationState.FOLLOW;
@@ -944,6 +945,42 @@ public class MwmActivity extends BaseMwmFragmentActivity
drawIcon(left);
}
});
buttonsHolder.registerButton(new LeftToggleButton() {
//TODO: hide layers button
private boolean isLayerActive = false; //TODO: hook up
@Override
public void setChecked(boolean checked)
{
isLayerActive = checked;
}
@Override
public String getCode()
{
return BUTTON_MAP_LAYER_CODE;
}
@Override
public String getPrefsName()
{
return getString(R.string.layers_title);
}
@Override
public void drawIcon(FloatingActionButton imageView)
{
imageView.setImageResource(isLayerActive ? R.drawable.ic_layers : R.drawable.ic_layers_clear);
}
@Override
public void onClick(FloatingActionButton left)
{
toggleMapLayerBottomSheet();
drawIcon(left);
}
});
}
private void initNavigationButtons(MapButtonsController.LayoutMode layoutMode)

View File

@@ -19,6 +19,7 @@ public class LeftButtonsHolder
public static final String BUTTON_SETTINGS_CODE = "settings";
public static final String BUTTON_ADD_PLACE_CODE = "add-place";
public static final String BUTTON_RECORD_TRACK_CODE = "record-track";
public static final String BUTTON_MAP_LAYER_CODE = "map-layer";
private static final String DEFAULT_BUTTON_CODE = BUTTON_HELP_CODE;
private final String leftButtonPreferenceKey;

View File

@@ -87,6 +87,8 @@ brew install wget optipng cmake qt
#### Clone the repository
```bash
git clone --recurse-submodules --shallow-submodules https://codeberg.org/comaps/comaps.git
cd comaps
./configure.sh
```
### Special cases options

View File

@@ -10,8 +10,8 @@ Here is the basic workflow to update styles:
Please prepend `[styles]` to your commit message and add [Developers Certificate of Origin](CONTRIBUTING.md#legal-requirements) to it.
Files changed by the script should be added as a separate `[styles] Regenerated` commit.
Please check [a list of current styling issues](https://codeberg.org/comaps/comaps/issues?q=is%3Aopen+is%3Aissue+label%3AStyles)
and ["icons wanted" issues](https://codeberg.org/comaps/comaps/issues?q=is%3Aopen+is%3Aissue+label%3AIcons+label%3A%22Good+first+issue%22).
Please check [a list of current styling issues](https://codeberg.org/comaps/comaps/issues?q=&type=all&sort=&labels=410439)
and ["icons" issues](https://codeberg.org/comaps/comaps/issues?q=&type=all&sort=&labels=446883).
An overview of currently used icons can be found in the [Wiki](https://codeberg.org/comaps/comaps/wiki/Icons).

View File

@@ -1,20 +1,24 @@
# Teams
CoMaps is led by community contributors, with functional domains occasionally establishing or dissolving their leadership structures, formal or informal. This file outlines the functional project structure that has evolved over time. The current list of teams is available on [Codeberg](https://codeberg.org/orgs/comaps/teams).
CoMaps is led by community contributors, with functional domains occasionally establishing or dissolving their leadership structures, formal or informal. This file outlines the functional project structure that has evolved over time. The current list of teams is available on [Codeberg]https://codeberg.org/org/comaps/teams).
Teams are typically assigned as code owners for certain sections of the repository. Codeberg will automatically request a review from the responsible team when changes are made to the relevant part of the repository in a pull request. See the [CODEOWNERS](../.forgejo/CODEOWNERS) file for more information. Please feel free to tag the relevant team in the comments if you need assistance in a specific area. If you are unsure which team to contact, please tag [@comaps/triage](https://codeberg.org/orgs/comaps/teams/contributors/triage) for help.
## Members
## Triage
- [@comaps/members](https://codeberg.org/org/comaps/teams/members)
- [@comaps/triage](https://codeberg.org/org/comaps/teams)
Active contributors on different projects around CoMaps
People who help with triaging incoming issues and pull requests. Tag this group if you are unsure which team to tag.
## Owners
## Mergers
- [@comaps/owners](https://codeberg.org/org/comaps/teams/owners)
- [@comaps/mergers](https://codeberg.org/org/comaps/teams)
Owners of the CoMaps team and repositories on Codeberg
People who can merge pull requests that are ready.
## Admins
- [@comaps/admins](https://codeberg.org/org/comaps/teams/admins)
- Administrators of different repositories on Codeberg
## Android
@@ -22,95 +26,32 @@ People who can merge pull requests that are ready.
Android experts.
### Android Auto
Android Auto experts (a subteam of Android).
- [@comaps/android-auto](https://codeberg.org/org/comaps/teams)
## iOS
- [@comaps/ios](https://codeberg.org/org/comaps/teams)
- [@comaps/ios](https://codeberg.org/org/comaps/teams/ios)
iOS experts.
## Qt
- [@comaps/qt](https://codeberg.org/org/comaps/teams)
Qt Desktop & Convergent UI experts.
## C++
- [@comaps/cpp](https://codeberg.org/org/comaps/teams)
- [@comaps/cpp](https://codeberg.org/org/comaps/teams/cpp)
C++ experts.
## Rendering
## Server
- [@comaps/rendering](https://codeberg.org/org/comaps/teams)
- [@comaps/server](https://codeberg.org/org/comaps/teams/server)
Rendering experts.
## Data
- [@comaps/map](https://codeberg.org/org/comaps/teams)
- [#data](https://comaps.zulipchat.com/#narrow/channel/477127-Data)
Map data generation team.
## Styles
- [@comaps/styles](https://codeberg.org/org/comaps/teams)
Map styles team.
## DevOps
- [@comaps/devops](https://codeberg.org/org/comaps/teams)
DevOps team.
## Design
- [@comaps/design](https://codeberg.org/org/comaps/teams)
Visual design (icons, graphics, colors, contrast, etc.).
Management of website server, generator server
## Web
- [@comaps/web](https://codeberg.org/org/comaps/teams)
- [@comaps/website](https://codeberg.org/org/comaps/teams/website)
Web development experts.
## Growth
- [@comaps/growth](https://codeberg.org/org/comaps/teams)
Marketing, ASO, SEO, and SMM experts.
## Product
- [@comaps/product](https://codeberg.org/org/comaps/teams)
Product management group.
## Translations
- [@comaps/translations](https://codeberg.org/org/comaps/teams)
- [@comaps/translations](https://codeberg.org/org/comaps/teams/translations)
Internationalization and localization.
Tag [@comaps/translations-langcode](https://codeberg.org/org/comaps/teams) (e.g. @comaps/translations-fr) for specific language.
## Support
- [@comaps/support](https://codeberg.org/org/comaps/teams)
End-user support: feedback in stores, emails, user-facing docs (FAQs).
## Legal
- [@comaps/legal](https://codeberg.org/org/comaps/teams)
Legal team.