redox-os issueshttps://gitlab.redox-os.org/groups/redox-os/-/issues2021-04-05T20:43:47Zhttps://gitlab.redox-os.org/redox-os/termion/-/issues/190Mouse support is incomplete2021-04-05T20:43:47ZAndriy SymonovychMouse support is incompleteMouse event API has events for certain button (L, M, R) presses but release event does not carry what exact button is released.
This makes it impossible to handle simultaneous button presses correctly.
Also there seems to be no way to s...Mouse event API has events for certain button (L, M, R) presses but release event does not carry what exact button is released.
This makes it impossible to handle simultaneous button presses correctly.
Also there seems to be no way to stop capturing mouse events (except for sending CSI sequence manually)https://gitlab.redox-os.org/redox-os/kernel/-/issues/104Add resource limits2023-06-27T09:55:56ZJoshua AbrahamAdd resource limitsWe should consider adding a way for user processes to query and set resource limits imposed by the system. This would be immediately useful for issues such as redox-os/ramfs#5 where the ramfs driver could use it at runtime to determine t...We should consider adding a way for user processes to query and set resource limits imposed by the system. This would be immediately useful for issues such as redox-os/ramfs#5 where the ramfs driver could use it at runtime to determine the maximum size of ramdisks.https://gitlab.redox-os.org/redox-os/ramfs/-/issues/5ramfs maximum disk size2021-04-01T17:58:12ZJoshua Abrahamramfs maximum disk size~~Just a drive-by thought, but wanted to discuss with @4lDO2. Should ramfs support a configuration option for maximum memory usage? Theoretically there is currently no upper bound for capacity. I think we should consider setting a limit ...~~Just a drive-by thought, but wanted to discuss with @4lDO2. Should ramfs support a configuration option for maximum memory usage? Theoretically there is currently no upper bound for capacity. I think we should consider setting a limit for any ram filesystem and return ENOSPC once the limit is encountered. Thoughts?~~
Let's set a limit on maximum memory usage by the ramfs device to prevent memory pressure on the system. When the device reaches the upper bound, return `ENOSPC`. While a first pass may implement this globally, eventually we want to track usage per user to prevent any single user from using all memory backed storagehttps://gitlab.redox-os.org/redox-os/ramfs/-/issues/4Implement frename2021-04-01T17:17:03ZJacob Lorentzon4ldo2@protonmail.comImplement frenameCurrently the `frename` syscall is not implemented yet, and only returns `ENOSYS` at the moment. It should be as simple as resolving the source and retrieve its parent directory, resolving the destination and decide whether it is a targe...Currently the `frename` syscall is not implemented yet, and only returns `ENOSYS` at the moment. It should be as simple as resolving the source and retrieve its parent directory, resolving the destination and decide whether it is a target file path or target directory, and finally exchange the directory entries.https://gitlab.redox-os.org/redox-os/seahash/-/issues/14a BuildHasher type?2021-03-31T13:24:54ZDavid Roundya BuildHasher type?It would be good to have a BuildHasher type, so I can use this with a HashMap. An example of doing so would also be great.It would be good to have a BuildHasher type, so I can use this with a HashMap. An example of doing so would also be great.https://gitlab.redox-os.org/redox-os/ramfs/-/issues/3Update atime when file is opened2021-04-06T03:24:30ZJoshua AbrahamUpdate atime when file is openedWe should update the access time of a given file in the `open` pathWe should update the access time of a given file in the `open` pathhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1331Can I work on relibc with redoxer/without building Redox?2021-03-30T11:11:15ZAndrzej J. SkalskiCan I work on relibc with redoxer/without building Redox?Hi,
Is it possible to work on relibc without rebuilding entire redox? I remember that was what Redoxer was for.
I need two things:
- ability to update relibc within existing image
- ability to run third party libc-tests (like these http...Hi,
Is it possible to work on relibc without rebuilding entire redox? I remember that was what Redoxer was for.
I need two things:
- ability to update relibc within existing image
- ability to run third party libc-tests (like these https://wiki.musl-libc.org/libc-test.html ). I don't know how to run make from cargo.
I still fail to build redox on debian stable :(.
Kind Regards
NJhttps://gitlab.redox-os.org/redox-os/termion/-/issues/189cfmakeraw() not portable to many *nix systems2021-03-11T22:16:04ZCorrado Primiercfmakeraw() not portable to many *nix systemsHello,
I tried building termion on SmartOS (a Solaris derivative) but it failed on `cfmakeraw()` being undefined. This is [documented in gnulib](https://www.gnu.org/software/gnulib/manual/html_node/cfmakeraw.html), a good workaround is ...Hello,
I tried building termion on SmartOS (a Solaris derivative) but it failed on `cfmakeraw()` being undefined. This is [documented in gnulib](https://www.gnu.org/software/gnulib/manual/html_node/cfmakeraw.html), a good workaround is [setting the termios flags directly](https://perkin.org.uk/posts/solaris-portability-cfmakeraw.html) on Solaris-like OSs. Could you please fix it?https://gitlab.redox-os.org/redox-os/ion/-/issues/998vi-mode: `e` does not work properly2021-08-31T08:28:31Zmseravallivi-mode: `e` does not work properlyin VI normal mode the `e` navigation does not work properly, it misses the last character.
How to reproduce:
```
[input from keyboard: ESC i l o r e m SPACE i p s u m]
$ lorem ipsum
[input from keyboard: ESC 0 d e]
$ m ipsum
```
Exp...in VI normal mode the `e` navigation does not work properly, it misses the last character.
How to reproduce:
```
[input from keyboard: ESC i l o r e m SPACE i p s u m]
$ lorem ipsum
[input from keyboard: ESC 0 d e]
$ m ipsum
```
Expected result ` ipsum`
This happens as well if I try to change the word:
```
[input from keyboard: ESC i l o r e m SPACE i p s u m]
$ lorem ipsum
[input from keyboard: ESC 0 c e h e l l o]
$ hellom ipsum
```
Expected result `hello ipsum`Ion Shell v1.0.0https://gitlab.redox-os.org/redox-os/orbcalculator/-/issues/5Powers don't work properly2021-02-14T11:45:23ZDaniel del CastilloPowers don't work properlyYou can't calculate correctly the power of any number. For example if you try to calculate 12^12 you get 0 as the result. This happens because [calc](https://gitlab.redox-os.org/redox-os/calc) uses ** as the symbol for the power instead ...You can't calculate correctly the power of any number. For example if you try to calculate 12^12 you get 0 as the result. This happens because [calc](https://gitlab.redox-os.org/redox-os/calc) uses ** as the symbol for the power instead of ^ which is the one OrbCalculator is assuming.https://gitlab.redox-os.org/redox-os/calc/-/issues/31Unable to install with cargo2021-02-14T12:55:24ZDaniel del CastilloUnable to install with cargoWhen trying to `cargo install calculate` I got the following error:
```
error[E0503]: cannot use `self.key_bindings` because it was mutably borrowed
--> /home/daniel/.cargo/registry/src/github.com-1ecc6299db9ec823/liner-0.4.4/src/conte...When trying to `cargo install calculate` I got the following error:
```
error[E0503]: cannot use `self.key_bindings` because it was mutably borrowed
--> /home/daniel/.cargo/registry/src/github.com-1ecc6299db9ec823/liner-0.4.4/src/context.rs:98:17
|
96 | let ed = try!(Editor::new_with_init_buffer(stdout, prompt, self, buffer));
| ---- borrow of `*self` occurs here
97 | match self.key_bindings {
98 | KeyBindings::Emacs => Self::handle_keys(keymap::Emacs::new(ed), handler),
| ^^^^^^^^^^^^^^^^^^ use of borrowed `*self`
99 | KeyBindings::Vi => Self::handle_keys(keymap::Vi::new(ed), handler),
| -- borrow later used here
error: aborting due to previous error
```
This happens because the crate still depends on liner v0.4.4, and it works on master (which uses 0.5).https://gitlab.redox-os.org/redox-os/users/-/issues/31Argon2 config2021-04-20T00:04:18ZSamwiseFilmoremggmugginsmc@gmail.comArgon2 config`redox_users::Config` should probably allow passing a [`rust_argon2::Config`](https://docs.sru-systems.com/rust-argon2/0.8.0/argon2/struct.Config.html).`redox_users::Config` should probably allow passing a [`rust_argon2::Config`](https://docs.sru-systems.com/rust-argon2/0.8.0/argon2/struct.Config.html).https://gitlab.redox-os.org/redox-os/userutils/-/issues/37Move AllGroupsExt into redox_users and Prevent Unintended Behavior2021-01-01T01:34:45ZSamwiseFilmoremggmugginsmc@gmail.comMove AllGroupsExt into redox_users and Prevent Unintended BehaviorI think the functionality that's provided by `AllGroupsExt` is valuable enough that it could possibly be used by other users of redox_users. It should probably be moved out of this crate and into that one.
@omac777 Brought up a couple o...I think the functionality that's provided by `AllGroupsExt` is valuable enough that it could possibly be used by other users of redox_users. It should probably be moved out of this crate and into that one.
@omac777 Brought up a couple of good points:
> - for atomicity's sake, all groups should exist before you add the user to the existing groups
> - ensure when adding user to a group, the user should not [be in the group] beforehand. [If] the user already exists, return an error condition useralreadyexists of some sort and recover gracefully continuing to add the user to other groups.
>
> There's a chance without doing the above that you will be adding the user to some groups, but the non-existing group will fail the operation and the user might not get added to the remaining existing groups.
>
> There's a chance that you might double-add a user to a group the way things are read.
For all the situations in this crate, error conditions are always fatal. However, if/when these functions get moved, they should be improved in these ways to prevent these situations from happening, since one of these returning an error condition doesn't necessarily prevent a `save` being called.SamwiseFilmoremggmugginsmc@gmail.comSamwiseFilmoremggmugginsmc@gmail.comhttps://gitlab.redox-os.org/redox-os/ion-vim/-/issues/3Escaped double quotes are currently not handled2020-12-25T23:45:52Zmatu3baEscaped double quotes are currently not handledSee !5 for one simple fix. This also has the advantage, that one can directly see even or odd number of backlashes.See !5 for one simple fix. This also has the advantage, that one can directly see even or odd number of backlashes.https://gitlab.redox-os.org/redox-os/ion/-/issues/994Scopes: can not change variables in function from matches, conditionals or loops2021-06-01T11:13:04Zmatu3baScopes: can not change variables in function from matches, conditionals or loopsbug: values in same function scope are not writable from matches, conditionals or loops.
Additionally, one can not write into variables of higher scope. We need to clarify the syntax for this.
expect: It should be possible to write valu...bug: values in same function scope are not writable from matches, conditionals or loops.
Additionally, one can not write into variables of higher scope. We need to clarify the syntax for this.
expect: It should be possible to write values in functions.
code: input
```sh
let x = 4
let y = 0
let z = 0
let a = 4
fn demo
if test 1 == 1
let x += 1
end
echo "x:" $x
if test $x != 5
echo "x broken"
end
for i in {0..=4}
let z += 1
end
echo "z:" $z
if test $z != 5
echo "z broken"
end
match $a
case 4; let a += 1
case _; echo "FAIL"
end
echo "a:" $a
if test $a != 5
echo "a broken"
end
#echo $y
#while test $y -lt 5
# let y += 1 # BROKEN: does not update y
# #echo $y
#end
#echo "y:" $y
#if test $y != 5
# echo "y broken"
#end
end
demo
echo $x
echo $y
echo $z
echo $a
```
actual: output
```txt
x: 4
x broken
z: 0
z broken
a: 4
a broken
4
0
0
4
```
expect: output
```txt
x: 5
y: 5
z: 5
a: 5
5
5
5
5
```
version: e033ca1c0c2ff8d1932137d2ed7354d003ad9cdc
interaction: noneIon Shell v1.0.0betamatu3bamatu3bahttps://gitlab.redox-os.org/redox-os/rfcs/-/issues/1wiki: create wiki for collection and validation of ideas2020-12-22T21:37:57Zmatu3bawiki: create wiki for collection and validation of ideasSome recent article had a list of possible improvements for operating systems, although more elaborate ideas were shared on other platforms (reddit or forum). Would be nice to **collect the interesting ones** and **annotate feasibility**...Some recent article had a list of possible improvements for operating systems, although more elaborate ideas were shared on other platforms (reddit or forum). Would be nice to **collect the interesting ones** and **annotate feasibility**.
Some recently written TLDR by me:
1. Help shortcuts in the shell would need a shell-independent format **(shellac tries to do this)**.
2. Package managers isolating all programs wont work, but one could create certain rings of duplication of core programs for stable+safe fallback. (Installations should be in separated folders and only have read/write access to predefined and user-defined folders) **(Android does this)**
3. gen_servers for data could have a standard for handling IPC protocols, so that central extremely lightweight sandboxing exists.
4. deterministic and non-deterministic program execution modes (similar to rr), (simulating multiple core execution)
5. making compete sections mutable and immutable (Linux is going there btw) (read-only systems)
6. better linking (format for the linker how to do stuff and how to debug/fix the problem for the user) **(ideas to track metainformation)**
7. dbremmer, reezer, ideas are very nice but way too complex to summarizehttps://gitlab.redox-os.org/redox-os/termion/-/issues/188CI: Increase memory limit of docker container for gitlab runner (for redox)2020-12-15T12:42:55Zmatu3baCI: Increase memory limit of docker container for gitlab runner (for redox)Job [#27838](https://gitlab.redox-os.org/redox-os/termion/-/jobs/27838) failed for 189222555ef92a29de366f96d2a067b3a920fc24:
```text
redoxer: copying '.' to '/root'
qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocat...Job [#27838](https://gitlab.redox-os.org/redox-os/termion/-/jobs/27838) failed for 189222555ef92a29de366f96d2a067b3a920fc24:
```text
redoxer: copying '.' to '/root'
qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory
## redoxer (failure, qemu exit status ExitStatus(ExitStatus(256)) ##
```
The memory limit of the docker runner appears to be [too low](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/1582).https://gitlab.redox-os.org/redox-os/redoxer/-/issues/5no CI for redoxer2020-12-15T12:30:37Zmatu3bano CI for redoxerIts very inconvenient to not check, if redoxer can build and run some simple test programs or some programs that change rarely.
This could prevent [the CI not building](https://gitlab.redox-os.org/matu3ba/ion/-/jobs/30845).Its very inconvenient to not check, if redoxer can build and run some simple test programs or some programs that change rarely.
This could prevent [the CI not building](https://gitlab.redox-os.org/matu3ba/ion/-/jobs/30845).https://gitlab.redox-os.org/redox-os/ion/-/issues/991Simplify slicing2020-12-12T21:56:29Zmatu3baSimplify slicingfeat: Remove edge cases
BREAKING CHANGE: progams relying on slicing MUST be revalidated
perf: impact
performance none
usability increase
maintainability increase
code: input
```sh
let array = [{1..10}]
let array2 = [{1...10}]
echo...feat: Remove edge cases
BREAKING CHANGE: progams relying on slicing MUST be revalidated
perf: impact
performance none
usability increase
maintainability increase
code: input
```sh
let array = [{1..10}]
let array2 = [{1...10}]
echo @array
echo @array2
```
expect: output
```
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
```
actual: output
```
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10
```
reason: better usability and remove edge case
context: We should reuse the inclusive annotation for slicing to simplify working with the shell.
```
let array2 = [{1..=10}]
```Ion Shell v1.0.0betahttps://gitlab.redox-os.org/redox-os/ion/-/issues/990Unterminated single quotes may run arbitrary commands2022-11-26T09:23:24Zmatu3baUnterminated single quotes may run arbitrary commandsbug: The shell does not create and error upon a wrong let binding with single quotes. It appears to run arbitrary commands, when further single quotes appear.
If you are lucky, it creates a core dump.
expect: Not silently accepting a wr...bug: The shell does not create and error upon a wrong let binding with single quotes. It appears to run arbitrary commands, when further single quotes appear.
If you are lucky, it creates a core dump.
expect: Not silently accepting a wrong grammar (for files). The REPL should also indicate, that the string is not terminated.
related: #959 #949
code: input
```sh
let a = 'ab''
```
expect: output
```
ion: syntax error: unterminated single quote
```
version: f05b74e7f3ba96a667a343cd07de212183757b8d
interaction: Alacritty with ion
context: terminal multiplexers may prevent faster core dumpIon Shell v1.0.0betamatu3bamatu3ba