-
Notifications
You must be signed in to change notification settings - Fork 43
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
Adapt the web user interface to log in the new server #1080
Conversation
* It is (working) a proof-of-concept. * Providers have been reorganized. * The only way to logout is by removing the cookie. You can remove them, for instance, using your browser's developer tools.
Needed in the context of the login page to been able to influence the full look&feel of the button. It allows a better integration outside of the core/Sidebar.
To make possible use it for the login page too, since core/Sidebar mounts components that depends on pieces that are not available before login into the system.
Mainly by wrapping its content in with core/Page component to make it looks like the rest of Agama pages. Texts and buttons might be subject to be changed before merging into master.
I've made some changes to integrate the login page with the rest of Agama. In general... I'm happy with the result 🤓 But please, bear in mind that the text you will see in below screenshot are kind of placeholder for opening a discussion about the information should be there. They might be improved or change, but in general I'd like keep two things
|
Maybe we could take the opportunity to adapt the "about Agama" text. I would remove the part about "use it in virtual machines". For the time this is merged into master, I hope we could already benefit from tests in real hardware. |
For all components touched for creating the core/LoginPage.
* Quite some code is temporarily commented.
* All the operations are now under /api/auth. * Add an operation to allow to log out, although it is only relevant for the cookies. * Adapt the web UI.
* It is not finished because it sends all the attributes, no matter if they changed or not.
* It temporarily comments some stuff in the App, Main and ProductSelectionPage components and the Product context too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've reviewed the web
part. In general looks good, just a few minor comments, some of them against code sent by myself 😜
I saw a lot of code commented. I understand this is an intermediate step and these comments will be revisited sooner than later.
That was a huge change, thanks for taking care of it.
web/src/client/http.js
Outdated
/** | ||
* Registers a handler for events. | ||
* | ||
* The handler is executer for all the events. It is up to the callback to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NP: typo, executed
} | ||
|
||
/** | ||
* Available locales to install in the target system. | ||
* | ||
* TODO: find a better name because it is rather confusing (e.g., 'locales' and 'getLocales'). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same applies to keymaps and timezones, I guess. Only whateverOptions comes to my mind, although admittedly is not much better.
Co-authored-by: David Díaz <1691872+dgdavid@users.noreply.github.com>
Since Imo has considered this PR good enough to be merged into the feature branch, I guess we need a follow-up card for rewording the About text. Maybe @mvidner wanna have a look. |
rust/agama-server/src/web/http.rs
Outdated
@@ -36,19 +41,50 @@ pub struct LoginRequest { | |||
pub password: String, | |||
} | |||
|
|||
#[utoipa::path(get, path = "/authenticate", responses( | |||
#[utoipa::path(post, path = "/auth", responses( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shall we use "/api/auth" here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, yes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just added some minor suggestions and comments but in general LGTM
Co-authored-by: Knut Alejandro Anderssen González <kanderssen@suse.de>
Trello: https://trello.com/c/Ff8n3NVZ/3563-5-expose-the-manager-api-over-http This PR exposes most of the Manager API[^1] through the interface. It includes: * `api/manager/probe`: starts the probing. * `api/manager/install`: starts the installation. * `api/manager/finish`: executes the post-install tasks. * `api/manager/status`: expose the manager status` ```rust { "phase": "Config", "busy": [ "org.opensuse.Agama.Storage1" ] } ``` Additionally, it emits two events: `BusyServicesChanged` and `InstallationPhaseChanged`. [^1]: The part of the D-Bus API used by the web UI. ## To do - [x] Before proceeding, we need to merge #1080. - [ ] ~~Add a mechanism to get the logs~~ (postponed). - [x] Add a `CanInstall` boolean to the manager status.
After a few months of work, it is time to merge the `architecture_2024` branch into `master`. It is still a work-in-progress, but all the efforts should be go now against that branch. ## Pull requests * #1061 * #1064 * #1073 * #1074 * #1080 * #1089 * #1091 * #1092 * #1094 * #1095 * #1099 * #1100 * #1102 * #1103 * #1112 * #1114 * #1116 * #1117 * #1119 * #1120 * #1123 * #1126 * #1129 * #1130 * #1131 * #1132 * #1133 * #1134 * #1136 * #1139 * #1140 * #1143 * #1146 ## Other commits * 8efa41f * 9e2dec0
Prepare for releasing Agama 8. It includes the following pull requests: * #884 * #886 * #914 * #918 * #956 * #957 * #958 * #959 * #960 * #961 * #962 * #963 * #964 * #965 * #966 * #969 * #970 * #976 * #977 * #978 * #979 * #980 * #981 * #983 * #984 * #985 * #986 * #988 * #991 * #992 * #995 * #996 * #997 * #999 * #1003 * #1004 * #1006 * #1007 * #1008 * #1009 * #1010 * #1011 * #1012 * #1014 * #1015 * #1016 * #1017 * #1020 * #1022 * #1023 * #1024 * #1025 * #1027 * #1028 * #1029 * #1030 * #1031 * #1032 * #1033 * #1034 * #1035 * #1036 * #1038 * #1039 * #1041 * #1042 * #1043 * #1045 * #1046 * #1047 * #1048 * #1052 * #1054 * #1056 * #1057 * #1060 * #1061 * #1062 * #1063 * #1064 * #1066 * #1067 * #1068 * #1069 * #1071 * #1072 * #1073 * #1074 * #1075 * #1079 * #1080 * #1081 * #1082 * #1085 * #1086 * #1087 * #1088 * #1089 * #1090 * #1091 * #1092 * #1093 * #1094 * #1095 * #1096 * #1097 * #1098 * #1099 * #1100 * #1102 * #1103 * #1104 * #1105 * #1106 * #1109 * #1110 * #1111 * #1112 * #1114 * #1116 * #1117 * #1118 * #1119 * #1120 * #1121 * #1122 * #1123 * #1125 * #1126 * #1127 * #1128 * #1129 * #1130 * #1131 * #1132 * #1133 * #1134 * #1135 * #1136 * #1138 * #1139 * #1140 * #1141 * #1142 * #1143 * #1144 * #1145 * #1146 * #1147 * #1148 * #1149 * #1151 * #1152 * #1153 * #1154 * #1155 * #1156 * #1157 * #1158 * #1160 * #1161 * #1162 * #1163 * #1164 * #1165 * #1166 * #1167 * #1168 * #1169 * #1170 * #1171 * #1172 * #1173 * #1174 * #1175 * #1177 * #1178 * #1180 * #1181 * #1182 * #1183 * #1184 * #1185 * #1187 * #1188 * #1189 * #1190 * #1191 * #1192 * #1193 * #1194 * #1195 * #1196 * #1198 * #1199 * #1200 * #1201 * #1203 * #1204 * #1205 * #1206 * #1207 * #1208 * #1209 * #1210 * #1211 * #1212 * #1213 * #1214 * #1215 * #1216 * #1217 * #1219 * #1220 * #1221 * #1222 * #1223 * #1224 * #1225 * #1226 * #1227 * #1229
This pull request aims to adapt the web UI to start using the new
agama-server
.The user should be able to:
agama-server
(using the root password).To make it possible to reach the product selection list, several things need to be adapted.
Screenshots
Although texts still need a review, you can get an idea of how it looks with the following screenshots.