mirror of https://github.com/nocodb/nocodb
Tree:
832c7b5059
1-command-setup
DarkPhoenix2704-patch-1
auto-upstall-docs
auto-upstall-minio
chore/fix/rr
chore/pr-build-action
chore/release-tag-creation
codecov_istanbul
del-mssql-support
dependabot/npm_and_yarn/axios-0.28.0
dependabot/npm_and_yarn/body-parser-1.20.3
dependabot/npm_and_yarn/happy-dom-15.10.2
dependabot/npm_and_yarn/nuxt-3.12.4
dependabot/npm_and_yarn/packages/nc-cli/multi-1d234c620e
dependabot/npm_and_yarn/packages/noco-docs/http-proxy-middleware-2.0.7
dependabot/npm_and_yarn/packages/noco-docs/multi-9f37c16f8f
dependabot/npm_and_yarn/packages/noco-docs/multi-cf87d80143
dependabot/npm_and_yarn/packages/noco-docs/multi-d66d039ac5
develop
feat/0523-export-schema
feat/4050-custom-page-size-option
feat/after-login-navigate-to-req-page
feat/better-sqlite3
feat/button
feat/enable-disable-audit-log
feat/export
feat/export-nest
feat/export-nest-dir-restructure
feat/export-nest-pw
feat/local-export
feat/migration-enhancements
feat/node-20
feat/oracle
feat/oracle-support
feat/pdf-export
feat/select-column
feat/socket-api
feat/sortable-project-list
feat/ssr-storage
feat/user-avatar-and-ui-imporovements
feat/user-management-sort
fix/3416-deleting-active-tab
fix/4708-invite-only-signup
fix/8667-wh-pay
fix/comments-added-through-api-token-request-cannot-be-displayed
fix/csv-upload-into-field-set-to-duration-fails
fix/form-complete
fix/good-first
fix/heroku-bugs
fix/mssql-text-ntext
fix/mysql-big-int
fix/override-id
fix/save-rows-on-tab-switch
fix/show-tooltip-on-truncate
fix/src-filter
l10n_develop_2
master
nc-agg/tests
nc-cal/corrections
nc-chore/concurrency
nc-chore/remove-signout-admin-page
nc-enable-calendar-view
nc-expand-rows
nc-feat/amplify
nc-feat/attachment-clean-up
nc-feat/dbricks-v3
nc-feat/enable-thumbnail-migration
nc-feat/extensions
nc-feat/group-by
nc-feat/open-base-table-view-in-new-tab
nc-feat/percent-field-v2
nc-feat/workspace-icon
nc-feat/xc-auth-throttler
nc-fix/at-attachments
nc-fix/cmdk-ws-2
nc-fix/date-picker
nc-fix/dev-merge-conflict
nc-fix/duplicate-code
nc-fix/error-handling
nc-fix/import-url-request-error-message
nc-fix/json-clamp
nc-fix/list-api-bugs
nc-fix/lock-view-and-add-new-row-ex-db
nc-fix/locked-view-changes
nc-fix/lookup
nc-fix/merge-conflict
nc-fix/meta-first
nc-fix/misc
nc-fix/missing-is-ui-allowed-def
nc-fix/nc-dropdown-default-placement
nc-fix/pubsub
nc-fix/redirect-after-signin
nc-fix/rollup-fixes
nc-fix/slt-single-select-conversion
nc-fix/test-cal
nc-fix/thumbnail-worker
nc-fix/wh-followup
nc-nc-expand-rows
nc-node-20
nc-oss/44517c26
nc-oss/8fbb4681
nc-oss/f4dcddf8
nc-refactor/rename-to-base-and-src
nc-refactor/source-table-name-migration
nc-refactor/swagger-api
nc-revert-2521-feat/share-ui
nc/c8f13f67
pr-4468-qr-code-extraction
refactor/icons-update
refactor/knex-timeout
refactor/missing-events
refactor/rename-meta-tables
refactor/ui-updates
refactor/upgrader
renovate/major-major
renovate/minor
renovate/npm-axios-vulnerability
renovate/npm-express-vulnerability
renovate/npm-happy-dom-vulnerability
renovate/npm-mysql2-vulnerability
renovate/npm-nuxt-vulnerability
renovate/patch-patch
s3-endpoint
sync
test/0525-tz2
test/all-db-test
test/develop-reset-pass
test/ncv2-verification-suite
test/percent
test/project-delete-pw-inconsistency
test/pw-duplicate-check
test/query-opt-imp
test/quick-run
test/reset-fail
test/sample-code
test/shardx2
test/shared-form-select-field
test/skip-remove-user-test
test/ut-fix
update-readme-3
0.10.0
0.10.1
0.10.2
0.10.3
0.10.4
0.10.5
0.10.6
0.100.0
0.100.1
0.100.2
0.100.2-finn.0
0.100.2-finn.0-alpha
0.100.2-finn.1
0.100.2-finn.1-alpha
0.101.0
0.101.0-beta.0
0.101.2
0.104.1
0.104.2
0.104.3
0.105.0
0.105.1
0.105.2
0.105.3
0.106.0
0.106.0-beta.0
0.106.0-beta.1
0.106.1
0.107.0
0.107.0-beta.0
0.107.0-beta.1
0.107.1
0.107.2
0.107.3
0.107.4
0.107.5
0.108.0
0.108.0-beta.0
0.108.1
0.109.0
0.109.1
0.109.2
0.109.3
0.109.4
0.109.5
0.109.6
0.109.7
0.11.0
0.11.1
0.11.10
0.11.11
0.11.12
0.11.13
0.11.14
0.11.15
0.11.16
0.11.17
0.11.18
0.11.19
0.11.20
0.11.21
0.11.22
0.11.23
0.11.24
0.11.25
0.11.26
0.11.28
0.11.29
0.11.3
0.11.30
0.11.31
0.11.32
0.11.33
0.11.34
0.11.36
0.11.39
0.11.4
0.11.40
0.11.41
0.11.42
0.11.43
0.11.44
0.11.45
0.11.46
0.11.5
0.11.6
0.11.7
0.11.8
0.11.9
0.111.0
0.111.1
0.111.2
0.111.3
0.111.4
0.200.0
0.202.0
0.202.10
0.202.4
0.202.5
0.202.6
0.202.7
0.202.8
0.202.9
0.203.0
0.203.1
0.203.2
0.204.0
0.204.1
0.204.2
0.204.3
0.204.4
0.204.5
0.204.6
0.204.7
0.204.8
0.204.9
0.205.0
0.205.1
0.207.0
0.207.1
0.207.2
0.207.3
0.250.0
0.250.1
0.250.2
0.251.0
0.251.1
0.251.2
0.251.3
0.252.0
0.253.0
0.255.0
0.255.1
0.255.2
0.256.0
0.257.0
0.257.2
0.258.0
0.4.5
0.4.8
0.4.9
0.80.0
0.81.0
0.81.1
0.82.0
0.82.0-finn.1
0.83.0
0.83.1
0.83.2
0.83.3
0.83.4
0.83.5
0.83.5-finn.0
0.83.5-finn.1
0.83.5-finn.2
0.83.6
0.83.8
0.84.1
0.84.10
0.84.10-finn.0
0.84.10-finn.2
0.84.10-finn.3
0.84.10-finn.6
0.84.12
0.84.13
0.84.13-finn.3
0.84.13-finn.4
0.84.13-finn.5
0.84.14
0.84.14-finn.3
0.84.14-finn.5
0.84.14-finn.6
0.84.14-finn.7
0.84.15
0.84.16
0.84.2
0.84.3
0.84.6
0.84.7
0.84.8
0.84.8-finn.2
0.84.8-finn.3
0.84.9
0.9
0.90.0
0.90.1
0.90.10
0.90.10-finn.0
0.90.10-finn.1
0.90.11
0.90.2
0.90.3
0.90.4
0.90.5
0.90.7
0.90.8
0.90.9
0.91.0
0.91.1
0.91.10
0.91.6
0.91.7
0.91.7-finn.0
0.91.8
0.91.9
0.92.0
0.92.0-finn.0
0.92.0-finn.1
0.92.1
0.92.1-finn.0
0.92.1-finn.1
0.92.1-finn.10
0.92.1-finn.3
0.92.1-finn.4
0.92.1-finn.5
0.92.1-finn.6
0.92.1-finn.7
0.92.1-finn.8
0.92.1-finn.9
0.92.2
0.92.3
0.92.4
0.92.4-finn.0
0.92.4-finn.1
0.92.4-finn.1-beta
0.92.4-finn.2
0.92.4-finn.2-beta
0.92.4-finn.3
0.92.4-finn.4
0.92.4-finn.5
0.92.4-finn.6
0.92.4-finn.7
0.96.0
0.96.1
0.96.2
0.96.4
0.97.0
0.97.0-finn.0
0.97.0-finn.0-beta
0.97.0-finn.1
0.97.0-finn.2
0.97.0-finn.3
0.97.0-finn.3-beta
0.97.0-finn.4
0.97.0-finn.5
0.97.0-finn.6
0.97.0-finn.6-beta
0.97.0-finn.7-beta
0.98.1
0.98.1-finn.0
0.98.1-finn.1
0.98.1-finn.2
0.98.2
0.98.3
0.98.3-finn.0
0.98.3-finn.0-beta
0.98.3-finn.1-beta
0.98.3-finn.2
0.98.3-finn.2-alpha
0.98.3-finn.2-gamma
0.98.3-finn.3
0.98.4
0.98.4-finn.0-alpha
0.98.4-finn.1
0.98.4-finn.2
0.98.4-finn.3
0.98.4-finn.4
0.99.0
0.99.1
0.99.2
crea
v0.10.0
v0.4.2
v0.4.4
v0.9.41
${ noResults }
18 Commits (832c7b505994cc52fef784010435092e1e454ad4)
Author | SHA1 | Message | Date |
---|---|---|---|
աɨռɢӄաօռɢ |
b2f8f0674e
|
0.91.8 Pre-release (#2350)
* add vscode ide's ignore list * fix passing nested query in nested getAst calls * chore: update nocodb-sdk to local path * fix: ignore duplicating app config Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: swagger columnNameParam type re: #2208 Signed-off-by: mertmit <mertmit99@gmail.com> * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * enhancement: hide slider on escape key Signed-off-by: Pranav C <pranavxc@gmail.com> * Add information about maximum value for `limit` in REST API * refactor: folder structure * refactor: folder structure * test: webhook (WIP) Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * test: webhook Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * test/cypress: corrections post develop branch refactoring Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: handle null Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: path correction Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: assign validation for correct column(LTAR) re #2228 Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: disable api docs access for viewer role Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * docs: Repair broken link * fix: DatePickerCell invalid date handling Signed-off-by: mertmit <mertmit99@gmail.com> * fix: nested insert correction in belongs to re #2228 Signed-off-by: Pranav C <pranavxc@gmail.com> * feat: compare with non-os products Signed-off-by: mertmit <mertmit99@gmail.com> * fix: Persian language moving across table Signed-off-by: mertmit <mertmit99@gmail.com> * docs: env variables * docs: env variables reorder * docs: env variables reorder * fix: i18n corrections (WeT-Klb) Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * chore: image text corrections (@WeT-Klb) * chore: upgrade nc-help Signed-off-by: Pranav C <pranavxc@gmail.com> * docs: security.md * Update packages/nocodb/src/lib/noco/meta/api/swagger/helpers/templates/params.ts Co-authored-by: աɨռɢӄաօռɢ <wingkwong.code@gmail.com> * Update SqliteUi.ts - set float for decimal case in getAbstractType (#2260) * set float for decimal case in getAbstractType * fix: add cross-env to nc-gui package.json (#2275) * add cross-env to nc-gui package.json * fix: sanitize project title * chore: disable pr release for draft * chore: attachment log during airtable import Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * modification of the traduction I aslo add some stuff according to the README (it was a different display so i didn't add a lot) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * fix: change password cache logic * fix: add missing job name back * fix: prop types for FlipCard component Signed-off-by: mertmit <mertmit99@gmail.com> * fix: invalid char in content-disposition header Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: question mark in CONCAT * fix: handling lookup column reference in formula Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: throw err if user is already a project user * chore: revise error msg * fix: package lock corrections Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * test/ trigger Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: lock file version Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: package lock after npm/node upgrade Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: cypress package lock json Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * test: lock node-version to 16.15.0 Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * enhancement: allow custom limit values * chore: update query limit description * chore: bump to 16.15.0 * fix: node version * fix: handle invalid limit numbers Signed-off-by: Pranav C <pranavxc@gmail.com> * docs: update default value of pagination max limit value Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: pg database type money Signed-off-by: mertmit <mertmit99@gmail.com> * fix: hasmany pagination - api correction re #2242 Signed-off-by: Pranav C <pranavxc@gmail.com> * script: add nc_017_add_user_token_exp_column * fix: add token_expired * fix: return unauthorized if token is expired * chore: revise toast message * chore: sign out n redirect to sign in page after changing password * fix: SingeSelect/MultiSelect webhook trigger (#2309) * fix: SingleSelect webhook trigger Signed-off-by: mertmit <mertmit99@gmail.com> * fix: MultiSelect webhook trigger Signed-off-by: mertmit <mertmit99@gmail.com> * Fix: Remove user reference from webhook context (#2337) * fix: remove user info from webhook handlebar context Signed-off-by: Pranav C <pranavxc@gmail.com> * docs: update webhook context variables docs Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: only check token_expired in non-public base * fix: make rating readonly in lookup column (#2340) re #2045 Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: exclude sensitive data related to server from SMTP test api Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: session across broswers * fix: reload related table metadata after relation column delete (#2345) re #2344 Signed-off-by: Pranav C <pranavxc@gmail.com> * Fix: Sanitise comment data (#2343) * fix: sanitise row comment description Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: add dom purify and sanitize content - Add DOMPurify in nuxt - On update value encode html tags to render as text in comment Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: add missing dependency Signed-off-by: Pranav C <pranavxc@gmail.com> Co-authored-by: cattong <tangym@jifenbang.net> Co-authored-by: LepkoQQ <LepkoQQ@users.noreply.github.com> Co-authored-by: Pranav C <pranavxc@gmail.com> Co-authored-by: mertmit <mertmit99@gmail.com> Co-authored-by: navi <oof1lab@gmail.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Nils Reichardt <nils@reichardt.io> Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com> Co-authored-by: Toon van Ramshorst <ramshorst@gmail.com> Co-authored-by: GurukiranMH <89529565+GurukiranMH@users.noreply.github.com> Co-authored-by: QuentinDstl <qdesautel@gmail.com> |
2 years ago |
Pranav C |
194b205a92
|
Feat - Airtable import (#2048)
* wip: add job manager Signed-off-by: Pranav C <pranavxc@gmail.com> * wip: job manager impl Signed-off-by: Pranav C <pranavxc@gmail.com> * wip: migrations Signed-off-by: Pranav C <pranavxc@gmail.com> * wip Signed-off-by: Pranav C <pranavxc@gmail.com> * wip: data sync Signed-off-by: Pranav C <pranavxc@gmail.com> * feat: sync source creation Signed-off-by: Pranav C <pranavxc@gmail.com> * feat: api integration Signed-off-by: Pranav C <pranavxc@gmail.com> * chore: remove unused files Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: update to work with project id, handle exceptions Signed-off-by: Pranav C <pranavxc@gmail.com> * feat: show more progress details Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: extract id from source creation api response Signed-off-by: Pranav C <pranavxc@gmail.com> * feat: bring latest changes Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: column creation and data sync Signed-off-by: Pranav C <pranavxc@gmail.com> * refactor: ui improvements Signed-off-by: Pranav C <pranavxc@gmail.com> * refactor: bring changes from sync branch Signed-off-by: Pranav C <pranavxc@gmail.com> * refactor: avoid opening additional socket Signed-off-by: Pranav C <pranavxc@gmail.com> * chore: update package-lock Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: wait until data and LTAR insertion completes Signed-off-by: Pranav C <pranavxc@gmail.com> * feat: load table list after sync completes Signed-off-by: Pranav C <pranavxc@gmail.com> * enhancement: add navigation back to dashboard Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: column order as in base, column visibility clean-up Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * refactor: ui updates Signed-off-by: Pranav C <pranavxc@gmail.com> * enhancement: load first table after sync Signed-off-by: Pranav C <pranavxc@gmail.com> * refactor: common routine to sanitize column names Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * enhancement: accept both hared base id / url Signed-off-by: Pranav C <pranavxc@gmail.com> * refactor: sanitize table name Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * sync: fetch improvements Signed-off-by: mertmit <mertmit99@gmail.com> * sync: fix nestedLookup Signed-off-by: mertmit <mertmit99@gmail.com> * fix: dateTime datatype support Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * enhancement: add validation for credential form Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: migrate default values if configured Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: include support for created time, modified time Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: rollup column function map Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * feat: log column not migrated info Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * feat: fetch template Signed-off-by: mertmit <mertmit99@gmail.com> * fix: move record id & hash to bottom of list Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * refactor: add import from airtable under project tabs menu Signed-off-by: Pranav C <pranavxc@gmail.com> Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com> Co-authored-by: mertmit <mertmit99@gmail.com> |
3 years ago |
աɨռɢӄաօռɢ |
19bbce998e
|
feat: quick import (#2042)
* wip: basic add / import layout * chore: move excel from create project options to project tabs * chore: move drag attributes & rm unused methods * chore: remove create project logic * chore: rm project title text field * fix: import excel into an existing project logic * refactor: add / import menu ui * feat: integrate with import-csv logic * wip: new csv import logic * feat: import csv basic ui * refactor: use excel adapter for csv import * chore: merge excel & csv together * fix: accept csv for import * i18n: add csv to excelSupport * fix: empty map & extract error msg * fix: duplicate columns with system fields during import * chore: rename excel import -> quick import * chore: separate csv & excel for better tele * chore: pass quickImportType * i18n: remove .csv from the message * fix: wrong import type * chore: hide gradient generator * fix: file type validation * i18n: add importCSV * fix: import button text * fix: set modal to false after importing * fix: header text in quick import * chore: show error message in parseAndExtractData * i18n: add csvURL * fix: import url label * fix: wrong import type * fix: failed to execute 'insertBefore' on 'Node' * fix: delete logic & add pv to first column * feat: set default primary value * chore: disable virtual columns in dropdown * fix: set pk & rqd to ID by default * docs: remove creating project from excel * docs: add quick import * feat: add loadFirstCreatedTableTab * feat: open the tab automatically after import * test/cypress: UI corrections for quick-import Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: add UI permission to Add / Import * fix: remove unnecessary drop handler * fix: wrong class name in cypress test * fix: use v-if instead of v-show * fix: move _isUIAllowed to parent v-menu Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Wing-Kam Wong | 7e4291f74a |
i18n: add schemaName
Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com> |
3 years ago |
David Daza | 79ced0aed2 |
update
Signed-off-by: David Daza <03dazal@gmail.com> |
3 years ago |
Wing-Kam Wong | 0190eafdf5 |
fix: line break issue on share invitation link page
Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com> |
3 years ago |
Wing-Kam Wong | f304bf77fe |
feat: add join community link
Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com> |
3 years ago |
Raju Udava | 06caf0f034 |
chore: i18n corrections to de.json
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Raju Udava | 6b46038984 |
refactor: i18n translations
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Raju Udava | 902a3afc76 |
chore: i18n DE translation corrections/3, contributed by WeT-Klb
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Raju Udava | 8957a367ca |
chore: [Language DE] i18n corrections/2. contributed by WeT-Klb
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Raju Udava | 3a0caf0f85 |
chore: [Language DE] i18n corrections. contributed by WeT-Klb
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Raju Udava | 1ff1e358da |
refactor: i18n json file sync with master spreadsheet
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Raju Udava | 6892c75c31 |
refactor: i18n re-org phase-1
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Raju Udava | 67a0a4e3bc |
fix: language files sync with master spreadsheet
Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> |
3 years ago |
Christof Horschitz |
3aee2f15a8
|
Update de.json
https://docs.google.com/spreadsheets/d/1CgkoYkpivme6JXYlmdB8wkyFJQ9NmtpjRRPfzO7cNjg/edit?usp=sharing btw, great system for updating i18n files while keeping them nicely uniform. There is no working translation for Star us on Github. Best bet would be to keep the en text. BR Christof |
3 years ago |
Wing-Kam Wong | 6d81fbdff9 |
i18n: refresh json using noco-i18n
Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com> |
3 years ago |
Pranav C | 525d649be2 |
feat(gui): add i18n translations
Signed-off-by: Pranav C <pranavxc@gmail.com> |
3 years ago |