[DMP 2024]: Improve the user experience of the patient portal app built for Bahmni HIS

Description
The patient portal is a patient-facing app that provides them:

Access to their medical records

Prescriptions
Diagnostic reports
Appointment details
Patient documents e.g. discharge summaries, medical certificates

Ability to create/edit/update appointments - either with a doctor or for a service
Ability to share medical documents with doctors
Ability to download and print PDF versions of their prescriptions/documents.

Key design-research questions

The user experience of the patient portal app is very basic as of now. We would like to improve upon that by fixing the layout so patients have a clear view of their prescriptions, reports, documents, and appointments, all at a glance on the screen.
Design the UX in an extensible way so new functionalities can be added later-on without the need to rewrite/redesign the UX.

Current State
Please refer to the below link:
Bahmni
Desired State
The attached mockup is a very crude rendering of our thoughts. The intent is to build a seamless experience for patients. When uploading, accessing critical and private information patients should feel safe and secure. The intent is to build this trust through better UI-UX.

Goals & Mid-Point Milestone

Enhance User Interface: Redesign the landing screen to display summarized medical history, and an intuitive interface allowing users to navigate seamlessly.
Implement easy document retrieval and download options for patients to effortlessly access and manage their medical documents.
Enhance Security and Trust: Implement robust security measures to safeguard patient data. Users should feel confident in the security of their medical information.

Acceptance Criteria

Enhance the current patient portal user interface so that the users (patients) can view a summary of their medical history on the landing screen. The summary should include:

List of past visits
Active prescriptions
Upcoming appointments
List of patient documents made available by the hospital

Users should be able to view and download their active prescriptions
Users should be able to view their upcoming appointments
Users should be able to view the list of patient documents and be able to download those documents
A report highlighting key insights and recommendations

Existing Mockups/Wireframes
No response
Product Name
Bahmni Patient Portal App
Organisation Name
Thoughtworks
Domain
Healthcare
Mentor(s)
Akhil Malhotra

I'm interested in redesigning this project. I have a small doubt: Do I just need to submit ideas and steps to solve this issue in the proposal document, or do I need to register for this project separately?

Hello @Vanshikabhatotia,
Ready to elevate the patient experience to new heights? I'm thrilled to dive into the opportunity of enhancing the Bahmni HIS patient portal app. With an aim to revolutionize healthcare interaction, our mission is crystal clear: empower patients with seamless access to their medical records, prescriptions, reports, and appointments.
Picture this: a user-friendly interface that not only simplifies navigation but also ensures patients feel secure every step of the way. Our goal is to transform the mundane into the magnificent, crafting an experience where accessing vital medical information is as effortless as a flick of the wrist.
From redesigning the landing screen to implementing easy document retrieval and download options, we're set to redefine the patient portal landscape. And let's not forget the backbone of it all - robust security measures to safeguard patient data, building trust with every click.
Begin the  journey as we bring innovation to the forefront of healthcare. Together, we'll create an experience that's not just eye-catching, but life-changing.
Best regards,
Kanchan

Hello ! I am a third year computer science student , I am interested in redesigning this page and want to contribute in the project. I see a lot of scope of improvement and we can make the whole navigation easy and effective .  can you please guide me the steps to be followed?

@TejalTM,  @Vanshikabhatotia
I am reaching out to express my interest in contributing to the Bahmni project listed on GitHub. After reviewing the project details and its tech stack, I am excited about the opportunity to collaborate and contribute to its development.
With over 3 years of professional experience in HTML, CSS, JavaScript, and PHP and as a UI/UX designer , I have honed my skills through the creation of numerous projects, totaling six in number. Additionally, my freelancing experience has allowed me to work on real-time full-stack projects, further solidifying my proficiency in these technologies. have also actively participated in various hackathons, including Devshouse 2024, She Hacks 2024, and Smart India Hackathon, where I had the opportunity to apply my skills to solve real-world challenges under tight deadlines.I would be grateful for the opportunity to discuss further details and explore how I can contribute to the project in alignment with your vision. Please let me know if you would be available for a discussion at your earliest convenience.
Thank you
<EMAIL_ADDRESS>

Do I need to design for mobile first?
I am asking this because in the mockup all the screen are in desktop size.

@TejalTM
@kaaveyatm
@Vanshikabhatotia
I am a student at NIT Rourkela and am interested in contributing to this project but I have a few doubts which I need clarity to write a better proposal. So, I wanted to reach out to you. Please let me know where I can get my doubts cleared for this project. Waiting for your earliest reply.

I can definitely help bring this patient portal app to life!  My expertise in UI/UX design aligns perfectly with your goals of creating a user-friendly and secure platform for patients.
Here's what I can offer:

Improved Layout and Navigation: I can redesign the landing screen to clearly display a summary of medical history, including past visits, active prescriptions, upcoming appointments, and patient documents. This will allow for easy access to all crucial information at a glance.
Seamless User Experience: I can design an intuitive interface that allows patients to navigate and manage their health information effortlessly. This includes features like easy document retrieval, download options, and appointment scheduling/management.
Building Trust through Design: By focusing on user-friendly features and clear information hierarchy, I can create a patient portal that fosters a sense of security and trust. I'm also experienced in designing extensible UX, which means the system can accommodate future functionalities without major overhauls.

Let's discuss this further! I'm confident that together, we can create a patient portal app that meets all your requirements and empowers patients to manage their health information effectively.

Hi,
In order to achieve the goals you have set, a well thought-out user research would need to be conducted.
I am experienced in conducting user interviews and usability tests in a way that allows for maximum insight into the use cases and user behaviours.
Below is my proposed roadmap, if I were to be assigned this project:
1. Understanding the Business Rationale: Take to business stakeholders to understand their goals and reasons behind creating this platform. What problem are they fixing and what is the end experience/result they expect from this platform.
2. Familiarise myself with the platform: Use the platform myself in order to understand all the features and the current flow. This will help me in creating the interview questions and use cases to explore.
3. Talk to Existing Users: Through qualitative user interviews via the information gained from the above 2 activities. Here, it is most important to make the interviewee feel comfortable in sharing all thoughts.

Compare the current state with other existing patient platforms + map out the insights from the interviews.

Observe users while they use the platform to gauge which features are most important, what searches do they make on a regular basis, what information do they seek the most, etc.

Use all the above gained knowledge to begin redesigning, mapping the user flows, and building the revised designs.

Thank you for reading.
If you wish to discuss further, please reach out at<EMAIL_ADDRESS>Regards

Hello Mentors, I have submitted my proposal for this project. When can we expect the result of selected candidate?


(BUG) [Native/Android] The app is crashed on the Send G$ screen after pressing on the "Confirm & share link" button

Description: The app is crashed on the Send G$ screen after pressing on the "Confirm & share link" button
Steps to reproduce:

Launch the app
Login into the account
Go to the Claim screen
Press the Claim button
Pay attention to the Counter and Gooddollar Stats

Expected result:
The "Share with" pop up is displayed on the Send G$ screen after pressing the "Confirm & share link" button
Actual result:
The app is crashed on the Send G$ screen after pressing on the "Confirm & share link" button
The user is new: No
Environment:  App Version 1.13.0-0 (983)
Devices list: Xiaomi Mi8 // Android 8.1.0
Additional info:
The user is registered with self custody method
Backup words: bottom duty enroll crew fabric window warrior cabbage goat potato fine neither
Notes: The same issue is reproduced on the Request Specific Amount Screen after pressing on the "Confirm & share link" button
Attachment:
Video: https://www.dropbox.com/s/80p8kksq2i2dsic/Crash after pressing the Confirm and share link button on the Send GS screen .mp4?dl=0
Log: https://www.dropbox.com/s/kl74zt6fq4qhxm3/Log Crash after pressing the Confirm and share link button on the Send GS screen .txt?dl=0

@sirpy @serdiukov-o-nordwhale
Found the issue, in src/components/dashboard/TransactionConfirmation.js Ln 89:
There's a problem when passing testID={paymentLink} prop as an array/object, it expects a string
We should convert it to a string or generate a new string with some of the values using string templates

@sirpy The issue is not reproduced. The "Share with" pop up is displayed on the Send G$ screen after pressing the "Confirm & share link" button
Checked on the Android App Version 1.17.0-0 (1031)
Device: Xiaomi Mi8 // Android 8.1.0
Video: https://www.dropbox.com/s/jovru8q57fcmgct/The link is copied in the android app.mp4?dl=0

@sirpy The issue is not reproduced. The "Share with" pop up is displayed on the Send G$ screen after pressing the "Confirm & share link" button
Checked on the Android App Version 1.17.0-0 (1031)
Device: Xiaomi Mi8 // Android 8.1.0
Video: https://www.dropbox.com/s/jovru8q57fcmgct/The link is copied in the android app.mp4?dl=0


Add OJS Notebook Inspector and Observable JS vscode extension dependencies

for loading, saving and previewing Observable JS notebooks content.

JS Notebook Inspector: https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.js-notebook-inspector

Observable JS ext.: https://marketplace.visualstudio.com/items?itemName=GordonSmith.observable-js

updated extensionDependencies in package.json:
 "extensionDependencies": [
    "RandomFractalsInc.snippets-viewer"
    "RandomFractalsInc.snippets-viewer",
    "RandomFractalsInc.js-notebook-inspector",
    "GordonSmith.observable-js"
  ],


New office files made by Files open in a protected view

Describe the bug
When I open new blank office files made by Files, they open in a Protected view.
If I make them by old explorer, they don't open in a Protected view.
To Reproduce
Steps to reproduce the behavior:

Make blank office files using Files (e.g. .docx, .xlsx, .pptx)
Open it

Expected behavior
I would like to do not open new office files made by Files in a protected view.
Screenshots

Desktop (please complete the following information):

OS Version: [Windows 10 20H2 19042.746]
App version: [v<IP_ADDRESS>]

Additional context
Log file
debug.txt
debug_fulltrust.txt

@gave92 were you able to reproduce this?


History Crash in UFS  w/ newer Intel compilers

when testing the ufs weather model in coupled mode (w/ waves and aerosols; i.e. S2SWA) on msu's hercules and gfdl's gaea c5, the model compiles successfully but fails at runtime in what seems to be mapl-related (and happens during the gocart run step). note that the model runs successfully if aerosols are turned off (and mapl in turn is not used).
the tests on both machines are w/ newer intel compilers (2022.2.1). the mpi's used are intel-oneapi-mpi/2021.7.1 and cray-mpich/8.1.25, respectively. we are using mapl/2.35.2 and esmf/8.4.2 (can provide full lib. stack if useful). the aerosol model (gocart) hashes we've tested w/ are c485cbc and b94145f; the results are the same with each.
the model fails at the same place on each machine. for example, on hercules the err file (when using esmf + mapl debug versions) shows:
118: [hercules-08-44:97124:0:97124] Caught signal 11 (Segmentation fault: Sent by the kernel at address (nil))
139: ==== backtrace (tid:  97145) ====
122: ==== backtrace (tid:  97128) ====
122:  0 0x0000000000054d90 __GI___sigaction()  :0
122:  1 0x00000000070507b8 do_alloc_assign()  for_alloc_copy.c:0
122:  2 0x000000000320c59a mapl_historygridcompmod_mp_initialize_()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-mapl-2.35.2-fwxcinvghuqqqbos47hu33njf677dc4q/spack-src/gridcomps/History/MAPL_HistoryGridComp.F90:2336
122:  3 0x00000000017c00f4 ESMCI::FTable::callVFuncPtr()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMCI_FTable.C:2167
122:  4 0x00000000017c40da ESMCI_FTableCallEntryPointVMHop()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMCI_FTable.C:824
122:  5 0x000000000195448f ESMCI::VMK::enter()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Infrastructure/VM/src/ESMCI_VMKernel.C:2320
122:  6 0x0000000001940ad2 ESMCI::VM::enter()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Infrastructure/VM/src/ESMCI_VM.C:1216
122:  7 0x00000000017c1547 c_esmc_ftablecallentrypointvm_()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMCI_FTable.C:981
122:  8 0x00000000007b6e0d esmf_compmod_mp_esmf_compexecute_()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMF_Comp.F90:1223
122:  9 0x0000000001003499 esmf_gridcompmod_mp_esmf_gridcompinitialize_()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMF_GridComp.F90:1412
122: 10 0x000000000333be70 mapl_genericmod_mp_mapl_genericwrapper_()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-mapl-2.35.2-fwxcinvghuqqqbos47hu33njf677dc4q/spack-src/generic/MAPL_Generic.F90:1813
122: 11 0x00000000017c00f4 ESMCI::FTable::callVFuncPtr()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMCI_FTable.C:2167
122: 12 0x00000000017c40da ESMCI_FTableCallEntryPointVMHop()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMCI_FTable.C:824
122: 13 0x000000000195448f ESMCI::VMK::enter()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Infrastructure/VM/src/ESMCI_VMKernel.C:2320
122: 14 0x0000000001940ad2 ESMCI::VM::enter()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Infrastructure/VM/src/ESMCI_VM.C:1216
122: 15 0x00000000017c1547 c_esmc_ftablecallentrypointvm_()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMCI_FTable.C:981
122: 16 0x00000000007b6e0d esmf_compmod_mp_esmf_compexecute_()  /work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.4.0-hercules/cache/build_stage/spack-stage-esmf-8.4.2-rhqmf6ses26aijoekktbtisfq7er5krw/spack-src/src/Superstructure/Component/src/ESMF_Comp.F90:1223

and the out file shows:
180:  WW3 log written to /work2/noaa/epic-ps/cbook/stmp/cbook/FV3_RT/rt_221844/cpld_c
180:  ontrol_p8_intel/./log.ww3
  0:  Starting pFIO input server on Clients
  0:  Starting pFIO output server on Clients
  0:  Character Resource Parameter: ROOT_CF:AERO.rc
  0:  Character Resource Parameter: ROOT_NAME:AERO
  0:  Character Resource Parameter: HIST_CF:AERO_HISTORY.rc
  0:  Character Resource Parameter: EXTDATA_CF:AERO_ExtData.rc
  0:  DU::SetServices: Dust emission scheme is fengsha
  0:  WARNING: falling back on MAPL NUM_BANDS
  0:  GOCART2G::Initialize: Starting...
  0:
  0:  Integer*4 Resource Parameter: RUN_DT:720
  0:  ===================>
  0:  MAPL_StateCreateFromSpecNew: var SU_NO3 already exists. Skipping ...
  0:  ===================>
  0:  MAPL_StateCreateFromSpecNew: var SU_OH already exists. Skipping ...
  0:  ===================>
  0:  MAPL_StateCreateFromSpecNew: var SU_H2O2 already exists. Skipping ...
  0:   oserver is not split
  0:
  0:  EXPSRC:GEOSgcm-v10.16.0
  0:  EXPID: gocart
  0:  Descr: GOCART2g_diagnostics_at_c360
  0:  DisableSubVmChecks: F
  0:
  0:  Reading HISTORY RC Files:
  0:  -------------------------
  0:  NOT using buffer I/O for file: AERO_HISTORY.rc
  0:  NOT using buffer I/O for file: inst_aod.rcx
  0:
  0:  Freq: 00060000  Dur: 00010000  TM:   -1  Collection: inst_aod

@mathomp4 pointed out that the model seems to be dying in History, though he and @bena-nasa did not notice anything particularly wrong with the history file being used (https://github.com/ufs-community/ufs-weather-model/issues/1791#issuecomment-1591181464). @bena-nasa suggested it may be a compiler or memory bug, which was then followed by comments by @mathomp4 about potential issues with mapl & intel compilers newer than 2021.7.x (again, we are using 2022.2.1).
i was just wondering if there is perhaps any further information regarding mapl's compatibility with newer intel compilers? we don't have access to sys admin installed intel compilers older than 2022.2.1 on either hercules or gaea c5 at this time, so we are hoping to find a solution using the available compiler version.
some additional details can be found in the ufs weather model issue #1791.
thank you!!!

Hmm.  The code is really doing something pretty boring at the line that is failing - basically copying a string.  My one thought is that perhaps the string argument list(n)%positive is itself not allocated.  That could give that sort of error.   Unfortunately, I don't know the layer well enough to immediately speculate where that argument should have been previously established.
If you have the ability to recompile and try again, I would suggest adding the following line just before line 2336 in MAPL_HistoryGridComp.F90:
_ASSERT(allocated(list(n)%positive), "unallocated string: 'list(n)%positive'")

But hopefully @bena-nasa is back from vacation today and can provide a more complete diagnosis before we trudge down the debugging path ...

Wait. I think Intel confused me once again, @ulmononian.
I believe Intel oneAPI 2022.1.0 is actually ifort 2021.6.0 which is what we use operationally:
$ which ifort
/usr/local/intel/oneapi/2021/compiler/2022.1.0/linux/bin/intel64/ifort
$ ifort -V
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.6.0 Build 20220226_000000
Copyright (C) 1985-2022 Intel Corporation.  All rights reserved.

Thus, this should work. It's ifort 2021.7 that had problems (and I think 2021.9 on my mac failed as well).

Even odder, I'm not sure that can ever not be filled. From #941 this code came in:
          call ESMF_ConfigFindLabel(cfg,trim(string)//'positive:',isPresent=isPresent,_RC)
          if (isPresent) then
             call ESMF_ConfigGetAttribute(cfg,value=list(n)%positive,_RC)
             _ASSERT(list(n)%positive=='down'.or.list(n)%positive=='up',"positive value for collection must be down or up")
          else
             list(n)%positive = 'down'
          end if

From what I see of your history, you don't specify a positive, so you must be in the down case.

I suppose that is something you could try. Add:
  inst_aod.positive: 'down',

to your HISTORY and force the subject?
Note: I just tried your inst_aod collection in a GEOS run here with and without that line and no difference. Both ran just fine!

That string on the right hand side is always filled with "up" or "down", it's either in the History and the user provided it (and if it is not one of those one should die), or if not, it defaults to "down". There's no way you get to that point in the code without it it being one of those two

Wait. I think Intel confused me once again, @ulmononian.
I believe Intel oneAPI 2022.1.0 is actually ifort 2021.6.0 which is what we use operationally:
$ which ifort
/usr/local/intel/oneapi/2021/compiler/2022.1.0/linux/bin/intel64/ifort
$ ifort -V
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.6.0 Build 20220226_000000
Copyright (C) 1985-2022 Intel Corporation.  All rights reserved.

Thus, this should work. It's ifort 2021.7 that had problems (and I think 2021.9 on my mac failed as well).

with intel-oneapi-compilers/2022.2.1 that we use on hercules, it looks like it uses ifort/2021.7.1:
[] $ which ifort
/apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2022.2.1-z2sjni66fcyqcsamnoccgb7c77mn37qj/compiler/2022.2.1/linux/bin/intel64/ifort
[]$ ifort -V
Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.7.1 Build 20221019_000000
Copyright (C) 1985-2022 Intel Corporation.  All rights reserved.

Does this fail in the same place with optimization?

can i ask what optimization you are referring to?

Hmm. The code is really doing something pretty boring at the line that is failing - basically copying a string. My one thought is that perhaps the string argument list(n)%positive is itself not allocated. That could give that sort of error. Unfortunately, I don't know the layer well enough to immediately speculate where that argument should have been previously established.
If you have the ability to recompile and try again, I would suggest adding the following line just before line 2336 in MAPL_HistoryGridComp.F90:
_ASSERT(allocated(list(n)%positive), "unallocated string: 'list(n)%positive'")

But hopefully @bena-nasa is back from vacation today and can provide a more complete diagnosis before we trudge down the debugging path ...

thanks for this suggestion! since we build mapl as part of a larger stack using spack, it would be a bit of an endeavor to re-compile w/ this code change, but i can certainly do it. is this something i should pursue or hold off until the team has a chance to look into this a bit more?

@ulmononian Do you have instructions for me to reproduce this on Orion?

@ulmononian Do you have instructions for me to reproduce this on Orion?

i am not sure this is reproducible on orion... the same ufs model config (w/ the same mapl  & gocart version) runs fine on orion, with the only difference being the compiler/mpi version there. the specific branches we are testing are for porting the weather model to hercules and gaea c5, and the problem only arises on these two machines.

Our ability to trouble shoot this is very limited if there is not an environment where we can reproduce this.  I thought that was the point of Orion.
My only other suggestion would then be "pair debugging", where someone on the NOAA end drives the keyboard and someone on our end screenshares and suggests next steps.    It would work, but ...

i completely understand. i think that anyone with orion access should also be able to access hercules, though, as they are both msu machines and share a filesystem. @weiyuan-jiang are you able to use hercules by chance?

It seems I can login to hercules. So please give me instruction to reproduce the issue.

@weiyuan-jiang awesome! to reproduce there, please do the following:
git clone --recursive -b feature/add_hercules https://github.com/ulmononian/ufs-weather-model.git
cd ufs-weather-model/tests
./rt.sh -a <slurm_account_you_can_charge_to> -c -n cpld_control_p8 intel
vim <rt_dir>/out
vim <rt_dir/err

It turned out my access to Hercules is short live. I am asking for help now

The crash happened earlier in my run than in your run.
150: WARNING from PE     0: Unused line in INPUT/MOM_input : ODA_INCUPD_NHOURS = 6
150:
103: forrtl: severe (189): LHS and RHS of an assignment statement have incompatible types
103: Image              PC                Routine            Line        Source
103: fv3.exe<PHONE_NUMBER>0A05CA  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4BA14  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4F98F  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>CBDCFA  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>CAA362  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4CE6A  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>5B18F0  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>894A71  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>1CFEA0  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4BA14  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4F98F  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>CBDCFA  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>CAA362  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4CE6A  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>5B18F0  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>894A71  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>06339F  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>068216  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4BA14  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4F98F  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>CBDCFA  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>CAA362  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>B4CE6A  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>5B18F0  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>894A71  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>0608CD  Unknown               Unknown  Unknown
103: fv3.exe<PHONE_NUMBER>D9F59F  aerosol_cap_mp_mo         348  Aerosol_Cap.F90

@ulmononian Do you have instruction to build MAPL on Hercules?

The crash happened earlier in my run than in your run. Should I change something to re-produce your error message? @ulmononian
150: WARNING from PE 0: Unused line in INPUT/MOM_input : ODA_INCUPD_NHOURS = 6 150: 103: forrtl: severe (189): LHS and RHS of an assignment statement have incompatible types 103: Image PC Routine Line Source 103: fv3.exe<PHONE_NUMBER>0A05CA Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4BA14 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4F98F Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>CBDCFA Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>CAA362 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4CE6A Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>5B18F0 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>894A71 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>1CFEA0 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4BA14 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4F98F Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>CBDCFA Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>CAA362 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4CE6A Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>5B18F0 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>894A71 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>06339F Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>068216 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4BA14 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4F98F Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>CBDCFA Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>CAA362 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>B4CE6A Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>5B18F0 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>894A71 Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>0608CD Unknown Unknown Unknown 103: fv3.exe<PHONE_NUMBER>D9F59F aerosol_cap_mp_mo 348 Aerosol_Cap.F90

interesting. there is nothing more you should need to do. can you share your run directory? i will take a look.
as for building mapl on hercules: we are using spack to build it as part of the full stack for the ufs-wm and other applications. i can provide you with instructions on how to install the stack, but i have not installed mapl manually on hercules. the script that spack uses to build mapl is: https://github.com/JCSDA/spack/tree/158dada02ce08a0b42606f82059c51e8f9f02ef0/var/spack/repos/builtin/packages/mapl/package.py.

Never mind, I think my error message is as same as your because history init is within the cap init.  I will need to build MAPl first so I can insert something and get more information about the crash.

some follow-up on how mapl is built:
these variants are applied:
<EMAIL_ADDRESS><EMAIL_ADDRESS>snapshot=none

 mapl<EMAIL_ADDRESS>cflags="-diag-disable=10441" cxxflags="-diag-disable=10441" +debug+esma_gfe_namespace~extdata2g~fargparse~flap~ipo~pflogger+pnetcdf~shared build_system=cmake build_type=RelWithDebInfo generator=make arch=linux-rocky9-icelake

for the variants: ~ indicates a setting is turned off; + indicates it is turned on. the variants listed above can be found in the packages.py script i linked to in my previous comment. they essentially correspond to cmake flags that are set for the build.

Never mind, I think my error message is as same as yours because history init is within the cap init. I will need to build MAPl first so I can insert something and get more information about the crash.

ok -- yes it is indeed the same error i received when i ran with the NON-debug version of mapl (as in this log https://github.com/ufs-community/ufs-weather-model/files/11682589/hercules_err.txt).
re-compiling & running the WM should yield the full error log that points to the history crash...

I believe it is the problem of the compiler. For example, it reports the error " 0x00000000074e08a8 do_alloc_assign()  for_alloc_copy.c:0..." at this line
list(n)%vdata = VerticalData(positive=list(n)%positive,_RC)
if I change it to ( of course, change the type vdata as allocatable too)
allocate(list(n)%vdata, source = VerticalData(positive=list(n)%positive))
it passes that line.
In MAPL, there are many assignments like that,  I am wondering if we should make such changes for a buggy compiler. @tclune @ulmononian

I believe it is the problem of the compiler. For example, it reports the error " 0x00000000074e08a8 do_alloc_assign()  for_alloc_copy.c:0..." at this line
list(n)%vdata = VerticalData(positive=list(n)%positive,_RC)
if I change it to ( of course, change the type vdata as allocatable too)
allocate(list(n)%vdata, source = VerticalData(positive=list(n)%positive))
it passes that line.
In MAPL, there are many assignments like that,  I am wondering if we should make such changes for a buggy compiler. @tclune @ulmononian

that's great news that you can get it to pass by making this adjustment. did the model run complete with these changes, by chance?
if these changes would be possible on the mapl level, it would be most appreciated. is there anything we can do on our side?
thank you!!

No, the model didn't complete because of the same assignments error at other locations.  I think there are many assignment like that.

No, the model didn't complete because of the same assignments error at other locations.  I think there are many assignment like that.

ok -- makes sense.
it is not clear to me -- based on your example, in what file is this happening? further: are these assignments restricted to this single file or is this throughout the code?

We need to collect this information on compiler bugs and feed them back to the Intel compiler team. I meet with them every Friday, so Ican do that if I get all the information. They will want us to try the latest compiler (which we can do next week …)

On Jun 30, 2023, at 6:20 PM, Cameron Book @.***> wrote:
No, the model didn't complete because of the same assignments error at other locations. I think there are many assignment like that.
ok -- makes sense.
it is not clear to me -- based on your example, in what file is this happening? further: are these assignments restricted to this single file or is this throughout the code?
—
Reply to this email directly, view it on GitHub https://github.com/GEOS-ESM/MAPL/issues/2213#issuecomment-1615300032, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5C2RI6V2MFUDLUJASMQP3XN5ULVANCNFSM6AAAAAAZVBD76Y.
You are receiving this because you are subscribed to this thread.

Yeah - this is an odd regression for Intel.  Hopefully they have lots of other customers with similar bugs, as it can be a bit tricky to boil down a standalone reproducer for these.   Clearly most of the allocate-on-assignment statements are working just fine.     There is a chance that a small reproducer that just brings in  the VerticalData class can reproduce, so that should be attempted.  (@weiyuan-jiang )

Yeah - this is an odd regression for Intel. Hopefully they have lots of other customers with similar bugs, as it can be a bit tricky to boil down a standalone reproducer for these. Clearly most of the allocate-on-assignment statements are working just fine. There is a chance that a small reproducer that just brings in the VerticalData class can reproduce, so that should be attempted. (@weiyuan-jiang )

@weiyuan-jiang just wanted to touch base and see if you would be able to create the reproducer patch/bugfix to address this intel compiler issue...

@ulmononian I was unable to create a simple reproducer.

@ulmononian I was unable to create a simple reproducer.

thanks for trying. given that, is there anything else that can be done on the mapl side? otherwise, we may have to take this to intel and/or the hercules/gaea sys admins.

Where can I find the cmake output while building ufs ? @ulmononian

@weiyuan-jiang if you didn't find it, it should be at the top of the out file generated in the rt_*/compile_* directory generated after you run ./rt.sh. however, you can compile the ufs-weather-model manually (and save the cmake output) like:
git clone --recursive -b feature/add_hercules https://github.com/ulmononian/ufs-weather-model.git
cd ufs-weather-model
module use modulefiles; module load ufs_hercules.intel
mkdir build; cd build
#cmake comment with output saved below
cmake  -DAPP=S2SWA -DCCPP_SUITES=FV3_GFS_v17_coupled_p8 -DMPI=ON -DCMAKE_BUILD_TYPE=Release -DMOM6SOLO=ON .. 2>&1 | tee log.cmake
make -j <#>

this was resolved by upgrading the intel compiler version on hercules and c5 (see https://github.com/JCSDA/spack-stack/pull/673). i believe this issue can be closed. thanks for all the help!


Unable to activate activesupport-6.0.0

What happened:
I cloned v1.1.1 code  to include kubernetes_metadata plugin per my requirement. I used the v1.1.1 tag version and then followed the below step

Modified the Dockerfile to include `gem install -N fluent-plugin-kubernetes_metadata_filter -v  "2.1.2"

Followed the below step to create a new docker image.

gem install fluent-plugin-splunk-hec --install-dir .
docker build --no-cache -t fluent-plugin-splunk-hec -f docker/Dockerfile .

When I deploy the daemon set with this new image, I get the below error. I am also able to reproduce this with develop branch

/usr/local/lib/ruby/site_ruby/2.5.0/rubygems/specification.rb:2332:in `raise_if_conflicts': Unable to activate activesupport-6.0.0, because tzinfo-2.0.0 conflicts with tzinfo (~> 1.1) (Gem::ConflictError)
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/specification.rb:1441:in `activate'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/specification.rb:1475:in `block in activate_dependencies'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/specification.rb:1461:in `each'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/specification.rb:1461:in `activate_dependencies'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/specification.rb:1443:in `activate'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems.rb:224:in `rescue in try_activate'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems.rb:217:in `try_activate'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:39:in `require'
	from /usr/local/bundle/gems/fluent-plugin-kubernetes_metadata_filter-2.1.2/lib/fluent/plugin/filter_kubernetes_metadata.rb:157:in `configure'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/plugin.rb:164:in `configure'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/agent.rb:152:in `add_filter'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/agent.rb:70:in `block in configure'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/agent.rb:64:in `each'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/agent.rb:64:in `configure'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/root_agent.rb:150:in `configure'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/engine.rb:131:in `configure'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/engine.rb:96:in `run_configure'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/supervisor.rb:804:in `run_configure'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/supervisor.rb:581:in `dry_run'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/supervisor.rb:599:in `supervise'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/supervisor.rb:504:in `run_supervisor'
	from /usr/local/bundle/gems/fluentd-1.7.3/lib/fluent/command/fluentd.rb:314:in `<top (required)>'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
	from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
	from /usr/local/bundle/gems/fluentd-1.7.3/bin/fluentd:8:in `<top (required)>'
	from /usr/local/bundle/bin/fluentd:23:in `load'
	from /usr/local/bundle/bin/fluentd:23:in `<main>'

Environment:

Kubernetes version (use kubectl version):  v1.16.1
Ruby version (use ruby --version): 2.3.0
OS (e.g: cat /etc/os-release): linux

I will check that out and provide an update. Is the way I am building the fluent-pluging-splunk-hec correct?
gem install fluent-plugin-splunk-hec --install-dir .

I  changed the fluentd version from ~>1.4 to = 1.4.0 in fluent-plugin-splunk-hec.gemspec and that resolved the issue.
I appreciate the timely help.

Closing the issue for now. Let us know, if you need more help.

@chaitanyaphalak I'm having the same issue.
`raise_if_conflicts': Unable to activate fluent-plugin-splunk-hec-1.2.0, because fluentd-1.7.4 conflicts with fluentd (= 1.4) (Gem::ConflictError)

I'm just using the default docker fluentd image. It'd be nice if I didn't have to monkey around with builds and could just install the gem.


Feature request: Support ::Date

When the model contains something of type Date the generated SQL call should include ::DATE on it.  This comes into play when you have a Date in swift, and then pass that into a .filter() call.  Without the ::Date we have to manually remove the time and deal with the timezone issue in the swift code.

@grosch I don't think it would be possible to have Fluent automatically detect which type of column is being compared against in order to know whether ::DATE should be added. Given that Swift's Date struct is equivalent to TIMESTAMP in SQL anyway, I think it could make sense to use a different type. Something like PostgresDate or DateWithoutTime. A separate type would be able to serialize itself as DATE without needing to know what it is being compared against.
The other option would be to add some nicer conveniences for doing custom Postgres casting in Fluent. I like this option less though because, unlike DateWithoutTime, it's less generic.

It needs the option unfortunately to be fully usable. For example right now I have a timestamptz column but I have a need to find all items updated on a specific date. If I had to only use a custom type that wouldn’t work.


Typo: Add missing space.

Hi,
While working on a custom app posting delays on Twitter & Telegram, I've noticed that there was a missing space in the meta twitter:description.

This PR add the missing space.

Here's the problem on the Telegram web app.

Thanks, fixed !

Ho there's an error in the time! I will probably submit another pr.


state: improve lambda regex, allowing any key name

FEATURENAME
This MR fixes the failing test introduced in #123.
Description
Problem
was that the regex did not match any string, but only keys consisting of proper words (i.e. "anyword").
New Behavior:
the new string-regex allows any string using "[^"]*" syntax instead. Also, this PR adds the possibility to use single quotation marks for the keys.

We should add the possibility to use single quotation marks, not only double quotation marks.

We should add the possibility to use single quotation marks, not only double quotation marks.

Sorry, didn’t checked this before! Looks good to me.


Add a toggle for AGI

use Q*?

@philipperolet FYI, he'll go away automatically again :)

in 5 weeks right? we'll update every 5 weeks :)

@Fraggle will it go away if it's in "in progress"?

because let me tell you, it is "actively being worked on" 😄

Let me look as I changed the system since we introduced feature vs status....
nope, only "ready" or "pending" tasks from olympus will be archived.


Fix failure to load when navigator.language is Chinese or Finnish.

Currently Wekan fails to load if the user's browser has its preferred language as Chinese or Finnish. Part of the problem is that Wekan passes the wrong string to T9n.setLanguage(). See https://github.com/wekan/wekan/pull/682 for someone else who discovered this. Another part of the problem is that meteor-accounts-t9n does not support all of the languages supported by Wekan. In particular, it is missing Finnish.
This PR fixes the failure to load in all cases.

My original proposal failed the linter, which forbids console.log() and console.error(). So I've added a commit that solves the problem in a better way: it puts the Tracker.autorun() in a Meteor.startup() callback. This has two positive effects:

If the autorun() callback throws an exception -- even on its first run -- the app still successfully loads.
If no user is logged in, or if user.profile.language is not set , then the language is now successfully set based on navigator.language. This is apparently broken in the current code; TAPi18n.setLanguage() gets called too early and apparently has no effect!

@dwrensha
Your pull request works for me, but there's still this Javascript console error:
Error: language fi does not exist

Does this only mean that FI translation for Sign In page is missing?

Yes, it means that meteor-accounts-t9n is missing a translation for Finnish.

@dwrensha

Where is that translation file location? I could translate it to Finnish.

My actual browser language is fi-fi, but when I set it as fi only then I get this error:

Denied partly unprotected, interactive content load http://localhost/packages/mquandalle_moment/locale/fi.js?_=1479178530799
Do you have idea what it means? Wekan is running behind Caddy webserver Let's Encrypt SSL.

Caddy and Wekan is running on remote server, not locally.

@dwrensha
After that commit, when Firefox language settings topmost is fi, I still get that http://localhost error.

Where is that translation file location? I could translate it to Finnish.

Looks like you would need to add a new file in this directory.

My actual browser language is fi-fi, but when I set it as fi only then I get this error...

That's puzzling. Are you running in dev mode?
Does the error occur before applying this patch, if you manually select Suomi under Member Settings -> Change Language, or if you enter TAPi18n.setLanguage("fi") in the browser console?

@dwrensha
I have installed wekan from source, and JS console error is at sign-in page when browser language is fi. I have not yet login to wekan, and it's not running at Sandstorm.
After applying your patch, I did rebuild wekan with this command:
cd ~/repos/wekan
rm -rf .build
meteor build .build --directory
cd .build/bundle/programs/server
npm install
cd ~/repos

And then run it with this command:
cd ~/repos/wekan/.build/bundle
export MONGO_URL='mongodb://<IP_ADDRESS>:27017/admin'
export ROOT_URL='http://localhost'
export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
export PORT=8080
node main.js

@dwrensha
When I register and login to wekan, and use Finnish as language and fi as Firefox topmost language:

The error about unprotected content in still at JS console

On top left corner of Firefox is from left to right: back button, [i] info icon, green lock icon with grey ! warning triangle on top, and URL address bar. When I click green lock, it says that Firefox has denied showing unprotected content, and click to allow it, meaning that localhost moment.js. When I change Firefox topmost language from fi to fi-fi and reload page, then errors of mixed content/localhost moment.js disappear, and page if full protected.

@xet7: does it work if you change ROOT_URL to the URL that you enter in your browser to visit the site? I suspect the problem has to do with Wekan or one of its dependencies using Meteor.absoluteUrl(), which reads from ROOT_URL.
I expect that you will see similar errors if you change your language to something else supported by Wekan such as français.

I've rebased this and removed the Sandstorm metadata update, which has been obsoleted by https://github.com/wefork/wekan/pull/8.

@dwrensha
Ok thanks, setting ROOT_URL fixed this.


Develop

Now the happy button counts backwards when it reaches maximum happiness and then starts again.
The happy button is now draggable.
You can cancel action sending by clicking in the X. It should cancel if you drag and drop the icon into the X (needs testing).
Implemented a text box to write your message before sending the request

We will integrate next version


"This slot has been invalidated because it exceeded the maximum reserved size" error

My electric service crashed, and when I try to restart it with docker compose, I get this:
supabase-electric  | 18:42:35.329 pid=<0.2487.0> [info] Starting ElectricSQL 0.9.2 in direct_writes mode.
supabase-electric  | 18:42:35.332 pid=<0.2343.0> [notice]     :alarm_handler: {:set, {:system_memory_high_watermark, []}}
supabase-electric  | 18:42:35.341 pid=<0.2488.0> [info] Running Electric.Plug.Router with Bandit 1.1.3 at :::5133 (http)
supabase-electric  | 18:42:35.360 pid=<0.2803.0> origin=postgres_1 [info] Electric.Replication.Postgres.Client.with_conn(%{database: ~c"postgres", host: ~c"db", ip_addr: ~c"<IP_ADDRESS>", ipv6: true, nulls: [nil, :null, :undefined], password: ~c"******", port: 5432, ssl: true, ssl_opts: [server_name_indication: ~c"db"], timeout: 5000, username: ~c"postgres"})
supabase-electric  | 18:42:35.504 pid=<0.2803.0> origin=postgres_1 [info] Successfully initialized origin postgres_1 at extension version
supabase-electric  | 18:42:35.505 pid=<0.2808.0> [info] Starting Proxy server listening on port 65432
supabase-electric  | 18:42:35.505 pid=<0.2809.0> pg_producer=postgres_1 [info] Starting Elixir.Electric.Postgres.Extension.SchemaCache for postgres_1
supabase-electric  | 18:42:35.506 pid=<0.2809.0> pg_producer=postgres_1 [warning] SchemaCache "postgres_1" registered as the global instance
supabase-electric  | 18:42:35.506 pid=<0.2812.0> [info] Starting replication from postgres_1
supabase-electric  | 18:42:35.506 pid=<0.2812.0> [info] Electric.Replication.Postgres.LogicalReplicationProducer.init(%{database: ~c"postgres", host: ~c"db", ip_addr: ~c"<IP_ADDRESS>", ipv6: true, nulls: [nil, :null, :undefined], password: ~c"******", port: 5432, replication: ~c"database", ssl: true, ssl_opts: [server_name_indication: ~c"db"], timeout: 5000, username: ~c"postgres"})
supabase-electric  | ▓ ┌────────────────────────────────────────────────────────┐
supabase-electric  | ▓ │  MODULE ERROR: Electric.Replication.PostgresConnector  │
supabase-electric  | ▓ ┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
supabase-electric  | ▓
supabase-electric  | ▓ Failed to start child :postgres_producer:
supabase-electric  | ▓   {:bad_return_value, {:error, {:error, :error, "55000", :object_not_in_prerequisite_state, "cannot read from logical replication slot \"electric_replication_out_postgres\"", [detail: "This slot has been invalidated because it exceeded the maximum reserved size.", file: "walsender.c", line: "1269", routine: "StartLogicalReplication", severity: "ERROR"]}}}
supabase-electric  | ▓
supabase-electric  | ▓ Please file a new issue on GitHub[1], including the contents of this error.
supabase-electric  | ▓
supabase-electric  | ▓ [1]: https://github.com/electric-sql/electric/issues
supabase-electric  | 18:42:35.581 pid=<0.2803.0> origin=postgres_1 [error] PostgresConnectorSup failed to start child :postgres_producer with reason: {:bad_return_value, {:error, {:error, :error, "55000", :object_not_in_prerequisite_state, "cannot read from logical replication slot \"electric_replication_out_postgres\"", [detail: "This slot has been invalidated because it exceeded the maximum reserved size.", file: "walsender.c", line: "1269", routine: "StartLogicalReplication", severity: "ERROR"]}}}.
supabase-electric  |
supabase-electric  | ••• Shutting down •••
supabase-electric  |
supabase-electric  | [os_mon] memory supervisor port (memsup): Erlang has closed
supabase-electric  | [os_mon] cpu supervisor port (cpu_sup): Erlang has closed
supabase-electric exited with code 1

This appears to have been caused by me accidentally sending a very large number of SQL queries to the Electric migration proxy rather than to my Postgres database (where I intended to send them). Easy mistake to make... might be worth handling this case more gracefully.

@djbutler How did you get things back to normal?

I ran the SQL given on the “Roadmap” page for deleting the database
structures created by electric. When you start the electric service again,
it will re-created the needed structures. The errors stopped. But
unfortunately, when I re-electrified my tables, the data already in the
tables does not sync, so that’s the next thing to debug. New data added to
the tables syncs fine.
On Wed, Mar 27, 2024 at 11:54 PM 승우 @.***> wrote:

@djbutler https://github.com/djbutler How did you get things back to
normal?
—
Reply to this email directly, view it on GitHub
https://github.com/electric-sql/electric/issues/1089#issuecomment-2024523375,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABKG4KRPM6V4V5HZIPAXMLY2O5CVAVCNFSM6AAAAABFE3ZROCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRUGUZDGMZXGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Also, if I didn’t mention it earlier, the root cause seems to be that I
accidentally issued a ton of data-intensive queries to the migration proxy
that were in fact intended for the underlying PSQL database.  That messed
up electric.
On Thu, Mar 28, 2024 at 9:07 AM Dan Butler @.***> wrote:

I ran the SQL given on the “Roadmap” page for deleting the database
structures created by electric. When you start the electric service again,
it will re-created the needed structures. The errors stopped. But
unfortunately, when I re-electrified my tables, the data already in the
tables does not sync, so that’s the next thing to debug. New data added to
the tables syncs fine.
On Wed, Mar 27, 2024 at 11:54 PM 승우 @.***> wrote:

@djbutler https://github.com/djbutler How did you get things back to
normal?
—
Reply to this email directly, view it on GitHub
https://github.com/electric-sql/electric/issues/1089#issuecomment-2024523375,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABKG4KRPM6V4V5HZIPAXMLY2O5CVAVCNFSM6AAAAABFE3ZROCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRUGUZDGMZXGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hey @djbutler. Thanks for reporting this!
By default, Postgres does not put a limit on replication slot sizes. Are you using a hosted database or do you set the relevant configuration option in your Postgres config?
On the issue of disk usage growth caused by the replication slot Electric creates: this is, in fact, a hairy problem. You'll find more relevant info here - https://github.com/electric-sql/electric/issues/1083. TL;DR, any write to PG will cause Postgres disk usage to grow, even if the write itself does not touch electrified tables. In the next release of Electric, there will be a new configuration option to limit the maximum size of disk space Electric's replication slot can retain.

Thanks for the explanation. Yeah this would be great to fix, since it's come up a few times for me.
This db is self-hosted on EC2 - it's a Supabase docker image. I don't know if any of these look relevant:

name
setting
unit
category
short_desc

auto_explain.log_wal
off

Customized Options
Log WAL usage.

max_slot_wal_keep_size
1024
MB
Replication / Sending Servers
Sets the maximum WAL size that can be reserved by replication slots.

max_wal_senders
10

Replication / Sending Servers
Sets the maximum number of simultaneously running WAL sender processes.

max_wal_size
1024
MB
Write-Ahead Log / Checkpoints
Sets the WAL size that triggers a checkpoint.

min_wal_size
80
MB
Write-Ahead Log / Checkpoints
Sets the minimum size to shrink the WAL to.

track_wal_io_timing
off

Statistics / Cumulative Query and Index Statistics
Collects timing statistics for WAL I/O activity.

wal_block_size
8192

Preset Options
Shows the block size in the write ahead log.

wal_buffers
512
8kB
Write-Ahead Log / Settings
Sets the number of disk-page buffers in shared memory for WAL.

wal_compression
off

Write-Ahead Log / Settings
Compresses full-page writes written in WAL file with specified method.

wal_consistency_checking

Developer Options
Sets the WAL resource managers for which WAL consistency checks are done.

wal_decode_buffer_size
524288
B
Write-Ahead Log / Recovery
Buffer size for reading ahead in the WAL during recovery.

wal_init_zero
on

Write-Ahead Log / Settings
Writes zeroes to new WAL files before first use.

wal_keep_size
0
MB
Replication / Sending Servers
Sets the size of WAL files held for standby servers.

wal_level
logical

Write-Ahead Log / Settings
Sets the level of information written to the WAL.

wal_log_hints
off

Write-Ahead Log / Settings
Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification.

wal_receiver_create_temp_slot
off

Replication / Standby Servers
Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured.

wal_receiver_status_interval
10
s
Replication / Standby Servers
Sets the maximum interval between WAL receiver status reports to the sending server.

wal_receiver_timeout
60000
ms
Replication / Standby Servers
Sets the maximum wait time to receive data from the sending server.

wal_recycle
on

Write-Ahead Log / Settings
Recycles WAL files by renaming them.

wal_retrieve_retry_interval
5000
ms
Replication / Standby Servers
Sets the time to wait before retrying to retrieve WAL after a failed attempt.

wal_segment_size
16777216
B
Preset Options
Shows the size of write ahead log segments.

wal_sender_timeout
60000
ms
Replication / Sending Servers
Sets the maximum time to wait for WAL replication.

wal_skip_threshold
2048
kB
Write-Ahead Log / Settings
Minimum size of new file to fsync instead of writing WAL.

wal_sync_method
fdatasync

Write-Ahead Log / Settings
Selects the method used for forcing WAL updates to disk.

wal_writer_delay
200
ms
Write-Ahead Log / Settings
Time between WAL flushes performed in the WAL writer.

wal_writer_flush_after
128
8kB
Write-Ahead Log / Settings
Amount of WAL written out by WAL writer that triggers a flush.

ALTER SYSTEM SET max_slot_wal_keep_size = '5GB'; doesn't throw any errors, but also doesn't seem to have any effect. If you have any pointers for how to clear my WAL and increase the limit, that would be amazing - otherwise I'll just try to troubleshoot it myself.

@djbutler Thanks for sharing your config!
The max_slot_wal_keep_size setting is the reason you got the error about the replication slot getting invalidated. By default, its value is set to -1 in Postgres, so replication slots can retain as much WAL as there is available disk space. Chaging the value of this setting won't have any effect until the Postgres instance is restarted, per the docs:

This parameter can only be set in the postgresql.conf file or on the server command line.

Even then, I guess once a replication slot has been invalidated, it can no longer be used. You can drop Electric's slot with SELECT pg_drop_replication_slot('electric_replication_out_<db name>') and restart Electric to let it create a new one. You can also query the database for all replication slots to double-check that the name is right:
SELECT * FROM pg_replication_slots;

In the upcoming release of Electric we're introducing a configuration parameter to set the upper limit on WAL size that Electric can retain, see the preview here.

Thanks @alco, I appreciate the detailed explanation. One quick question about the preview you linked to - it says:

Setting this to a low value may lead to clients having to discard their local copy of the server state and restart their replication state from scratch.

So if I understand correctly, the local copy will be discarded because the "diff" information between the client's copy and the server's newer copy has been thrown away?
Also, discarding the local copy of the server state doesn't cause pending client-side transactions being dropped does it? That would be pretty bad - it could lead to data loss. I assume it's just a performance issue - the client will have to download the server state again, but won't lose pending local transactions, right?

So if I understand correctly, the local copy will be discarded because the "diff" information between the client's copy and the server's newer copy has been thrown away?

Electric does not compute diffs currently. It can stream transactions from Postgres' WAL and, provided there's no gap between what it has already sent to a given client and what it can stream from Postgres, it will keep streaming new transactions to the client.
But if the replication slot is removed, Postgres will discard old WAL segments and so, upon creating a new replication slot, Electric will only be able to resuming streaming from the latest state in Postgres. If it detects that there's a gap between the last transaction the client received and the earliest transaction Electric can stream from Postgres, it will ask the client to reset its local state to force it to request the latest snapshot of the shape data from the database before going back to the transaction streaming mode.

Also, discarding the local copy of the server state doesn't cause pending client-side transactions to be dropped does it?

The idea is that client's local updates will survive the reset. This is a gray area currently since we don't yet have sufficient test coverage for this edge case but we'll get there eventually.

Okay got it, thanks!


Icon color

Hi,
First of all, I want to thank you for awesome library. And I have a question. Is there any way to display original icon color? I have icon which opens color picker dialog. So I want to display a colorful icon.
Any suggestion?

I have faced same Issue. Any solution please?

Did you find the answer you were looking for? @yunusmete

I found the answer!
BottomNavigationView bot = (BottomNavigationView) findViewById(R.id.bottom_navigation);
bot.setItemIconTintList(null);


Component suddenly stoped working after home assistant update to 2022.11.0

log:
Logger: homeassistant.config_entries
Source: config_entries.py:809
First occurred: 13:27:21 (1 occurrences)
Last logged: 13:27:21
Error occurred loading configuration flow for integration xiaomi_miio: cannot import name 'ROCKROBO_S7_MAXV' from 'miio.vacuum' (/usr/local/lib/python3.10/site-packages/miio/vacuum.py)
I have tried v3 v4 and v4-1 same results.
no other changes
component has worked stable for over a year.

Same issue, model STY02YM.

can confirm that this https://github.com/KrzysztofHajdamowicz/home-assistant-vacuum-styj02ym/tree/master/custom_components/miio2 works.
seems to be bit of work going on to get this model into main HA integration.

It is due to a dependency mismatch.
Change "python-miio==0.5.9" to "python-miio>=0.5.9" in manifest.json and it will work again.

@Strixx76  thank you worked like a charm :) :)


[UsePaging] attribute seems to be missing in HotChocolate.Types 11.1.0-preview.6

Bug description
[UsePaging] attribute seems to be missing in HotChocolate.Types 11.1.0-preview.6.
To Reproduce
Steps to reproduce the behavior:

Install HotChocolate.Types (11.1.0-preview.6)
Using HotChocolate.Types.Relay;
Try to add a [UsePaging] attribute upon your query
See error "The type or namespace "UsePagingAttribute"/"UsePaging" could not be found (are you missing a using directive or an assembly reference?)

Expected behavior
[UsePaging] is expected to be found.
Desktop:

OS: Windows 10

This should be enough
using HotChocolate.Types;

using HotChocolate.Types; is not enough though.

Do you have a package reference to the package HotChocolate ?

can we close this issue?


tweaked the chemistry guide so that it may work.

Changelog

add: added a possibly working chemistry guide

i compared working guides to mine and made mine look more like those.

it's poor form to make duplicate prs usually
this also is lacking the changes I made to the last one to actually show up in the guidebook

FUCK

waht changes did you make

go fix the original pr please


Update Configuration to support passing additional imports

We have multiple swift packages which need to be imported into our generated definitions.
Similar to how Sourcery supports passing autoMockableImports. https://github.com/krzysztofzablocki/Sourcery/pull/940
These changes include imports in Configuration

@BarredEwe perhaps it might be preferred to allow passing more generics arguments as args?
args:
  autoMockableImports: ["Combine", "BookPlayerKit"]
  autoMockableTestableImports: ["BookPlayer"]

Might be an idea to add some tests for Configuration parsing

@BarredEwe perhaps it might be preferred to allow passing more generics arguments as args?
args:
  autoMockableImports: ["Combine", "BookPlayerKit"]
  autoMockableTestableImports: ["BookPlayer"]

Sounds great!
This will save us from adding all the arguments from Sourcery in the future.
And given the ability to add a custom Stencil, it will be great to throw custom arguments there

Great job 👍
If you want, you can add configuration parsing tests. I plan to do it anyway in the future)

I tried adding tests, but it doesn't seem possible for for plugins!


Main screen appears briefly and is interactable after not authenticating

When biometric or PIN authentication is enabled, if you press the system 'back' button while the authentication screen is displayed, the main screen flashes briefly before the app closes, displaying the user's entries. When this happens, interaction is not locked out, so if you are quick, you can actually click on one of the entries and view the code. There is enough time to quickly read it (and if not you can just try again). If copy-to-clipboard is enabled the code will actually be copied to the clipboard.
This issue unfortunately renders the biometric/PIN authentication feature useless (except to perhaps deter someone who is not observant enough to notice it).
I am using the latest release (v2.6) on a OnePlus 6T (OxygenOS 10.3.12, Android version 10).

Thanks for reporting the issue. I think the issue is related to OEM implementation. I will investigate if there is a better way representating the authentication state.


The case of first letter of field names is not respect the JSON serialize rule

type Type struct {
    FirstName string
}

will be in JSON format:
{ "FirstName": "xxx"}

but the docs render it as
{ "firstName": "xxx"}

It seems default case style used in swag is camelCase
However you can set json tag explicitly:
type Type struct {
    FirstName string `json:"FirstName"`
}

Then swag should respect the default style of JSON serialization in Go, I think.

There is also a property strategy option
https://github.com/swaggo/swag#swag-cli

Thanks!