From e9296a11ae9efdaf9faae6c7c00ec3e4a57eed97 Mon Sep 17 00:00:00 2001 From: Van Go <35277477+van-go@users.noreply.github.com> Date: Thu, 3 Jul 2025 11:11:04 -0500 Subject: [PATCH 1/4] add back NH Type, Year Pub, and Clear filters --- .../PublicationSearchToolbar.tsx | 56 ++++++++++++++++++- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/client/modules/datafiles/src/publications/PublicationSearchToolbar/PublicationSearchToolbar.tsx b/client/modules/datafiles/src/publications/PublicationSearchToolbar/PublicationSearchToolbar.tsx index 282a690228..e753a92d1d 100644 --- a/client/modules/datafiles/src/publications/PublicationSearchToolbar/PublicationSearchToolbar.tsx +++ b/client/modules/datafiles/src/publications/PublicationSearchToolbar/PublicationSearchToolbar.tsx @@ -1,7 +1,9 @@ -import { Button, Form, Input, Collapse } from 'antd'; +import { Button, Form, Input, Collapse, Select } from 'antd'; import React, { useRef, useState } from 'react'; import { useSearchParams } from 'react-router-dom'; import { useSyncExternalStore } from 'react'; +import * as dropdownOptions from '../../projects/forms/ProjectFormDropdowns'; +import styles from './PublicationSearchToolbar.module.css' const { Panel } = Collapse; @@ -71,8 +73,16 @@ export const PublicationSearchToolbar: React.FC = () => { setSearchParams(params); }; + const currentYear = new Date(Date.now()).getUTCFullYear(); + //Show events going back to 2015 + const datesInRange = []; + for (let i = currentYear; i >= 2015; i--) { + datesInRange.push(i); + } + const yearOptions = [...datesInRange.map((y) => ({ label: y, value: y }))]; + return ( -
{
)} +
+ +   + setSearchParam('pub-year', v)} + /> +
+ + ); }; From 67a0e65e615b559841babf83053d4d96e72722ce Mon Sep 17 00:00:00 2001 From: Van Go <35277477+van-go@users.noreply.github.com> Date: Wed, 9 Jul 2025 15:10:44 -0500 Subject: [PATCH 2/4] cert-updates --- conf/nginx/certificates/ca.key | 30 ------------ conf/nginx/certificates/designsafe.dev.crt | 41 ++++++++-------- conf/nginx/certificates/designsafe.dev.ext | 6 ++- conf/nginx/certificates/designsafe.dev.key | 55 +++++++++++----------- 4 files changed, 52 insertions(+), 80 deletions(-) diff --git a/conf/nginx/certificates/ca.key b/conf/nginx/certificates/ca.key index e7836846ee..e69de29bb2 100644 --- a/conf/nginx/certificates/ca.key +++ b/conf/nginx/certificates/ca.key @@ -1,30 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,A0674BB40262439F - -sj/ZggeiSee5FvBheTu07NJVuBS4DExYFzSYW9YBbNsFFI01d1h8gvSWBIc+kinq -ZiTpjbXRYGmRqi9zv6bjHZUn+BR8fnENoJPgLIRiRoDnG/2GQ1JGE88TvDhFAZy9 -yxQgUK5+c43J3UBzFX3lf90S9rLUB381z0zKARLFSddn+xS9Gq4NGmfZZeoO79Vi -AqlJfIDqRTkxrogBKsA5Nnb9KF+uOVWj51zRCMAgLZVBSgU4HhhTlziLXguq6KCR -7ennB0ssqroCxsyOtJ2bLb9ktKJ7jVCcBc/Djb3mIzLp44dlSNN/TYa2kB5Z7yII -b4VfjylxWAZZ6Y0vTVFVs246Sq4ol7kRYHfcplwvS2yGACbt6i/2sfkpMk5wUClh -naC5bsyk7K8CTql1r9FpCm9hhp4/Dd4GTurrROpfubcZNMNFsDLiHpi14mSZ4af3 -RXrJ7sCf5h5JP7HDZkinY5ARnN9MrF21hqNa3GoB3RaOTYJrDXr0Yfs2SnoYAXYT -fILLXa22kVA8QsACoCU4tUwBtm6LJ0MOj/Qs1/NCCjGWfw0xMWsIiNMJvw5BM9Rs -9ttxdCEYASf3sck/m5Z3mALZtpwS1QYarM565TZPpdoegRP9CqSIOjNz2/J49CNl -ZLXkFmWIMQ5RVbucXdQveGqaIpUAC/w4qIyFOqGCDT2GyvhDko/zYXx5Nwx4Yyhw -7hM33/Xh7zEIotshyP+WpDCwt2dATMJwJdMXUz+iiuqjGNRzcTn+KaDp3Yq743/H -zXymc+CyfNgGYE1n5qXwI+D1abDzdcXl7GFgpy+ITJNVQR5P5uZEqInyMYtFqIRV -1wJ44lYMDREgOi1f8e5RtJYlzd/7m6tX27VqKcvVXlNS9kL4/vH41D2kcNf6iDis -whSKCk49A3zxjYhOkDIBPFg7SI7ELBYxeB6Sv8neYNPVQZ0QlUhkkVUWbkbvZh2I -2tH5EaHmapIUOINCrtV5SSC2WCPmXy7FB5bcRSozzpWW8HByZPnTLVrPhIiGXIXj -+F444loDEhJOZukf2eOCzpF0RNdKqUq9CcwEcyh9QjO2QOa/phR7Jgs7qo48httW -0IIASEzeZAb3H9xWMH+W9WvOhK0yhhj7UXj2TPCIizeuLrwm52p+t+ANosExfiEi -VQVqYZXSHV2UXGMKyRTs/2PGmj99JcV/qoqR0qqcO1UPRMtTTEUsCGAS8i8GcfyH -cZGo93KTPuPCgSAMLvyaO6RFeAlcvO0ElfsYXv/b1U/CCPTynT/e2wkRhmVqv46y -8mi/E9VR0NH0JghSYuFV+lOFfzixlQOqMBKfMbJXNXKejia4YDq5a0KaNbe87DLD -9zVrJIM8BOSPFqtrwtyLHU74iiDOs+i51eEdl1EQtjnimvFStTO4zJIsMFvyIfbn -6tQBtuiDBDNjn7WPPSPgvb6NeVQ0ZgS24kcSo84uP+vbrT3ZtAqluTlxV4czYvUM -sJATah9kTiLEL4mIGYWrqPerBdo1Ab4yy5ClzCm6cB2vxasdz9ek0wj5JRa0Ik+T -NZJeP8JibymdICzHBEwPug3YSmngwH01gpEsjP1o4WcOCODnPpCUKg== ------END RSA PRIVATE KEY----- diff --git a/conf/nginx/certificates/designsafe.dev.crt b/conf/nginx/certificates/designsafe.dev.crt index d3fd9bfd54..84a8e7761d 100644 --- a/conf/nginx/certificates/designsafe.dev.crt +++ b/conf/nginx/certificates/designsafe.dev.crt @@ -1,24 +1,21 @@ -----BEGIN CERTIFICATE----- -MIID8DCCAtigAwIBAgIJAJGHL9vRRgcBMA0GCSqGSIb3DQEBCwUAMFsxCzAJBgNV -BAYTAlVTMQswCQYDVQQIDAJUWDEPMA0GA1UEBwwGQXVzdGluMQ0wCwYDVQQKDARU -QUNDMQwwCgYDVQQLDANXTUExETAPBgNVBAMMCGNlcC50ZXN0MB4XDTIzMDQwNTE4 -NTM1OFoXDTI1MDcwODE4NTM1OFowZDELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRl -eGFzMQ8wDQYDVQQHDAZBdXN0aW4xDTALBgNVBAoMBFRBQ0MxDDAKBgNVBAsMA1dN -QTEXMBUGA1UEAwwORGVzaWduc2FmZS5kZXYwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQClQQHj8nG/br0aYQsbX1+u9PEC9zp5+0/DvNwMjtaXGptai9YI -xoYMpoNX3pbYERRynuy1zGGErZv6JxFVgd0xUs83yJ+4ulr9wGiGdCgWAqG7acnc -AnBej4erG3qEVu8tvyf6lSoRFs4bXsH+S6zyBe6A1VIas6O8fArf0NxdTpf56tbR -8WYUC1O3rgdvWLl6yo/+WTqTYp6Xs7gPknyLyJ3dwGB2rfrSy8bvJNPZ9y4q++zU -tDyIt+xbkjYmyHpKYftCU1diWHbLNhxuGDL6u6wusFThUmyPzP4YjR/b0EL4MzTg -j57LFI00skXfE8rhbu2/g8X/uJ9MZC6UUb0BAgMBAAGjga0wgaowdQYDVR0jBG4w -bKFfpF0wWzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlRYMQ8wDQYDVQQHDAZBdXN0 -aW4xDTALBgNVBAoMBFRBQ0MxDDAKBgNVBAsMA1dNQTERMA8GA1UEAwwIY2VwLnRl -c3SCCQCXpZU7zTBRGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DAZBgNVHREEEjAQ -gg5kZXNpZ25zYWZlLmRldjANBgkqhkiG9w0BAQsFAAOCAQEAF2vZVCFVRVk5QIba -t6cZh5sAXTnHs4p2ffY7HJAUCOi/m5t0wKFcZ4DPfCUxq5OpgoxOTGVz80Z7vYEh -bWkUNjpwulVcqLVoa8CNHedPIJpNn7ePcijF3ki8s+nWrXbbqc02zHTuTiXHarF9 -gILOu6H1rquAIoqJm8LKgrwqJzp7yOOg/nyUkx2pQe+X8jMAiq4XuQ1B7Q5x9VgH -e3BksVwrOg6I1W8+Q1jBJV8zx1EmQkRjkflV5i1XEvYJsrGDNdj6lVEZDE1f2ttF -zxxbCThkLwO1iLA7DlNQNLGr68Tja2daMPw6NGHTycddAw6Kwec7/pJYLyVieGXh -bYW3lw== +MIIDdzCCAl+gAwIBAgIUHL39MeXWry/ATKXUK9Y9ebweS48wDQYJKoZIhvcNAQEL +BQAwZDELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0 +aW4xDTALBgNVBAoMBFRBQ0MxDDAKBgNVBAsMA1dNQTEXMBUGA1UEAwwORGVzaWdu +c2FmZS5kZXYwHhcNMjUwNzA5MTk1NDUyWhcNMjYwNzA5MTk1NDUyWjBkMQswCQYD +VQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxDzANBgNVBAcMBkF1c3RpbjENMAsGA1UE +CgwEVEFDQzEMMAoGA1UECwwDV01BMRcwFQYDVQQDDA5EZXNpZ25zYWZlLmRldjCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOJ0q1UVJ6n38PvNgCUSt7Mb +UO7zZ3JQ81uxQ1LW9VfM4HIraCqUiucqXM6wuHy4rcgj5luSZ7OLuTgbSNbOs/os +gAHNZ+WcrH5Mg/jf82ur+Wnz087TcKZkmOfkkW1D83KW/AXhdt4EZsjbQxwUPuTG +o7aLGh3+FxsYYjgOSz0SX0iHEu17R96LdKedQ6mriXLWvZ0n4jHP0qGxhTkLE/KK +ULF1yvkWeY1bLarz86x4laEzVD5urahyZEkv7pkS45tIgb8asO9cW/koSAMgBGha +3AIuCTNsFp6pIDRe08DBbjEb4VT/xkwvNhVvK4lTra6Fj20gmUXIDNkK8+LGM80C +AwEAAaMhMB8wHQYDVR0OBBYEFD/+PNonvWy31xQkRaRpZjCdSfTNMA0GCSqGSIb3 +DQEBCwUAA4IBAQBz48ZTXrB+9j3O9iPmqtxG8cKJXYKDTPifP6z8t2uCl/NDR13n +mlEybH40SB8F7vf3hss/KpTyprDJ4jrRjo/j8vdrkCMqOs11J/dgo9HHytu5GIDz +RS1spwXfH2TSe5nd1qENpDYoSBWqBUTaCQ12n0m5gpy4V4r2W4F6m5VsBX8OvzGY +178HxbuWyVWRsmGnOiLpHwm8XRpt5ecielABkfiWNsWZTHD8i/l9osE1WIuPNiN+ +v0UvxPPPFJeyxB7e5o+rinKowYBf3qhXP44woLreaiS5+qC0t/i4MwMiSx3oFA6z +LKJvOrMEEiyDmL2Zfl5M89k/Smzj2Ekq9MlH -----END CERTIFICATE----- diff --git a/conf/nginx/certificates/designsafe.dev.ext b/conf/nginx/certificates/designsafe.dev.ext index 97ae65db18..3306fe526f 100644 --- a/conf/nginx/certificates/designsafe.dev.ext +++ b/conf/nginx/certificates/designsafe.dev.ext @@ -1,7 +1,11 @@ authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE -keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment +keyUsage = digitalSignature, keyEncipherment +extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = designsafe.dev +DNS.2 = localhost +IP.1 = 127.0.0.1 +IP.2 = ::1 diff --git a/conf/nginx/certificates/designsafe.dev.key b/conf/nginx/certificates/designsafe.dev.key index d91e4c48cf..1c4d1d22c6 100644 --- a/conf/nginx/certificates/designsafe.dev.key +++ b/conf/nginx/certificates/designsafe.dev.key @@ -1,27 +1,28 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpQIBAAKCAQEApUEB4/Jxv269GmELG19frvTxAvc6eftPw7zcDI7WlxqbWovW -CMaGDKaDV96W2BEUcp7stcxhhK2b+icRVYHdMVLPN8ifuLpa/cBohnQoFgKhu2nJ -3AJwXo+Hqxt6hFbvLb8n+pUqERbOG17B/kus8gXugNVSGrOjvHwK39DcXU6X+erW -0fFmFAtTt64Hb1i5esqP/lk6k2Kel7O4D5J8i8id3cBgdq360svG7yTT2fcuKvvs -1LQ8iLfsW5I2Jsh6SmH7QlNXYlh2yzYcbhgy+rusLrBU4VJsj8z+GI0f29BC+DM0 -4I+eyxSNNLJF3xPK4W7tv4PF/7ifTGQulFG9AQIDAQABAoIBAQCH4ratO/Uw1tyE -znuVnI1PjnaIW8cn+vESIUBIy0PFqMlKYWY0fRpJWLr0DEK5lQHdZrV6oH8n3KI/ -xtRIHatHHbLrSfucqRCdTBQnS2iTAMMBGvI0CYVhHGEQ4F2UaO/wDBnRwcp/luMQ -OpEGjC/ALAR8x+zlrAXdvZorhNFPnzgg/GvQ3+F4xJPPnuxa/O70yKb4kfWx4+SJ -riUu0bhTvyqP2y49KWCoUATdRiHjg5IEZjYNM1pD3QamX4PS6icmhm0txA6ZO1Pv -4kVV7Q4c3aMDxZ30sa74y51ojzV7QD3zJZxD6W3CKBK+APa7NQOY9J6lpIyvZ8dI -zXU7tzKJAoGBANnsBj8+ZgRTXj4EOuc4Pok2ZCH/Lq8bs3j7OL4okXx6QNnUHgd6 -1ItnlkJZpDJIjX9ICpvIM7vupVW50BNclX2fiXiu4xVaLEHE162zBDlShVJMakwR -gC4+k2geY1MWzePPe6I6q/7omjipQzIWfDLl7hiNEsJwJ2yo/VfhhDsHAoGBAMIh -ECFv0qCAqMTFnKAnZpqhYIzBMBUgNkGaTSsmbVyBL8IQ7CsrTGCPmoGVyGKqJ9NZ -0OXJhh6woYap8BJNyS0F/UBOg3n1DEARj1PaGxwz1ngguqOz0vK1Fd8JrNqtNgM2 -ftFRWiiVrITWSGo2O6Z4qo2H7wzo65q+5MM3Vl23AoGAFEAUjIf13u0IUub9ukLF -vOZrA6W85tTCJrnhmfoXGuQZZqSJbdSCL7oegmfmFC4dx/gf1D4UYKBaiM7NgR8X -XScYFTjbLT7F4g6ypBeAivsaHH2xWwQ9Tw7Nj91TCYOS+lpreLXPCc7/lchU0DC6 -tdgb+fgSCDN31mcVs7bnHL0CgYEAmpNpHLbFqDfKKqSPSpcVBBtrnahWePvlN+d9 -etZmTjovpP+Ejfs0Hc863+Q8YxPKEmh6Bf6pZNaQR4IZPvnhLpCOTx41Ym7VCk7x -KXuKCrLcG1s0QhV16vx2Jdq2YIl7cKN754A3oglMDZnyn1//r1Z1t6x9lHIC6H0H -+smdY5ECgYEA0YmyOMHvdl2ARJuTZ+/kzq+7XwEibMp8CdYglmUK+UqkgKHgRXdC -5fpzBkwD/LzqgceNBwUW95S5AUE7L0jsGYdlr0aCQzfvtOXoaby+TWX467wll4oe -5YM4PDa66T8cfQ7MdEGe19mUoAyQmGxHzCbBuk/i4GdVv0Uq4oSms0s= ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDidKtVFSep9/D7 +zYAlErezG1Du82dyUPNbsUNS1vVXzOByK2gqlIrnKlzOsLh8uK3II+Zbkmezi7k4 +G0jWzrP6LIABzWflnKx+TIP43/Nrq/lp89PO03CmZJjn5JFtQ/NylvwF4XbeBGbI +20McFD7kxqO2ixod/hcbGGI4Dks9El9IhxLte0fei3SnnUOpq4ly1r2dJ+Ixz9Kh +sYU5CxPyilCxdcr5FnmNWy2q8/OseJWhM1Q+bq2ocmRJL+6ZEuObSIG/GrDvXFv5 +KEgDIARoWtwCLgkzbBaeqSA0XtPAwW4xG+FU/8ZMLzYVbyuJU62uhY9tIJlFyAzZ +CvPixjPNAgMBAAECggEAA/GGq0ZhSLEv4d6oAN1E1CphXCvibQfyWPIrCzYBkzwW +234chANOsOxYreO/brKTmiTf5c/UnPiNque0usLiOPTN7NocGVBDY7am5K5XsZQO +1ZTApz0g3NDrJbyh+K5ifqgY7uxIcuDOPmitED/dAYRhBPSCqauLUPY5faLoFgHj +wp2PQSn38Pne4c9wEBHH0hS0RFOnYVXjCTSdQ14+tdlupz2RkR0ANgoJe0KoNWlp +kxmIyVALreP+mXNCu+cBYu9l35vOzo4TPDZFU+0/5uzadaySqdBdNFXxDwxqilid +6fvquanD1+SU6mK53SJ/lEiHzegYK+vemk7Kj/yNWQKBgQDxorByJ8kOzkZI4zOe +HpBjw3J6E6iWnJr21jyy7xkI0dhCynFOEwoitXcIh0P8ftImAQnna2ASSMu7iufp +V7kDAhS7uGjZ+4li3vxgp0po9s2i0Fq9twTFqI/P/fckrWZSnotyXeF6FytFjYuK +B+nmcIRBVbaNEKTNBEZK7J0I1QKBgQDv6vfMvnfSOjQK66b4JVupnRq49ZQ46TVy +vQKm40Nlcxl2kBoCYa/ZN7r6gkLmK8W7KUAM6GebG4hEQyndZxgzRaMTsaNyQ/y+ +J69mVUF8OXi5cNnHyDdPAoP/vddRJAg4iutYrx2C2TsqBNtxiIKSvssrVjBv6Yi/ +JX1M/Gp7GQKBgQCFsdNYxiSbmYwP5g34TcbsPAbJ/riH5MxlCLJ6+onqdFjo06QP +Y7925tqekGEQgob52hdFwQZd94MqGDgqxouqW2tnVihFe8RPPTt8qvMj0nKCxC+A +ypPMXXB8z3MACyUTT3+uXr1T1R/vEtsDG0/SXaz/jVI9CNl2Sgguim50pQKBgQCf +oRHxK4Wj3dAEuBhnIMwlRX+jMtrFJv3F8taR3cJY/MUjauuzS/XprDf/N651YQh1 +6BNSw0s0G5SF/r4bLt4eNyYzE01x2KSQjO0aRH2GvuKBWAG++Is8Sasz/McHmNbT +cDL41cLn7ct8wLCVkMN4CfQ6SGWAAL1YmQQOth/O+QKBgCjPmh2KJseQ03jUoR5z +LVcTkYPQX722jHoFzsWJm03FKKyfhX0wMZplWn3QkDyuj0FsXXjmHo6KOWTmbGvj +uzMHNedj697yekGTXS/CEeAlV8CNDOGFWmIvdwr2S29HTdIUjXeGwaqlqiObhW0x +PW8wgffkAJWGe5bEHc4qMCUV +-----END PRIVATE KEY----- From 27e85b4c0cfa3b04feee3a302ccb43ad52e8189b Mon Sep 17 00:00:00 2001 From: Van Go <35277477+van-go@users.noreply.github.com> Date: Thu, 24 Sep 2026 11:05:33 -0500 Subject: [PATCH 3/4] enhance AIChat component to accept senderRef prop for improved focus management --- client/modules/workspace/src/AISearch/AIChat.tsx | 4 +++- client/modules/workspace/src/AISearch/AIChatButton.tsx | 9 +++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/client/modules/workspace/src/AISearch/AIChat.tsx b/client/modules/workspace/src/AISearch/AIChat.tsx index 9835aaa242..4387cf0c32 100644 --- a/client/modules/workspace/src/AISearch/AIChat.tsx +++ b/client/modules/workspace/src/AISearch/AIChat.tsx @@ -52,6 +52,7 @@ interface Message { interface AIChatProps { closed?: boolean; + senderRef?: React.Ref>; } interface WSMessage { @@ -60,7 +61,7 @@ interface WSMessage { key: string; } -export const AIChat: React.FC = ({ closed }) => { +export const AIChat: React.FC = ({ closed, senderRef }) => { const [messages, setMessages] = useState([ { key: 'welcome', @@ -298,6 +299,7 @@ export const AIChat: React.FC = ({ closed }) => { >
{ const [showDrawer, setShowDrawer] = useState(false); + const senderRef = useRef>(null); return ( ); From 0afa8001309fdc2e08b3ac6afbdbe63fa1938bbd Mon Sep 17 00:00:00 2001 From: Van Go <35277477+van-go@users.noreply.github.com> Date: Thu, 24 Sep 2026 11:19:33 -0500 Subject: [PATCH 4/4] Remove certificate file from PR --- conf/nginx/certificates/designsafe.dev.ext | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/conf/nginx/certificates/designsafe.dev.ext b/conf/nginx/certificates/designsafe.dev.ext index 3306fe526f..97ae65db18 100644 --- a/conf/nginx/certificates/designsafe.dev.ext +++ b/conf/nginx/certificates/designsafe.dev.ext @@ -1,11 +1,7 @@ authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE -keyUsage = digitalSignature, keyEncipherment -extendedKeyUsage = serverAuth +keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = designsafe.dev -DNS.2 = localhost -IP.1 = 127.0.0.1 -IP.2 = ::1