Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
522b1a0
Merge pull request #1131 from socious-io/main
satanmourner Apr 25, 2025
deeb458
Merge pull request #1225 from socious-io/main
ImanRezasefat Jul 16, 2025
b1d8d16
ci: fix vars
mohammadhb Aug 20, 2025
590c9f6
Merge pull request #1263 from socious-io/ci/fix-cicd
ImanRezasefat Aug 20, 2025
579c014
add tags to profile
ImanRezasefat Oct 2, 2025
8742461
Merge pull request #1309 from socious-io/tier-tags
ImanRezasefat Oct 6, 2025
45b0eda
Headline is now optional it user profile edit modal
Jul 17, 2025
fb23f7f
chore(deps-dev): bump @vitejs/plugin-react-swc from 3.10.0 to 3.11.0
dependabot[bot] Jul 21, 2025
41ccad6
chore(deps-dev): bump eslint-plugin-prettier from 5.5.1 to 5.5.3
dependabot[bot] Jul 21, 2025
b6cf8f0
chore(deps-dev): bump @capacitor/cli from 7.2.0 to 7.4.2
dependabot[bot] Jul 21, 2025
4ab3b7b
chore(deps-dev): bump eslint-config-prettier from 10.1.5 to 10.1.8
dependabot[bot] Jul 21, 2025
77bc737
login test with socious id
Jul 21, 2025
68bda8c
comments have been resolved
Jul 23, 2025
25ac9f4
chore(deps): bump ethers from 6.14.3 to 6.15.0
dependabot[bot] Jul 28, 2025
8da4b4d
chore(deps-dev): bump @testing-library/jest-dom from 6.6.3 to 6.6.4
dependabot[bot] Jul 28, 2025
a309378
chore(deps): bump @tanstack/react-query from 5.80.7 to 5.83.0
dependabot[bot] Jul 28, 2025
647f3ef
chore(deps): bump @reown/appkit from 1.7.11 to 1.7.16
dependabot[bot] Jul 28, 2025
8274ec1
fix: everytime no query param or selected language by user, set brows…
satanmourner Jul 24, 2025
2e03fdf
chore(deps): bump @reown/appkit-adapter-wagmi from 1.7.11 to 1.7.17
dependabot[bot] Aug 4, 2025
87d685a
chore(deps-dev): bump @swc/core from 1.13.1 to 1.13.3
dependabot[bot] Aug 4, 2025
b9d4b95
chore(deps-dev): bump cypress from 14.4.0 to 14.5.3
dependabot[bot] Aug 4, 2025
321e133
chore(deps): bump markdown-to-jsx from 7.7.6 to 7.7.12
dependabot[bot] Aug 4, 2025
1c89399
chore(deps-dev): bump globals from 16.2.0 to 16.3.0
dependabot[bot] Aug 4, 2025
aff445b
chore(deps-dev): bump prettier from 3.5.3 to 3.6.2
dependabot[bot] Aug 11, 2025
d414593
chore(deps-dev): bump eslint-plugin-i18next from 6.1.1 to 6.1.3
dependabot[bot] Aug 11, 2025
83d41cb
chore(deps): bump @capacitor/camera from 7.0.1 to 7.0.2
dependabot[bot] Aug 11, 2025
b40fd6f
chore(deps-dev): bump @babel/core from 7.27.3 to 7.28.0
dependabot[bot] Aug 11, 2025
fb6b4da
feat: className prop for CopyLink component
satanmourner Aug 7, 2025
ec53ff3
refactor: redirect referral to Account Center
satanmourner Aug 7, 2025
08a8acc
fix: env temp for socious verify url
satanmourner Jul 28, 2025
0708ea2
fix: separate sent and received requests tabs
satanmourner Aug 12, 2025
377df82
feat: notFound and fallback error pages
satanmourner Aug 14, 2025
2ffea77
chore(deps-dev): bump cypress from 14.5.3 to 14.5.4
dependabot[bot] Aug 18, 2025
7fbcf06
chore(deps-dev): bump ts-jest from 29.3.4 to 29.4.1
dependabot[bot] Aug 18, 2025
bf58854
chore(deps): bump @capacitor/core from 7.4.1 to 7.4.2
dependabot[bot] Aug 18, 2025
eb74e76
chore(deps): bump @reown/appkit from 1.7.17 to 1.7.19
dependabot[bot] Aug 18, 2025
adf0d20
chore: add env variables
mohammadhb Aug 19, 2025
73da364
chore(deps): bump react-select from 5.10.1 to 5.10.2
dependabot[bot] Aug 25, 2025
48b1630
chore(deps-dev): bump jest-environment-jsdom from 29.7.0 to 30.0.5
dependabot[bot] Aug 25, 2025
15509ad
chore(deps-dev): bump eslint from 9.31.0 to 9.34.0
dependabot[bot] Aug 27, 2025
ec58dd5
fix: cypress environments issue
satanmourner Aug 24, 2025
3b278ac
fix: added env variables to docker.yml
satanmourner Aug 24, 2025
06bcb2a
chore(deps): bump dotenv from 16.5.0 to 17.2.1
dependabot[bot] Sep 1, 2025
543fb83
chore(deps-dev): bump eslint-plugin-prettier from 5.5.3 to 5.5.4
dependabot[bot] Sep 1, 2025
4dc3dcf
chore(deps): bump yup from 1.6.1 to 1.7.0
dependabot[bot] Sep 1, 2025
803dac0
chore(deps): bump react-i18next from 15.5.2 to 15.7.3
dependabot[bot] Sep 1, 2025
82d1dad
chore(deps-dev): bump @eslint/compat from 1.2.9 to 1.3.2
dependabot[bot] Sep 1, 2025
63e3202
messaging tests
Aug 11, 2025
dce7021
messaging tests mock edit
Aug 11, 2025
ab98b71
fixed the typo in describe
Aug 12, 2025
3054cc7
test automation for job search
Aug 12, 2025
9090c3a
wallet component
jeyem Aug 25, 2025
2de5edd
fix: adapt connect button with Socious Work
satanmourner Aug 25, 2025
2ef072e
fix: critical Cardano escrow release fee calculation bug
jeyem Sep 5, 2025
32947ad
fix: price limitation error for each crypto token or fiat currency
satanmourner Sep 4, 2025
9ae5831
chore(deps-dev): bump eslint-plugin-cypress from 4.3.0 to 5.1.1
dependabot[bot] Sep 8, 2025
15b92c0
chore(deps): bump @capacitor/action-sheet from 7.0.1 to 7.0.2
dependabot[bot] Sep 8, 2025
b7ceab9
chore(deps-dev): bump postcss from 8.5.4 to 8.5.6
dependabot[bot] Sep 8, 2025
dee9d4b
chore(deps): bump js-base64 from 3.7.7 to 3.7.8
dependabot[bot] Sep 8, 2025
30aee80
chore(deps): bump @reown/appkit from 1.7.19 to 1.8.2
dependabot[bot] Sep 8, 2025
a548e79
fixed socoius id integration on mobile apps
ImanRezasefat Sep 15, 2025
2072aac
chore(deps-dev): bump @typescript-eslint/parser from 8.35.0 to 8.43.0
dependabot[bot] Sep 15, 2025
98dc471
chore(deps): bump @datadog/browser-rum from 6.8.0 to 6.19.0
dependabot[bot] Sep 15, 2025
ec6ee1f
chore(deps): bump @capgo/capacitor-social-login from 7.6.3 to 7.11.3
dependabot[bot] Sep 17, 2025
943aeb5
chore: generate other languages translations with Gemini
satanmourner Aug 20, 2025
33ab4bb
fix: min value for undefined state in amount field
satanmourner Sep 17, 2025
c6fb797
chore(deps-dev): bump jest-environment-jsdom from 30.0.5 to 30.1.2
dependabot[bot] Sep 22, 2025
d8e7ca8
chore(deps): bump @capacitor/ios from 7.2.0 to 7.4.3
dependabot[bot] Sep 22, 2025
7ca894c
chore(deps): bump axios from 1.10.0 to 1.12.2
dependabot[bot] Sep 22, 2025
cb7c905
chore(deps): bump wagmi from 2.16.1 to 2.17.1
dependabot[bot] Sep 22, 2025
cf9f009
fix: prevent input fields scroll in hire job flow
satanmourner Sep 18, 2025
b7e3c9c
feat: account center logo on global navigation portal
satanmourner Sep 22, 2025
71325ee
chore(deps): bump @capacitor/toast from 7.0.1 to 7.0.2
dependabot[bot] Sep 29, 2025
b4dda97
chore(deps-dev): bump lint-staged from 16.1.0 to 16.2.3
dependabot[bot] Sep 29, 2025
b59a7bc
chore(deps-dev): bump globals from 16.3.0 to 16.4.0
dependabot[bot] Sep 29, 2025
4cdfca0
chore(deps): bump @stripe/stripe-js from 7.4.0 to 7.9.0
dependabot[bot] Sep 29, 2025
bf152ea
add tags to profile
ImanRezasefat Oct 2, 2025
ac04a5d
chore(deps): bump i18next-browser-languagedetector from 8.1.0 to 8.2.0
dependabot[bot] Oct 6, 2025
f6ff2d8
chore(deps-dev): bump @typescript-eslint/parser from 8.43.0 to 8.45.0
dependabot[bot] Oct 6, 2025
7842b17
chore(deps): bump dotenv from 17.2.1 to 17.2.3
dependabot[bot] Oct 6, 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
5 changes: 3 additions & 2 deletions .env.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ VITE_STRIPE_PUBLIC_KEY=''
VITE_APP_URL=https://app.socious.io/
VITE_ACCOUNT_CENTER_URL=https://dev-id.socious.io/
VITE_FUND_URL=https://devfund.socious.org/
VITE_VERIFY_URL=https://wallet.socious.io/
VITE_VERIFY_URL=https://devapp.shinid.com/
VITE_CLIENT_SECRET_TOKEN_CLIENT_ID=''
VITE_CLIENT_SECRET_TOKEN_REDIRECT_URL=https://app.socious.io/jobIndexing
STORYBOOK_FIGMA_ACCESS_TOKEN=''
VITE_GOOGLE_RECAPTCHA_SITE_KEY=''
VITE_BLOCKFROST_PROJECT_ID=''
VITE_CARDANO_PAYOUT_ADERESS=''
VITE_CARDANO_PAYOUT_ADERESS=''
GEMINI_API_KEY=
3 changes: 3 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,14 @@ jobs:
PORT: 3000
VITE_ENV: development
VITE_BASE_URL: https://dev.socious.io/api/v2
VITE_BASE_URL_V3: https://dev.socious.io/api/v3
VITE_APP_URL: https://webapp2.socious.io/
VITE_JP_STRIPE_PUBLIC_KEY: pk_test
VITE_DAPP_ENV: testnet
VITE_GOOGLE_OAUTH_CLIENT_ID: id
VITE_GOOGLE_RECAPTCHA_SITE_KEY: secret
VITE_BLOCKFROST_PROJECT_ID: id
VITE_CARDANO_PAYOUT_ADERESS: address

- name: Check Status
if: failure()
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/release-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ jobs:
VITE_ACCOUNT_CENTER_URL: ${{ vars.ACCOUNT_CENTER_URL }}
VITE_FUND_URL: ${{ vars.FUND_URL }}
VITE_VERIFY_URL: ${{ vars.VERIFY_URL }}
VITE_BLOCKFROST_PROJECT_ID: ${{ vars.BLOCKFROST_PROJECT_ID }}
VITE_CARDANO_PAYOUT_ADERESS: ${{ vars.CARDANO_PAYOUT_ADERESS }}

- name: Get the latest version code using
uses: Vacxe/google-play-cli-kt@0.4.8
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/release-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ jobs:
VITE_ACCOUNT_CENTER_URL: ${{ vars.ACCOUNT_CENTER_URL }}
VITE_FUND_URL: ${{ vars.FUND_URL }}
VITE_VERIFY_URL: ${{ vars.VERIFY_URL }}
VITE_BLOCKFROST_PROJECT_ID: ${{ vars.BLOCKFROST_PROJECT_ID }}
VITE_CARDANO_PAYOUT_ADERESS: ${{ vars.CARDANO_PAYOUT_ADERESS }}

- name: Extracting Google Service plist
run: |
Expand All @@ -108,7 +110,7 @@ jobs:

- name: Extracting provisioning profile (Distribution)
run: |
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
mkdir -p ${{env.MOBILE_PROVISIONING_PATH}}
echo ${{ env.IOS_PROVISIONING_PROFILE_BASE64 }} | base64 --decode > ${{env.MOBILE_PROVISIONING_PATH}}/socious-provisioing-profile-distribution-appstore.mobileprovision

- name: Extracting auth key file (Apple API)
Expand All @@ -122,7 +124,7 @@ jobs:

- name: Extracting signing certificate
run: |
echo ${{ env.IOS_DISTRIBUTION_CERT_BASE64 }} | base64 --decode > $SIGNING_CERTIFICATE_PATH
echo ${{ env.IOS_DISTRIBUTION_CERT_BASE64 }} | base64 --decode > ${{ env.SIGNING_CERTIFICATE_PATH }}

- name: Extracting and Installing signing certificate (.p12)
env:
Expand Down
6 changes: 0 additions & 6 deletions cypress.config.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
import { defineConfig } from 'cypress';
import dotenv from 'dotenv';

dotenv.config();

export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
config.env.api_server = process.env.VITE_BASE_URL;
config.env.app_url = process.env.VITE_APP_URL;

return config;
},
},
Expand Down
6 changes: 6 additions & 0 deletions cypress.env.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"api_server": "https://dev.socious.io/api/v2",
"api_server_v3": "https://dev.socious.io/api/v3",
"app_url": "http://localhost:3000/",
"account_center_url": "https://dev-id.socious.io"
}
2 changes: 2 additions & 0 deletions cypress/e2e/authentication/constants.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
//Server
export const API_SERVER = Cypress.env('api_server');
export const API_SERVER_V3 = Cypress.env('api_server_v3');
export const APP_URL = Cypress.env('app_url');
export const ACCOUNT_CENTER_URL = Cypress.env('account_center_url');

//Credentials
export const VALID_EMAIL = 'valid_email@gmail.com';
Expand Down
123 changes: 123 additions & 0 deletions cypress/e2e/authentication/login.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
import { IDENTITIES, PROFILE, PROJECTS, SESSION } from './mocks';
import {
ACCOUNT_CENTER_URL,
API_SERVER,
API_SERVER_V3,
APP_URL,
VALID_EMAIL,
VALID_PASSWORD,
} from '../authentication/constants';

describe('Login with Socious Id', () => {
let loginRequestCount = 0;
let identitiesRequestCount = 0;
beforeEach(() => {
cy.intercept('POST', `**/batch*`, req => req.reply(200, { message: 'success' })).as('postWallet');
cy.intercept('GET', `**/batch*`, req => req.reply(200, { message: 'success' })).as('getWallet');
cy.intercept('GET', `**/w3m/v1/getDesktopListings*`, req => req.reply(200, { message: 'success' })).as(
'getDesktopListings',
);
cy.intercept('GET', `**/w3m/v1/getMobileListings*`, req => req.reply(200, { message: 'success' })).as(
'getMobileListings',
);
cy.intercept('POST', '**/cdn-cgi/rum*', req => req.reply(200, { message: 'success' })).as('getrum');
cy.intercept('GET', '**/chats/unreads/counts*', req => req.reply(200, { count: 0 })).as('getUnreadCounts');
cy.intercept('POST', '**/cdn-cgi/zaraz/t*', req => req.reply(200, { message: 'success' })).as('postT');
cy.intercept('POST', 'https://pulse.walletconnect.org/e?projectId=*&st=*&sv=*', req => {
req.reply(200);
});
cy.intercept('GET', 'https://api.web3modal.org/getAnalyticsConfig?projectId=*&st=*&sv=*', req => {
req.reply(200);
});
cy.intercept('GET', `${API_SERVER}/identities?t=*`, req => {
identitiesRequestCount++;
if (identitiesRequestCount <= 1) {
req.reply(401);
} else {
req.reply(200, IDENTITIES);
}
}).as('getIdentities');
cy.fixture('login.html').then(htmlContent => {
cy.intercept('POST', 'https://dev-id.socious.io/auth/login', req => {
loginRequestCount++;

if (loginRequestCount === 1) {
req.reply({
statusCode: 302,
headers: {
'Content-Type': 'text/html',
},
body: htmlContent,
});
} else {
req.redirect(`${APP_URL}oauth/socious?code=*&identity_id=*&session=*&status=success`);
}
}).as('postLogin');
});
cy.intercept('GET', 'https://dev-id.socious.io/auth/confirm', req => {
cy.fixture('confirm.html').then(htmlContent => {
req.reply({
statusCode: 200,
headers: {
'Content-Type': 'text/html',
},
body: htmlContent,
});
});
}).as('authConfirm');

cy.intercept('POST', `${API_SERVER_V3}/auth/session`, req => {
req.reply(200, SESSION);
});
cy.intercept('GET', `${API_SERVER}/user/profile?t=*`, req => {
req.reply(200, PROFILE);
});

cy.intercept('GET', `${API_SERVER}/projects*`, req => req.reply(200, PROJECTS)).as('getProjects');
cy.intercept('GET', `${API_SERVER}/skills*`, req => req.reply(200, { message: 'success' })).as('getSkills');
cy.intercept('GET', `${API_SERVER}/notifications*`, req => req.reply(200, { message: 'success' })).as(
'getNotifications',
);
});
Cypress.on('uncaught:exception', err => {
if (err.message.includes('WebAssembly.instantiate(): Out of memory')) {
return false;
}
});

it('should log in user from the intro page using Socious ID', () => {
cy.visit(APP_URL + 'intro');

cy.contains('Get Started').should('be.visible');
cy.contains('button', 'Continue').should('be.visible');
cy.contains('button', 'Continue').click();

cy.origin(
`${ACCOUNT_CENTER_URL}`,
{
args: {
email: VALID_EMAIL,
password: VALID_PASSWORD,
},
},
({ email, password }) => {
cy.get('input[type="email"]', { timeout: 10000 }).should('be.visible');
cy.location('pathname').should('include', '/auth/login');

cy.get('input[type="email"]').type(email);
cy.get('input[type="password"]').should('be.visible');
cy.get('input[type="password"]').type(password);

cy.contains('button', 'Sign in').should('be.enabled');
cy.contains('button', 'Sign in').click();

cy.contains('Your individual profile').should('be.visible');
cy.contains('Your organization profiles').should('be.visible');

cy.get('button.consent-account').should('be.visible');
cy.wait('@postLogin');
cy.get('button.consent-account').first().click();
},
);
});
});
Loading
Loading