{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":563092267,"defaultBranch":"main","name":"nrel-openpath-join-page","ownerLogin":"e-mission","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-11-07T22:17:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10713694?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1684599311.0926368","currentOid":""},"activityList":{"items":[{"before":"fc124af778596f3d343896a1ce494f59840e87ab","after":"8fa3bf47bb132bdd1dc5d39221a83d24de1549b8","ref":"refs/heads/main","pushedAt":"2024-08-21T23:29:42.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #32 from MukuFlash03/upload-artifact\n\nUpload artifact to support internal script","shortMessageHtmlLink":"Merge pull request #32 from MukuFlash03/upload-artifact"}},{"before":"c99360f5e5ead99a7a379a3b98abe4fb499d02ea","after":"fc124af778596f3d343896a1ce494f59840e87ab","ref":"refs/heads/main","pushedAt":"2024-05-19T16:40:57.000Z","pushType":"pr_merge","commitsCount":10,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #29 from MukuFlash03/image-push\n\nRedesign Build Deployment Process (External)","shortMessageHtmlLink":"Merge pull request #29 from MukuFlash03/image-push"}},{"before":"93984950ee881cf5f7b6c462d72e1c1948706ccc","after":"c99360f5e5ead99a7a379a3b98abe4fb499d02ea","ref":"refs/heads/main","pushedAt":"2024-04-08T23:58:42.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #30 from MukuFlash03/vuln-fix-apr24-2\n\nLatest vulnerability fixes","shortMessageHtmlLink":"Merge pull request #30 from MukuFlash03/vuln-fix-apr24-2"}},{"before":"b41136550a82772efc5fe49115227c6d7c53679f","after":"93984950ee881cf5f7b6c462d72e1c1948706ccc","ref":"refs/heads/main","pushedAt":"2023-12-21T04:31:18.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #27 from MukuFlash03/fix-vuln\n\nFixing latest Docker image vulnerabilities","shortMessageHtmlLink":"Merge pull request #27 from MukuFlash03/fix-vuln"}},{"before":"b8c31a74aeee94e9ddf0b4218fd030f8e1ff963f","after":"b41136550a82772efc5fe49115227c6d7c53679f","ref":"refs/heads/main","pushedAt":"2023-10-20T23:41:37.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #26 from MukuFlash03/fix-vuln\n\nDocker base node image upgraded.","shortMessageHtmlLink":"Merge pull request #26 from MukuFlash03/fix-vuln"}},{"before":"2cd1f6ed14a74ead85d44dead93128aaf9aee3f9","after":"b8c31a74aeee94e9ddf0b4218fd030f8e1ff963f","ref":"refs/heads/main","pushedAt":"2023-10-19T02:16:24.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #24 from Abby-Wheelis/fix-autogen-choice\n\nUpdate OPCODE_AUTOGEN conditions","shortMessageHtmlLink":"Merge pull request #24 from Abby-Wheelis/fix-autogen-choice"}},{"before":"97f150190f37b27dd239392ab5255461a1665a0c","after":"2cd1f6ed14a74ead85d44dead93128aaf9aee3f9","ref":"refs/heads/main","pushedAt":"2023-10-18T02:01:36.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #25 from MukuFlash03/fix-vuln\n\nFixing vulnerabilities in Docker images","shortMessageHtmlLink":"Merge pull request #25 from MukuFlash03/fix-vuln"}},{"before":"2d56b13e7c15748a3cbe0e181b043c76049758f1","after":"97f150190f37b27dd239392ab5255461a1665a0c","ref":"refs/heads/main","pushedAt":"2023-08-14T17:23:46.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #23 from Abby-Wheelis/update-screenshot\n\nUpdate lo dashboard screenshot","shortMessageHtmlLink":"Merge pull request #23 from Abby-Wheelis/update-screenshot"}},{"before":"0c4e6e78cdd878da38566b82a0e54a086f8da476","after":"2d56b13e7c15748a3cbe0e181b043c76049758f1","ref":"refs/heads/main","pushedAt":"2023-08-11T19:09:52.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #22 from Abby-Wheelis/aug-10-updates\n\nFeedback about Translations","shortMessageHtmlLink":"Merge pull request #22 from Abby-Wheelis/aug-10-updates"}},{"before":"49e63118365edf9e82fa8c48935f329c732bd6b2","after":"0c4e6e78cdd878da38566b82a0e54a086f8da476","ref":"refs/heads/main","pushedAt":"2023-07-14T18:07:18.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #21 from Abby-Wheelis/fix-lang-load-timing\n\nFix lang load timing","shortMessageHtmlLink":"Merge pull request #21 from Abby-Wheelis/fix-lang-load-timing"}},{"before":"b68fd8ba9b9bbcccac89607c4420461912c7938d","after":"49e63118365edf9e82fa8c48935f329c732bd6b2","ref":"refs/heads/main","pushedAt":"2023-07-13T20:14:49.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #20 from Abby-Wheelis/fileNameFix\n\nFix name of LO dashboard preview","shortMessageHtmlLink":"Merge pull request #20 from Abby-Wheelis/fileNameFix"}},{"before":"2e531b0d0431a9dbdbb63132e553e693b063e874","after":"b68fd8ba9b9bbcccac89607c4420461912c7938d","ref":"refs/heads/main","pushedAt":"2023-07-10T23:26:05.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #19 from Abby-Wheelis/main\n\nPolishing changes from recent updates","shortMessageHtmlLink":"Merge pull request #19 from Abby-Wheelis/main"}},{"before":"4cb61f03ff9b63142a40e3d02bf94af90eb77666","after":"2e531b0d0431a9dbdbb63132e553e693b063e874","ref":"refs/heads/main","pushedAt":"2023-07-10T00:03:49.000Z","pushType":"pr_merge","commitsCount":13,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #18 from Abby-Wheelis/main\n\nLao translations AND dynamic configuration of language menu","shortMessageHtmlLink":"Merge pull request #18 from Abby-Wheelis/main"}},{"before":"222320595a0e78254e2ee83042a04bcd1ed7459c","after":"4cb61f03ff9b63142a40e3d02bf94af90eb77666","ref":"refs/heads/main","pushedAt":"2023-06-22T06:12:20.132Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Clarifications to directions for testing configs with join page (#16)\n\n* added lao option\r\n\r\nStill hard coded, but would function as a work-around for now\r\n\r\n* clarifying instructions a bit\r\n\r\nadding in detail about changing the path to the config file you want to use!\r\n\r\n* format\r\n\r\n* forgot a slash\r\n\r\n* more changes to the format\r\n\r\n* reset index.html to separate lang updates from readme updates\r\n\r\n* Remove extraneous whitespace change\r\n\r\n* clear up GET confusion\r\n\r\nI was doing the wrong thing! It is correct to not use the full hard-coded url and instead use the STUDY_NAME param and GET param to communicate which study/program page to use\r\n\r\n---------\r\n\r\nCo-authored-by: shankari ","shortMessageHtmlLink":"Clarifications to directions for testing configs with join page (#16)"}},{"before":"10c768a7826c103d82c61e966dc581bde77ca9f4","after":"222320595a0e78254e2ee83042a04bcd1ed7459c","ref":"refs/heads/main","pushedAt":"2023-06-21T23:40:40.101Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #17 from Abby-Wheelis/main\n\nAdding additional languages","shortMessageHtmlLink":"Merge pull request #17 from Abby-Wheelis/main"}},{"before":"5f0e05d0083328e0138d1494a277e38079b6f6cd","after":"10c768a7826c103d82c61e966dc581bde77ca9f4","ref":"refs/heads/main","pushedAt":"2023-06-16T01:35:14.747Z","pushType":"push","commitsCount":1,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":":children_crossing: Requests from comms to fix the open access page","shortMessageHtmlLink":"🚸 Requests from comms to fix the open access page"}},{"before":"8d3f116f3f39e55baaf4feae05af253e22ec263a","after":null,"ref":"refs/heads/support_token_generation","pushedAt":"2023-05-20T16:15:11.092Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"}},{"before":"a3425b6c1c8597b11c447a0f790aedc5b067ad9f","after":"5f0e05d0083328e0138d1494a277e38079b6f6cd","ref":"refs/heads/main","pushedAt":"2023-05-20T16:15:05.913Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #15 from e-mission/support_token_generation\n\n🌐 Translate the error messages on the join page as well","shortMessageHtmlLink":"Merge pull request #15 from e-mission/support_token_generation"}},{"before":"6feb592ae446590e1f192fbe1df4dceb9f5575bc","after":"8d3f116f3f39e55baaf4feae05af253e22ec263a","ref":"refs/heads/support_token_generation","pushedAt":"2023-05-20T16:14:23.593Z","pushType":"push","commitsCount":1,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"🌐 Translate the error messages on the join page as well\n\nThey are not actually used, since:\n- I have never seen the clipboard action fail\n- We always load the page first in English\n\nBut at least when we fix https://github.com/e-mission/e-mission-docs/issues/905\nwe are ready for things to work\n\nThis is the final final fix for\nhttps://github.com/e-mission/e-mission-docs/issues/850","shortMessageHtmlLink":"🌐 Translate the error messages on the join page as well"}},{"before":"5b66385035aa3587182166a31eb89a217608bffb","after":"a3425b6c1c8597b11c447a0f790aedc5b067ad9f","ref":"refs/heads/main","pushedAt":"2023-05-20T15:55:55.376Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #13 from e-mission/support_token_generation\n\n✨ Support auto-inferring the study/program from the token","shortMessageHtmlLink":"Merge pull request #13 from e-mission/support_token_generation"}},{"before":"ffa5168e2beac504231594d47c1a75a19da967b0","after":"6feb592ae446590e1f192fbe1df4dceb9f5575bc","ref":"refs/heads/support_token_generation","pushedAt":"2023-05-20T01:51:39.157Z","pushType":"push","commitsCount":1,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":":fire: remove the source from the generated join URL\n\nSince we don't check for it on the phone any more\nRelated phone change:\nhttps://github.com/e-mission/e-mission-phone/commit/e7105752e27891503935479051ffcbc75b4fb1f0","shortMessageHtmlLink":"🔥 remove the source from the generated join URL"}},{"before":"a1a3993ec2635614a7fd4fbd841f00af5d4680f0","after":"ffa5168e2beac504231594d47c1a75a19da967b0","ref":"refs/heads/support_token_generation","pushedAt":"2023-05-20T01:45:53.433Z","pushType":"push","commitsCount":3,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"🚸 change the icons to better represent the options for non-autogenerated tokens","shortMessageHtmlLink":"🚸 change the icons to better represent the options for non-autogenera…"}},{"before":"3d14925d4f26eb343655fd80d3355f3b53d1b6aa","after":"a1a3993ec2635614a7fd4fbd841f00af5d4680f0","ref":"refs/heads/support_token_generation","pushedAt":"2023-05-15T06:28:44.864Z","pushType":"push","commitsCount":1,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":":recycle: Decouple the token autogeneration from the study/program question\n\nWe now have a program with a mode of interest (e-bike) that wants to use\nautogenerated tokens (denver CASR). So we decouple the token generation method\nfrom whether it is evaluating an intervention or not.\n\nTODO: we should really decouple the question of whether there is an\nintervention also from study vs. program. Study vs. program was a useful\nshortcut while beginning to define the configs but is turning out to be too\nrigid now.\n\nSummary of changes:\n- Define an \"opcode\" section of the config which indicates whether the token\nshould be autogenerated or not, and whether it should include subgroups or\nnot.\n- create an OPCODE_AUTOGEN variable that, in a backwards compatible fashion,\n indicates whether the opcode should be autogenerated or not\n- change all the study/program checks to check OPCODE_AUTOGEN instead\n- while determining the subgroups, handle the case where the opcode section\n does not exist in the config\n- change the text to indicate that the opcode is generated by the platform, not\n necessarily in the phone app\n\nTesting done:\n\n-- check the change\n\n```\n \"intro\": {\n \"program_or_study\": \"program\",\n \"subgroups\": [\"low-income-regular\", \"unrestricted-regular\",\n \"low-income-cargo\", \"unrestricted-cargo\"],\n```\n\nhttp://localhost:3274/?study_config=denver-casr&sub_group=low-income-regular\nsays to use provided token\n\n```\n \"opcode\": {\n \"autogen\": true,\n \"subgroups\": [\"low-income-regular\", \"unrestricted-regular\",\n \"low-income-cargo\", \"unrestricted-cargo\"]\n },\n```\n\nhttp://localhost:3274/?study_config=denver-casr\nError: Subgroup null not found in list low-income-regular,unrestricted-regular,low-income-cargo,unrestricted-cargo\n\nhttp://localhost:3274/?study_config=denver-casr&sub_group=low-income-regular\nautogenerates token\n\n-- Check for regressions\n\nhttp://localhost:3274/?study_config=open-access&sub_group=low-income-regular\nautogenerates token\n\nhttp://localhost:3274/?study_config=caeb-co&sub_group=low-income-regular\nsays to use provided token","shortMessageHtmlLink":"♻️ Decouple the token autogeneration from the study/program question"}},{"before":"00d51caba24ff29b0ab80ca8a793b384424c06ce","after":"3d14925d4f26eb343655fd80d3355f3b53d1b6aa","ref":"refs/heads/support_token_generation","pushedAt":"2023-05-14T04:54:46.058Z","pushType":"push","commitsCount":4,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge branch 'main' of https://github.com/e-mission/nrel-openpath-join-page into support_token_generation","shortMessageHtmlLink":"Merge branch 'main' of https://github.com/e-mission/nrel-openpath-joi…"}},{"before":"9efe1ccd6d22bb6d8d1da42a3c5d0eae2cd73a63","after":null,"ref":"refs/heads/draft_csp","pushedAt":"2023-05-12T01:29:00.715Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"}},{"before":"bf816c2c8ed4457b1bff6e01dfe067300a441024","after":"5b66385035aa3587182166a31eb89a217608bffb","ref":"refs/heads/main","pushedAt":"2023-05-12T01:27:50.670Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":"Merge pull request #14 from e-mission/draft_csp\n\n🔒 Implement a basic CSP so that we can pass the WAVA scan","shortMessageHtmlLink":"Merge pull request #14 from e-mission/draft_csp"}},{"before":null,"after":"9efe1ccd6d22bb6d8d1da42a3c5d0eae2cd73a63","ref":"refs/heads/draft_csp","pushedAt":"2023-05-12T01:27:06.797Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":":lock: implement a basic CSP so that we can pass the WAVA scan\n\nThe CSP has multiple limitations:\n- uses `unsafe-inline`\n - I tried the nonce and it didn't work\n- puts everything into `default-src`\n- still has issues with the loading of some google fonts\n\nFiled issue to have the template fixed\nhttps://github.com/NREL/nrel-app-template-bootstrap4/issues/16","shortMessageHtmlLink":"🔒 implement a basic CSP so that we can pass the WAVA scan"}},{"before":"cbe87c40107d9bd61e513d744929f436ccaba575","after":"00d51caba24ff29b0ab80ca8a793b384424c06ce","ref":"refs/heads/support_token_generation","pushedAt":"2023-05-11T19:14:52.515Z","pushType":"push","commitsCount":1,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":":recycle: Split the study and program instructions\n\nCreate two separate divs for study and program instructions since they are different\n- Text for study continues to say that we should scan the QR code/click to join\n- Text for program says that we should scan the QR code or copy-paste the code to join\n- Added the format of the token (starting with `nrelop_`) to clarify","shortMessageHtmlLink":"♻️ Split the study and program instructions"}},{"before":null,"after":"cbe87c40107d9bd61e513d744929f436ccaba575","ref":"refs/heads/support_token_generation","pushedAt":"2023-05-11T17:54:56.583Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":":sparkles: Support programs and studies properly\n\nIf this is a study, we autogenerate the token\nIf this is a program, we tell users to scan or copy-paste the token provided to them\n - this required adding a couple of images to tell users what to do so that\n we don't have an awkward blank space inbetween the instructions\n\n- we hide the QR code and link for studies\n- we hide the program instructions for programs\n\nTesting done:\n- loaded study; saw the autogenerated token; no program instructions\n- loaded program; saw the program instructions, did not see QR code and link","shortMessageHtmlLink":"✨ Support programs and studies properly"}},{"before":"2ff6f7b7cc4aa28bb2fe41e81d059b7d062ee10b","after":"bf816c2c8ed4457b1bff6e01dfe067300a441024","ref":"refs/heads/main","pushedAt":"2023-05-10T17:53:00.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"shankari","name":"K. Shankari","path":"/shankari","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2423263?s=80&v=4"},"commit":{"message":":refactor: Read the list of languages from the dropdown instead of duplicating it\n\nWe are now ready to start making the actual changes to generate the token\ndirectly in the page","shortMessageHtmlLink":":refactor: Read the list of languages from the dropdown instead of du…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yMVQyMzoyOTo0Mi4wMDAwMDBazwAAAASguD1M","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yMVQyMzoyOTo0Mi4wMDAwMDBazwAAAASguD1M","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNS0xMFQxNzo1MzowMC4wMDAwMDBazwAAAAMqHAX9"}},"title":"Activity · e-mission/nrel-openpath-join-page"}