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

Release v0.16.x #13

Open
wants to merge 265 commits into
base: fix-import-duplicate-usernames
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
265 commits
Select commit Hold shift + click to select a range
12490d2
chore: add recyclescroller credits
ThEditor Jan 5, 2024
b00e981
chore: dynamic height loading
ThEditor Jan 5, 2024
54490df
chore: scroll buffer & item height
ThEditor Jan 5, 2024
bdaf4c4
docs: modifications to recyclescroller
ThEditor Jan 5, 2024
2b0024b
refactor: lint fix
ThEditor Jan 5, 2024
fd46934
refactor: cleanup
ThEditor Jan 6, 2024
979391e
fix: mobile scrolling
ThEditor Jan 24, 2024
fa6100e
fix: extra space at pdf end
ThEditor Jan 24, 2024
fc3a453
Watch core for changes if KDS option is provided
thesujai Jan 25, 2024
3ac6614
refactor: lint fix
ThEditor Jan 25, 2024
3044120
Update env var condition
KshitijThareja Jan 25, 2024
1540ece
Add a check for response.content
KshitijThareja Jan 25, 2024
9b95098
refactor: more lint fixes
ThEditor Jan 26, 2024
16cb765
Make .log function, .setLevel function work as expected
iskipu Jan 30, 2024
a6e7a24
Fixing-Lint
iskipu Jan 30, 2024
96fcdd1
change .log function to .info and remove .log function from Logging.js
iskipu Jan 30, 2024
128f865
using loglevel plugin to set the message prefix
iskipu Jan 31, 2024
f1807ac
make methodname uppercase
iskipu Feb 1, 2024
9ca7f44
[fix] responsive onboarding setup wizard
FidalMathew Feb 8, 2024
e5772da
add parentBreakpoint to LanguageSwitcherList
FidalMathew Feb 12, 2024
5ed8042
lint fix
FidalMathew Feb 12, 2024
0e2fe6b
lint fixes
FidalMathew Feb 12, 2024
9dbe675
Merge pull request #11762 from KshitijThareja/10506
bjester Feb 22, 2024
27fc14b
Try to use a different glob lib for now
bjester Feb 22, 2024
bfbcb3c
Fix glob access
bjester Feb 22, 2024
83a6dab
Just use fast-glob which globby uses underneath
bjester Feb 23, 2024
401c1b6
Merge pull request #11758 from KshitijThareja/9161
rtibbles Feb 23, 2024
0f802b0
Properly handle case insensitive matches for existing usernames in bu…
nick2432 Feb 23, 2024
017af53
Refactor error handling in CustomDjangoCache to handle multiple error…
thesujai Feb 23, 2024
3a28d76
Merge pull request #11820 from iskipu/fix_logging_module
rtibbles Feb 23, 2024
d7086d1
Merge pull request #11913 from bjester/go-go-globby
rtibbles Feb 23, 2024
33790ad
Update packages versions for latest release.
rtibbles Feb 23, 2024
2c34515
Merge pull request #11919 from rtibbles/new_package
rtibbles Feb 24, 2024
11f8ead
Merge pull request #11785 from thesujai/devserver-with-kds
rtibbles Feb 24, 2024
ebda7c3
fix: os_user unnecessary password field
ThEditor Jan 29, 2024
c616eba
fix spinner misalignment and spinner flickering in download page
iskipu Feb 26, 2024
3b37b81
Merge pull request #11671 from ThEditor/scroller
AlexVelezLl Feb 26, 2024
18c297c
Merge pull request #11847 from FidalMathew/issue-7997
AlexVelezLl Feb 26, 2024
85e56d8
Merge pull request #11755 from rtibbles/exact_duplicate_usernames
marcellamaki Feb 27, 2024
c2d3ece
Merge pull request #11899 from nick2432/fix-import-duplicate-usernames
marcellamaki Feb 27, 2024
7a953e2
Merge pull request #11814 from ThEditor/osuserpass
marcellamaki Feb 27, 2024
18448e7
Update Mac tests to run on Python 3.10
rtibbles Jan 19, 2024
dcce356
Merge pull request #11753 from learningequality/rtibbles-patch-1
marcellamaki Feb 27, 2024
51a7503
Merge pull request #11730 from rtibbles/rooting_out_pages
marcellamaki Feb 27, 2024
91f0b3e
Merge pull request #11719 from rtibbles/double_click_blocking
marcellamaki Feb 27, 2024
b3e7aa3
Install KDS 3.0.1
MisRob Feb 29, 2024
650359a
Pin vue and vue-template-compiler to ensure correct version is used i…
rtibbles Feb 29, 2024
a19234a
Merge pull request #11930 from rtibbles/pin_vue_and_templates
bjester Mar 1, 2024
f1f71f2
fix syntax
iskipu Mar 1, 2024
33e4c76
Merge pull request #11929 from MisRob/upgrade-kds
rtibbles Mar 1, 2024
4cf7b76
fix syntax again :)
iskipu Mar 2, 2024
f63cb78
Merge pull request #11921 from iskipu/spinner_misalign
LianaHarris360 Mar 4, 2024
b14e7d3
Install KDS v4.0.1
MisRob Feb 22, 2024
aed7723
Update composable paths
MisRob Mar 5, 2024
a99c811
Rebrand: Replace obsolete grey scales
MisRob Feb 21, 2024
c353c86
Rebrand: Rebrand side navigation and menu option
MisRob Feb 21, 2024
49565e1
Rebrand: Rebrand the app bar
MisRob Feb 21, 2024
13a241c
Rebrand: Use lighter background for pages
MisRob Feb 21, 2024
8107778
Rebrand: Rebrand immersive toolbar
MisRob Feb 21, 2024
efc30e6
Rebrand: Lighten the nav bar link hover state
MisRob Feb 21, 2024
edeba5a
Rebrand: Improve hover contrast
MisRob Feb 21, 2024
91c0117
Rebrand: Hardcode epub themes colors
MisRob Feb 21, 2024
d54148c
Rebrand: Replace content related tokens
MisRob Feb 21, 2024
18d8e90
Rebrand: Replace obsolete green scales
MisRob Feb 21, 2024
69aeef8
Rebrand: Replace obsolete red scales
MisRob Feb 21, 2024
d9316e6
Rebrand: Rebrand auth pages
MisRob Feb 21, 2024
ee8a607
Rebrand: Update brand scales in the side search
MisRob Feb 21, 2024
285cd28
Rebrand: Consistent immersive bar color on topics page
MisRob Feb 22, 2024
163a23b
Rebrand: Replace obsolete amber color
MisRob Feb 22, 2024
977b7f5
Rebrand: Use blue hover state in tabs
MisRob Feb 22, 2024
d6957c2
Rebrand: Use success token
MisRob Feb 22, 2024
0c1962d
Rebrand: Lighter bg color in Change facility
MisRob Feb 22, 2024
8b1a587
Rebrand: Update warning icons color
MisRob Feb 22, 2024
0e0c143
Rebrand: Use higher green scale for better contrast
MisRob Feb 22, 2024
c47920f
Rebrand: Use success token
MisRob Feb 22, 2024
20f1016
Rebrand: Update beginners chip color
MisRob Feb 22, 2024
04ca37d
Rebrand: Lighter background in the practice quiz
MisRob Feb 22, 2024
6352190
Rebrand: Blue hover state for side panel tabs
MisRob Feb 22, 2024
d33fd85
Rebrand: Update Kolibri loader to new branding.
rtibbles Feb 18, 2024
dab7a46
Rebrand: Do not override select style
MisRob Mar 5, 2024
7174f36
Rebrand: replaced hexa and rgb colors with theme palettes and tokens
AllanOXDi Feb 25, 2024
520e92b
Rebrand: fixes typo
AllanOXDi Feb 27, 2024
e97584c
Rebrand: Update snapshots
MisRob Mar 5, 2024
506f677
Rebrand: Use surface token for sign in box
MisRob Mar 5, 2024
4747e7f
Rebrand: Fix grey scales
MisRob Mar 5, 2024
3841c20
Rebrand: Use token for dividers color
MisRob Mar 5, 2024
5cdaa84
Rebrand: Fix dividers color
MisRob Mar 6, 2024
431eee8
Rebrand: Lighter thumbnail placeholder color
MisRob Mar 7, 2024
a14bb10
Rebrand: Make the button one scale darker
MisRob Mar 7, 2024
cae10f0
Rebrand: Make selected text visible
MisRob Mar 7, 2024
e89e40f
Rebrand: Add hover color
MisRob Mar 8, 2024
8ecf8d1
Rebrand: Use token for dividers
MisRob Mar 8, 2024
16e4283
Rebrand: Lighter bg color
MisRob Mar 8, 2024
78c68ef
Rebrand: List items bg color
MisRob Mar 8, 2024
2a38534
Update fonttools to latest version.
rtibbles Mar 9, 2024
acede24
Update font tooling to add support for Semi-Bold fonts.
rtibbles Mar 9, 2024
014db6c
Update existing fonts for SemiBold and add new fonts.
rtibbles Mar 9, 2024
c9e7a9c
Update typeface exclusion to be in Python code for easier documentation.
rtibbles Mar 10, 2024
b4136eb
Update font files for excluded typefaces.
rtibbles Mar 10, 2024
ae19b87
Update Manifest to exclude unused test modules and Django contrib apps.
rtibbles Mar 10, 2024
c888bd8
Use FacilityUser instead of AUTH_USER_MODEL in migrations
Mar 13, 2024
3fa705c
Do further cleanup to remove unneeded swappable dependencies in migra…
rtibbles Feb 28, 2024
4959560
Merge pull request #11984 from jredrejo/do_not_use_AUTH_USER_MODEL
jredrejo Mar 13, 2024
8566e19
Add pre-commit hook and documentation to prevent swappable model depe…
rtibbles Mar 13, 2024
2eb38c8
Update SideNav.vue
poju3185 Mar 15, 2024
b7e52c8
add IsAuthenticated permission class in api/content/contentrequest
thesujai Mar 15, 2024
8ca3654
Merge pull request #11995 from thesujai/IsAuthenticated-permission
rtibbles Mar 17, 2024
69a7adc
detect mouse click accross the whole app
poju3185 Mar 19, 2024
f68122e
Update version of all Android actions.
rtibbles Mar 21, 2024
95d24a6
Hide implementation of isMouseUsed
poju3185 Mar 21, 2024
3f7c981
remove unnecessary lines
poju3185 Mar 21, 2024
dedd596
Update learner viewset to map exam and lesson node ids similarly
LianaHarris360 Mar 21, 2024
97baba7
Update README.md
poju3185 Mar 21, 2024
158dc40
update isMouseUsed as a variable
poju3185 Mar 21, 2024
b8aae9f
add new line at end of file
poju3185 Mar 22, 2024
2773b08
Merge pull request #11992 from poju3185/patch-3
LianaHarris360 Mar 22, 2024
d9766cc
Modify exam missing resource loop evaluation
LianaHarris360 Mar 22, 2024
85698d2
Merge pull request #12008 from LianaHarris360/homepage-missing-resour…
rtibbles Mar 22, 2024
523e62a
Merge pull request #12009 from poju3185/patch-5
rtibbles Mar 22, 2024
40373ad
Merge pull request #12007 from rtibbles/update_android
rtibbles Mar 22, 2024
b16c589
Merge pull request #11998 from poju3185/detect-keyboard-in-perseus
rtibbles Mar 22, 2024
ef2be76
Reuse URL validator for remote URL access.
rtibbles Mar 27, 2024
ad92935
Allow specification of a custom demographic fields for facility users…
rtibbles Mar 26, 2024
497785d
Update FacilityUser API for setting extra_demographics.
rtibbles Mar 27, 2024
c88a8e5
Add components for handling extra demographic fields.
rtibbles Mar 27, 2024
1345102
Allow facility plugin user creation and editing to update demographic…
rtibbles Mar 28, 2024
2a6977e
Simplify extra_settings handling.
rtibbles Mar 28, 2024
8da3a77
Add default demographic setup to device settings.
rtibbles Mar 28, 2024
7be6df8
Add regression test and fix for non-facility scoped duplicate usernam…
rtibbles Mar 30, 2024
7c52206
Merge pull request #12040 from rtibbles/import_duplicate_username_sam…
marcellamaki Apr 1, 2024
033234c
Merge pull request #12032 from rtibbles/demogorgon
marcellamaki Apr 1, 2024
6534191
Merge branch 'release-v0.16.x' into rebrand
MisRob Apr 2, 2024
f4332ed
Install the latest KDS
MisRob Apr 2, 2024
4afb667
Merge pull request #12028 from rtibbles/wash_those_urls_right_out_of_…
marcellamaki Apr 2, 2024
ca1d70d
Remove any order_by to ensure values_list is properly unique.
rtibbles Apr 2, 2024
4f7ed2b
Merge pull request #12044 from rtibbles/no_duplicate_instance_ids
rtibbles Apr 2, 2024
8a714b7
Update GCS upload so that we upload the actual artifact file, not the…
rtibbles Apr 2, 2024
3515276
Fix regression caused by incorrect code copy paste.
rtibbles Apr 3, 2024
6756572
Update yarn.lock file.
rtibbles Apr 3, 2024
fc83f79
Merge pull request #12049 from rtibbles/my_name_is_url
marcellamaki Apr 3, 2024
80d07cc
Pin mac installer in PR builds.
rtibbles Apr 4, 2024
ac7ed7c
Merge pull request #12050 from rtibbles/release_upload
marcellamaki Apr 4, 2024
a12f7cd
Clarify guidance for preventing swappable migrations.
rtibbles Apr 4, 2024
a54107c
Merge pull request #11989 from rtibbles/no_swappable_auth
marcellamaki Apr 4, 2024
b9cca90
Use require.resolve to resolve relative to kolibri-tools
bjester Apr 4, 2024
ec46a67
Use node protocol for node.js APIs
bjester Apr 4, 2024
c5beb6d
Update windows installer version for asset naming fix.
rtibbles Apr 5, 2024
e3358a7
Merge pull request #12055 from rtibbles/update_windows_installer
rtibbles Apr 5, 2024
b6a04cf
Update windows installer for another naming fix. This time for signed…
rtibbles Apr 5, 2024
c446419
Merge pull request #12058 from rtibbles/windows_update
rtibbles Apr 6, 2024
aad2148
Add --manifest-only option
thesujai Apr 6, 2024
421626f
Merge pull request #12052 from bjester/pnpm-peeer
rtibbles Apr 9, 2024
103a27a
Fix issue with duplicate lesson from join.
rtibbles Apr 9, 2024
db3678e
Separate out BCK and other artifact upload.
rtibbles Apr 9, 2024
120e625
Do a correct check to know if the facility has been imported
Apr 10, 2024
228cea0
Adds tests for lesson filtering.
rtibbles Apr 11, 2024
af50fcb
refactor: move content copy logic to copy_content_files
thesujai Apr 11, 2024
4377ab5
add test for exportcontent --manifest-only command
thesujai Apr 11, 2024
dfaeee6
Merge branch 'release-v0.16.x' into rebrand
MisRob Apr 11, 2024
7d8ef6c
Fix position of buttons within search box
MisRob Apr 11, 2024
0e484b3
Remove Chrome cancel button from search inputs
MisRob Apr 11, 2024
0975304
Fix search chip contrast
MisRob Apr 11, 2024
10236a4
Remove select override styles
MisRob Apr 11, 2024
e2a4c43
Remove select override styles
MisRob Apr 11, 2024
42be9a0
remove unused exported_files
thesujai Apr 11, 2024
9d8ea58
Merge pull request #12059 from thesujai/manifest-only
rtibbles Apr 12, 2024
2adb386
Exam report: Avoid loading on question change
AlexVelezLl Apr 12, 2024
971cb9f
Install KDS v4.2.0
MisRob Apr 16, 2024
bfeeca6
Add a comment on usage of a hardcoded color
MisRob Apr 18, 2024
0b29223
Merge branch 'release-v0.16.x' into rebrand
MisRob Apr 18, 2024
6286585
Avoid facilities that have been setup 'on my own' to be importable in…
Apr 18, 2024
8859c83
remove unneeded filter
Apr 18, 2024
fe3dd07
Merge pull request #12068 from rtibbles/multiple_assignment
rtibbles Apr 18, 2024
5eeeb75
Merge pull request #12077 from jredrejo/detecting_import_in_wizard
jredrejo Apr 22, 2024
a23c8ab
Add function to unregister a previously registered hook.
rtibbles Apr 22, 2024
0684fb2
Merge pull request #12100 from rtibbles/unregister_hook
rtibbles Apr 24, 2024
e7edd02
Merge pull request #11976 from rtibbles/to_semi_boldly_go_where_no_on…
marcellamaki Apr 25, 2024
8a8db2a
Merge pull request #11911 from MisRob/rebrand
rtibbles Apr 25, 2024
6c7896b
Upadte now value in SyncStatusDisplay
AlexVelezLl Apr 26, 2024
58e3e31
Update all frontend uses of the Kolibri logo to use KLogo.
rtibbles Apr 8, 2024
ec6e710
Update loading snippet to latest from KLogo.
rtibbles Apr 26, 2024
0f73fe7
Add CairoSVG and Pillow dependent script to convert SVG to logo files.
rtibbles Apr 26, 2024
2b80c84
Update docs theme in line with other repos.
rtibbles Apr 26, 2024
9bbd97b
Update all logos in the backend.
rtibbles Apr 26, 2024
a9f2219
Update all installers for rebranding.
rtibbles May 1, 2024
34e71d7
Pin macos tests to macos-13.
rtibbles May 1, 2024
86a5d19
Merge pull request #12124 from rtibbles/non_svg_logos
marcellamaki May 1, 2024
18c40c9
bump version number
marcellamaki May 1, 2024
561f7c8
Merge pull request #12125 from marcellamaki/bump-version-number
bjester May 1, 2024
6e0bcb5
Don't let users that are used for os user have their passwords set vi…
rtibbles Apr 30, 2024
54dd2c7
Merge pull request #12082 from AlexVelezLl/avoid-loadnig-exam-report
marcellamaki May 2, 2024
46c2b65
Updates mac build to latest.
rtibbles May 3, 2024
f3c787d
Merge pull request #12069 from rtibbles/release_upload
rtibbles May 3, 2024
763cb26
Update facility settings link display for Learn only Device users
LianaHarris360 May 1, 2024
fcd69e0
Add duplicate log consolidation to sync hooks.
rtibbles May 4, 2024
74fd3b2
Merge pull request #12128 from rtibbles/fix_mac_signing
marcellamaki May 6, 2024
1c5f7f8
Always show the background for the Kolibri logo.
rtibbles May 3, 2024
535f108
Merge pull request #12129 from rtibbles/background_check
marcellamaki May 7, 2024
cb98c94
Merge pull request #12110 from AlexVelezLl/fix-update-last-sync
AlexVelezLl May 7, 2024
f10889b
Merge pull request #12123 from LianaHarris360/update-facility-setting…
LianaHarris360 May 7, 2024
c850ff6
Add form to add address after device import
May 7, 2024
7ca7454
Merge pull request #12136 from jredrejo/add_new_device_post
jredrejo May 9, 2024
6daf78c
Merge pull request #12131 from rtibbles/log_reconcile
marcellamaki May 9, 2024
3c864f8
Create a helper function to sort arrays according to their reference …
marcellamaki May 9, 2024
268e3b8
Update brand color validation to match new schema.
rtibbles May 9, 2024
e239cbe
Update color tokens to ones that match the new scheme.
rtibbles May 9, 2024
b375a91
Fix facility sync elapsed time
AlexVelezLl May 10, 2024
79df69a
Fix incorrect language code for Chewa. Use ny instead of nyn.
rtibbles May 9, 2024
4b5de0c
Fix copies modal display.
rtibbles May 9, 2024
00d7f70
Add core function for matching content language to current language.
rtibbles May 9, 2024
f5e9d6d
Merge pull request #12154 from rtibbles/theming_miss
marcellamaki May 13, 2024
4f33dc9
Watch completed repeating tasks
AlexVelezLl May 13, 2024
06546c6
Fix clear task Resource
AlexVelezLl May 13, 2024
ec43861
Merge pull request #12115 from rtibbles/dont_take_my_user
marcellamaki May 13, 2024
32e1e94
Merge pull request #12152 from rtibbles/language!
marcellamaki May 13, 2024
cd6f9d8
Improve readability/simplicity based on pr feedback
marcellamaki May 13, 2024
3bff490
upgrade KDS version to latest, which updates the points icon to match…
marcellamaki May 14, 2024
c22bda9
Set points icon to blue in AppBar
marcellamaki May 14, 2024
7d4d35b
Remove now-unnecessary PointsIcon component, and refactor for simpler…
marcellamaki May 14, 2024
3d44bd9
Merge pull request #12161 from marcellamaki/dropdown-sort-order
marcellamaki May 14, 2024
405b30a
Merge pull request #12167 from marcellamaki/upgrade-kds-version
marcellamaki May 14, 2024
0e57642
Update learner device status to use foreign key rather than one2one f…
rtibbles May 9, 2024
2b05dca
Add sync hook to prevent syncs breaking with older Kolibris.
rtibbles May 9, 2024
e044982
Update logic to always preserve client instance id for single user sync.
rtibbles May 14, 2024
16cbcae
Merge pull request #12158 from AlexVelezLl/fix-facility-sync-elapsedtime
rtibbles May 14, 2024
534aa73
Merge pull request #12153 from rtibbles/learnerdevicesstatus
bjester May 15, 2024
be59568
Update android build version.
rtibbles May 15, 2024
325c080
skip global loading stage on quiz report
marcellamaki May 15, 2024
9f12f37
Update handlers and base 'difficult questions' report component for c…
marcellamaki May 15, 2024
20206df
properly conditionalize lesson.size rendering so that NaN B doesn't s…
marcellamaki May 15, 2024
1b6da4f
Merge pull request #12177 from rtibbles/update_android_versoin
rtibbles May 15, 2024
6d5d859
Remove unneeded computed prop
marcellamaki May 15, 2024
b3cb256
Merge pull request #12178 from marcellamaki/coach-loading-state-reports
marcellamaki May 15, 2024
1b7c572
Don't deprovision within running Kolibri to create preseeded DBs
bjester May 17, 2024
ac8f733
Try without python path; add rm of dist/home
bjester May 20, 2024
3fc8d81
Convert to bash script with query verification
bjester May 21, 2024
641e804
Install sqlite3 dep
bjester May 21, 2024
a5ec048
Merge pull request #12184 from bjester/unpreseed-db
rtibbles May 21, 2024
0c8e419
Handle case when username doesn't exist on remote and try to create it.
rtibbles May 22, 2024
8562347
Truncate the syncqueue table before we add the unique constraint.
rtibbles May 22, 2024
4abdca3
Merge pull request #12197 from rtibbles/truncate_syncqueue
rtibbles May 23, 2024
9027de7
Merge pull request #12193 from rtibbles/username_doesnt_exist
rtibbles May 23, 2024
5194748
Zip the whl file before uploading for BCK step.
rtibbles May 23, 2024
095c5b4
Merge pull request #12201 from rtibbles/really_bck_for_realz
rtibbles May 23, 2024
3212631
Refactor default_theme paths/structure and prep for swapping out imag…
marcellamaki May 23, 2024
36ab2e0
Update background image and background image display.
rtibbles May 24, 2024
54f42c8
Consolidate all theme images in default_theme plugin.
rtibbles May 24, 2024
c002270
Merge pull request #12208 from rtibbles/background_check
rtibbles May 24, 2024
04884db
Add transform to ensure proper layering in Safari.
rtibbles May 27, 2024
01cfaeb
Merge pull request #12213 from rtibbles/surfin_safari
rtibbles May 27, 2024
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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build_whl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Install Ubuntu dependencies
run: |
apt-get -y -qq update
apt-get install -y gettext sudo
apt-get install -y gettext sudo sqlite3
- name: Use Node.js
uses: actions/setup-node@v4
with:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/pr_build_kolibri.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ jobs:
dmg:
name: Build DMG file
needs: whl
uses: learningequality/kolibri-app/.github/workflows/build_mac.yml@main
uses: learningequality/kolibri-app/.github/workflows/build_mac.yml@v0.4.2
with:
whl-file-name: ${{ needs.whl.outputs.whl-file-name }}
ref: main
ref: v0.4.2
deb:
name: Build DEB file
needs: whl
Expand All @@ -48,14 +48,14 @@ jobs:
exe:
name: Build EXE file
needs: whl
uses: learningequality/kolibri-installer-windows/.github/workflows/[email protected].0
uses: learningequality/kolibri-installer-windows/.github/workflows/[email protected].4
with:
whl-file-name: ${{ needs.whl.outputs.whl-file-name }}
ref: v1.6.0
ref: v1.6.4
apk:
name: Build APK file
needs: whl
uses: learningequality/kolibri-installer-android/.github/workflows/[email protected].0
uses: learningequality/kolibri-installer-android/.github/workflows/[email protected].3
with:
tar-file-name: ${{ needs.whl.outputs.tar-file-name }}
ref: v0.1.0
ref: v0.1.3
89 changes: 53 additions & 36 deletions .github/workflows/release_kolibri.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ jobs:
dmg:
name: Build DMG file
needs: whl
uses: learningequality/kolibri-app/.github/workflows/[email protected].0
uses: learningequality/kolibri-app/.github/workflows/[email protected].2
with:
whl-file-name: ${{ needs.whl.outputs.whl-file-name }}
release: true
ref: v0.4.0
ref: v0.4.2
secrets:
KOLIBRI_MAC_APP_IDENTITY: ${{ secrets.KOLIBRI_MAC_APP_IDENTITY }}
KOLIBRI_MAC_APP_CERTIFICATE: ${{ secrets.KOLIBRI_MAC_APP_CERTIFICATE }}
Expand Down Expand Up @@ -69,11 +69,11 @@ jobs:
exe:
name: Build EXE file
needs: whl
uses: learningequality/kolibri-installer-windows/.github/workflows/[email protected].0
uses: learningequality/kolibri-installer-windows/.github/workflows/[email protected].4
with:
whl-file-name: ${{ needs.whl.outputs.whl-file-name }}
release: true
ref: v1.6.0
ref: v1.6.4
secrets:
KOLIBRI_WINDOWS_INSTALLER_CERTIFICATE: ${{ secrets.KOLIBRI_WINDOWS_INSTALLER_CERTIFICATE }}
KOLIBRI_WINDOWS_INSTALLER_CERTIFICATE_PASSWORD: ${{ secrets.KOLIBRI_WINDOWS_INSTALLER_CERTIFICATE_PASSWORD }}
Expand All @@ -86,10 +86,10 @@ jobs:
zip:
name: Build Raspberry Pi Image
needs: deb
uses: learningequality/pi-gen/.github/workflows/[email protected].0
uses: learningequality/pi-gen/.github/workflows/[email protected].1
with:
deb-file-name: ${{ needs.deb.outputs.deb-file-name }}
ref: v0.16.0
ref: v0.16.1
upload_zip:
uses: ./.github/workflows/upload_github_release_asset.yml
needs: zip
Expand All @@ -99,11 +99,11 @@ jobs:
apk:
name: Build Android APK
needs: whl
uses: learningequality/kolibri-installer-android/.github/workflows/[email protected].0
uses: learningequality/kolibri-installer-android/.github/workflows/[email protected].3
with:
tar-file-name: ${{ needs.whl.outputs.tar-file-name }}
release: true
ref: v0.1.0
ref: v0.1.3
secrets:
KOLIBRI_ANDROID_APP_PRODUCTION_KEYSTORE: ${{ secrets.KOLIBRI_ANDROID_APP_PRODUCTION_KEYSTORE }}
KOLIBRI_ANDROID_APP_PRODUCTION_KEYSTORE_PASSWORD: ${{ secrets.KOLIBRI_ANDROID_APP_PRODUCTION_KEYSTORE_PASSWORD }}
Expand All @@ -128,6 +128,38 @@ jobs:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
TESTPYPI_API_TOKEN: ${{ secrets.TESTPYPI_API_TOKEN }}
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
gcs_upload:
name: Upload to Google Cloud Storage for LE Downloads
runs-on: ubuntu-latest
needs: [whl, pex, dmg, deb, exe, zip, apk]
strategy:
matrix:
filename: [
'${{ needs.whl.outputs.whl-file-name }}',
'${{ needs.whl.outputs.tar-file-name }}',
'${{ needs.pex.outputs.pex-file-name }}',
'${{ needs.dmg.outputs.dmg-file-name }}',
'${{ needs.deb.outputs.deb-file-name }}',
'${{ needs.exe.outputs.exe-file-name }}',
'${{ needs.zip.outputs.zip-file-name }}',
'${{ needs.apk.outputs.apk-file-name }}',
]
steps:
- name: Download ${{ matrix.filename }} artifact
uses: actions/download-artifact@v4
with:
name: ${{ matrix.filename }}
path: dist
- uses: 'google-github-actions/auth@v2'
with:
credentials_json: '${{ secrets.GH_UPLOADER_GCP_SA_CREDENTIALS }}'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v2'
- name: Upload files to Google Cloud Storage
uses: 'google-github-actions/upload-cloud-storage@v2'
with:
path: 'dist/${{ matrix.filename }}'
destination: '${{ secrets.KOLIBRI_PUBLIC_RELEASE_GCS_BUCKET }}/downloads/kolibri/${{ github.event.release.name }}'
block_release_step:
# This step ties to the release environment which requires manual approval
# before it can execute. Once manual approval has been granted, the release is
Expand All @@ -153,52 +185,37 @@ jobs:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
TESTPYPI_API_TOKEN: ${{ secrets.TESTPYPI_API_TOKEN }}
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
gcs_upload:
name: Upload to Google Cloud Storage
if: ${{ !github.event.release.prerelease }}
bck_gcs_upload:
name: Upload WHL file to Google Cloud Storage for BCK
if: ${{ !github.event.release.prerelease && github.event.release.name == 'latest'}}
runs-on: ubuntu-latest
needs: [block_release_step, whl, pex, dmg, deb, exe, zip, apk]
strategy:
matrix:
filename: [
'${{ needs.whl.outputs.whl-file-name }}',
'${{ needs.whl.outputs.tar-file-name }}',
'${{ needs.pex.outputs.pex-file-name }}',
'${{ needs.dmg.outputs.dmg-file-name }}',
'${{ needs.deb.outputs.deb-file-name }}',
'${{ needs.exe.outputs.exe-file-name }}',
'${{ needs.zip.outputs.zip-file-name }}',
'${{ needs.apk.outputs.apk-file-name }}',
]
needs: [block_release_step, whl]
steps:
- name: Download ${{ matrix.filename }} artifact
- name: Download WHL artifact
uses: actions/download-artifact@v4
with:
name: ${{ matrix.filename }}
name: ${{ needs.whl.outputs.whl-file-name }}
path: dist
- name: Zip whl file
run: zip -j dist/kolibri.zip dist/${{ needs.whl.outputs.whl-file-name }}
- uses: 'google-github-actions/auth@v2'
with:
credentials_json: '${{ secrets.GH_UPLOADER_GCP_SA_CREDENTIALS }}'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v2'
- name: Upload files to Google Cloud Storage
uses: 'google-github-actions/upload-cloud-storage@v2'
with:
path: 'dist/${{ matrix.filename }}'
destination: '${{ secrets.KOLIBRI_PUBLIC_RELEASE_GCS_BUCKET }}/downloads/kolibri/${{ github.event.release.name }}/${{ matrix.filename }}'
- name: Upload to BCK bucket
if: ${{ github.event.release.name == 'latest' }} && ${{ endsWith(matrix.filename, '.whl') }}
uses: 'google-github-actions/upload-cloud-storage@v2'
with:
path: 'dist/${{ matrix.filename }}'
destination: '${{ secrets.BCK_PROD_BUILD_ARTIFACT_GCS_BUCKET }}/${{ matrix.filename }}'
path: 'dist/kolibri.zip'
destination: '${{ secrets.BCK_PROD_BUILD_ARTIFACT_GCS_BUCKET }}'
parent: false
android_release:
name: Release Android App
if: ${{ !github.event.release.prerelease }}
needs: [apk, block_release_step]
uses: learningequality/kolibri-installer-android/.github/workflows/[email protected].0
uses: learningequality/kolibri-installer-android/.github/workflows/[email protected].3
with:
version-code: ${{ needs.apk.outputs.version-code }}
ref: v0.1.0
ref: v0.1.3
secrets:
KOLIBRI_ANDROID_PLAY_STORE_API_SERVICE_ACCOUNT_JSON: ${{ secrets.KOLIBRI_ANDROID_PLAY_STORE_API_SERVICE_ACCOUNT_JSON }}
4 changes: 2 additions & 2 deletions .github/workflows/tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,11 @@ jobs:
macos:
name: Python unit tests on Mac OS
needs: pre_job
runs-on: macos-latest
runs-on: macos-13
strategy:
max-parallel: 5
matrix:
python-version: [3.6]
python-version: ['3.10']

steps:
- uses: actions/checkout@v4
Expand Down
5 changes: 5 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ repos:
kolibri/core/logger/migrations/0003_auto_20170531_1140\.py|
kolibri/core/logger/migrations/0005_auto_20180514_1419\.py|
)$
- id: no-swappable-auth-migrations
name: No migrations with swappable auth models (settings.AUTH_USER_MODEL)
entry: settings\.AUTH_USER_MODEL
language: pygrep
files: migrations/.*\.py$
- repo: https://github.com/isidentical/teyit
rev: 0.4.3
hooks:
Expand Down
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,4 @@ If you have contributed to Kolibri, feel free to add your name and Github accoun
| Kris Katkus | katkuskris |
| Garvit Singhal | GarvitSinghal47 |
| Mazen Oweiss | moweiss |
| Nikhil Sharma | ThEditor |
12 changes: 11 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ recursive-include kolibri/utils *
recursive-include kolibri/*/static *.*
recursive-include kolibri/*/build/ *.json
recursive-include kolibri/plugins/*/build *.json
include kolibri/plugins/*/content_types.json

recursive-exclude kolibri/* *pyc
recursive-exclude kolibri/* *pyo
Expand All @@ -27,3 +26,14 @@ exclude kolibri/plugins/*/buildConfig.js

recursive-exclude kolibri/dist *pyc
prune kolibri/dist/*/__pycache___

# Exclude the unused Django GIS and Humanize app
prune kolibri/dist/django/contrib/gis
prune kolibri/dist/django/contrib/humanize

# Exclude all test directories
prune kolibri/**/tests
prune kolibri/**/test
prune kolibri/**/testing
# Except the Django one which is needed by rest_framework
recursive-include kolibri/dist/django/test *.py
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ writeversion:
@echo "Current version is now `cat kolibri/VERSION`"

preseeddb:
PYTHONPATH=".:$PYTHONPATH" python build_tools/preseed_home.py
./build_tools/preseed_home.sh

setrequirements:
rm -r requirements.txt || true # remove requirements.txt
Expand Down
82 changes: 82 additions & 0 deletions build_tools/logo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
import argparse
import os
import tempfile

import cairosvg
from PIL import Image


# The default input size is based off the current size of the Kolibri logo SVG
def convert_svg_to_image(
svg_file_path, output_file_path, input_size=200, final_size=None
):
ext = os.path.splitext(output_file_path)[1].lower()
temp_png_file = tempfile.NamedTemporaryFile(suffix=ext, delete=False)
# Scale up, but don't scale down, as we don't want to lose quality
cairosvg.svg2png(
url=svg_file_path,
write_to=temp_png_file.name,
scale=final_size / input_size
if final_size and final_size > input_size
else 1.0,
)

with Image.open(temp_png_file.name) as img:
# Convert image to RGBA if not already in that mode
if img.mode != "RGBA":
img = img.convert("RGBA")

# Get the bounding box
bbox = img.getbbox()

# Crop the image to the contents
img_cropped = img.crop(bbox)

# Determine the dimensions for a square based on the cropped image
max_dim = max(img_cropped.size)
square_size = (max_dim, max_dim)

# Create a new square image with a transparent background
square_img = Image.new("RGBA", square_size, (0, 0, 0, 0))

# Calculate top-left corner coordinates to paste the cropped image centered in the square canvas
paste_position = (
(max_dim - img_cropped.width) // 2,
(max_dim - img_cropped.height) // 2,
)
square_img.paste(img_cropped, paste_position)

if final_size:
# If a final size is specified, resize the square image to these dimensions
square_img = square_img.resize((final_size, final_size), Image.LANCZOS)

# Remove the dot from the extension and convert to uppercase
output_format = ext[1:].upper()

if output_format == "JPG":
output_format = "JPEG" # Adjust for JPEG

# Convert RGBA to RGB for JPEG, as JPEG does not support transparency
if output_format == "JPEG":
square_img = square_img.convert("RGB")

# Save the final result
square_img.save(output_file_path, format=output_format)


if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Convert SVG to cropped and optionally resized image file - will infer the type from the extension."
)
parser.add_argument("svg_file", help="Path to the input SVG file.")
parser.add_argument("image_file", help="Path to the output file.")
parser.add_argument(
"--size",
type=int,
help="Optional final size to resize the output image to a square of this size.",
default=None,
)

args = parser.parse_args()

convert_svg_to_image(args.svg_file, args.image_file, final_size=args.size)
32 changes: 0 additions & 32 deletions build_tools/preseed_home.py

This file was deleted.

Loading