Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The source member of a component is saved with all dates updated to today #35

Closed
mlstoppa opened this issue Aug 14, 2024 · 5 comments · May be fixed by codefori/vscode-ibmi#2219
Closed
Assignees
Labels
bug Something isn't working

Comments

@mlstoppa
Copy link

Hi @sebjulliand
This is a tough one and it took me a lot of time to be able to replicate it. Furthermore, I can't say if it's a problem with the Code4i or the Skipper extension, anyway, I can replicate it using Skipper. That's why I am here.


👉🏻 Under certain conditions after saving a source member, all the lines have today's date without exceptions. Instead, only those that I changed should have the new date.
Here is a document with all the steps to replicate the issue. It looks like this issue happens when a component is first opened for browsing, then it's opened a second time for editing while the first one is still open, and the editing session starts after having closed the first one.
I hope the document is clear enough for you to replicate the steps and see the issue and in any case I can answer all of your questions.
Thank you very much
Lucia
[Dates_changed.pdf](https://github.com/user-attachments/files/16610033/Dates_changed.pdf)
Context Version
Code for IBM i version 2.12.1
Visual Studio Code version 1.92.1
Operating System win32_x64
Active extensions
ARCAD-Elias (arcad-elias): 2.1.7
COBOL (cobol): 10.8.12
Code Coverage for IBM i (code-coverage-ibmi): 0.1.7
Code for IBM i Walkthroughs (vscode-ibmi-walkthroughs): 0.5.0
Configuration Editing (configuration-editing): 1.0.0
Db2 for IBM i (vscode-db2i): 1.1.4
ESLint (vscode-eslint): 3.0.10
Emmet (emmet): 1.0.0
Error Lens (errorlens): 3.20.0
Git (git): 1.0.0
Git Base (git-base): 1.0.0
Git Graph (git-graph): 1.30.0
GitHub (github): 0.0.1
GitHub Authentication (github-authentication): 0.0.2
IBM i Debug (ibmidebug): 2.0.1
IBM i Notebooks (vscode-ibmi-notebooks): 0.0.6
IBM i Project Explorer (vscode-ibmi-projectexplorer): 2.11.0
JSON Language Features (json-language-features): 1.0.0
Live Server (LiveServer): 5.7.9
Merge Conflict (merge-conflict): 1.0.0
Node Debug Auto-attach (debug-auto-launch): 1.0.0
Prettier - Code formatter (prettier-vscode): 10.4.0
Prettier SQL VSCode (prettier-sql-vscode): 1.6.0
RPGLE (vscode-rpgle): 0.26.8
TODO Highlight (vscode-todo-highlight): 1.0.5
TypeScript and JavaScript Language Features (typescript-language-features): 1.0.0

Remote system
Setting Value
IBM i OS V7R4M0
Tech Refresh 8
CCSID Origin 65535
Runtime CCSID 65535
Default CCSID 37
SQL Enabled
Source dates Enabled

Enabled features

/QOpenSys/pkgs/bin /usr/bin /QSYS.lib/ILEDITOR.lib /QSYS.LIB /QIBM/ProdData/IBMiDebugService/bin
bash attr GETNEWLIBL.PGM QZDFMDB2.PGM startDebugService.sh
chsh iconv
find setccsid
git
grep
ls
md5sum
sort
stat
tar
Shell env
BUILDLIB=QGPL
CURLIB=QGPL
HOME=/home/LSTOPPA
HOST=developm.<customer>.net
LIBLS=LSTOPPA QGPL QRPG LIBEXPAT ZMODLIB10 ZMODEDIIP TAMULTSRV MM510TAQ MM510TAW MM510SRC MMGUSSRC MM510LNG MM510TAL MM510TAE MM510TAC JDASYS MM510PGM MMGUSPGM MM510TAP LSTOPPATST QTEMP
LOGIN=lstoppa
LOGNAME=lstoppa
MAIL=/var/spool/mail/lstoppa
OLDPWD=/home/LSTOPPA
PASE_USRGRP_LIMITED=N
PATH=/QOpenSys/pkgs/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin
PWD=/home/LSTOPPA
SHELL=/QOpenSys/pkgs/bin/bash
SHLVL=1
SSH_CLIENT=10.12.200.99 44112 22
SSH_CONNECTION=10.12.200.99 44112 172.27.150.12 22
TZ=<PST>8<PDT>,M3.2.0,M11.1.0
USER=lstoppa
USERNAME=lstoppa
WORKDIR=/home/LSTOPPA
_=/QOpenSys/pkgs/bin/env
Variants
{
  "american": "#@$",
  "local": "#@$"
}
Errors
[
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF2111:  Library ILEDITOR already exists.\nCPC2206:  Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed.",
    "cwd": "/home/LSTOPPA"
  },
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF2125:  No objects deleted.\nCPC2206:  Ownership of object QZSHSYSTEM in QTEMP type *USRSPC changed.",
    "cwd": "/home/LSTOPPA"
  }
]
@sebjulliand
Copy link
Collaborator

Hi @mlstoppa ,
good finding there.

Member editing/browsing is delegated to Code for IBM i. It handles the date support, etc. And as far as I can tell, you can't replicate this just using Code for i Object Browser because it doesn't allow for the same member to be opened at the same time for editing and browsing. There is an additional check for this that prevents this case from happening. Otherwise, the same issue would arise in Code for IBM i.

I'll have to add the same kind of check in Elias so you won't be able to open twice the same member in different modes.

@sebjulliand sebjulliand added the bug Something isn't working label Aug 19, 2024
@sebjulliand sebjulliand self-assigned this Aug 19, 2024
@mlstoppa
Copy link
Author

Hi Seb,
Yes, you are right. I have just tried to do the same using Code4i and in fact opening the same source member in 2 different modes is not allowed:
image
I am looking forward to your updates! :)

@sebjulliand
Copy link
Collaborator

@mlstoppa I submitted a fix in Code for i for this; it will prevent the bug from happening (this is the most important): codefori/vscode-ibmi#2219
Preventing the member to be opened in two different modes will be done here.

@mlstoppa
Copy link
Author

Good to know! Great! I follow the Codefori issue to see the news. Thank you

@sebjulliand
Copy link
Collaborator

Hi @mlstoppa ,
I just released a 2.1.8 version that prevents a component from being opened twice in different editing modes. That should prevent this issue from happening.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants