summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-12-31LibMarkdown: Render lines to terminal instead of a single stringArda Cinar
With this patch, the blocks in a markdown document render a vector of lines. These lines get concatenated in Document::render_to_terminal, so this does not change any external APIs of LibMarkdown. This change makes it possible to indent individual lines in the rendered markdown. So, rendering blockquotes in a similar way to code blocks :^)
2022-12-31LibGUI: Fix invalid ModelIndices during shift-click multiselectionAayush
Previously, If the widget was unfocused, the selection start index would be invalid. This would result in invalid selections when doing shift+click on the widget (while it is unfocused). Now, we reassign the selection start index to current index before we initiate multiselection, if selection start index is invalid. Should Fix SerenityOS#11999 and the same bug inside FileManager.
2022-12-31LibAudio: Prevent int overflow in the user buffer queueAlex Chronopoulos
The `UserSampleQueue::remaining_samples` calculates the result by subtracting two unsigned int numbers. That can lead to integer overflow. Add an assert to verify that the minuend is greater or equal to the subtrahend.
2022-12-31Calculator: Add adding/subtracting/multiplying/dividing by a percentageKarol Baraniecki
It's now possible to easily calculate 50% of 50. :^)
2022-12-31Calculator: Support chaining and repeating operationsKarol Baraniecki
The calculator now supports chaining (hitting "1+2+3=" shows "6" instead of "5") and repeating ("2+2===" shows "8") operations. :^)
2022-12-31Calculator: Fix which digits get animated when pressing keyboard keysKarol Baraniecki
Previously every digit press would appear like "0" was pressed on the keypad.
2022-12-31LibJS: Fix spec link and spec comment in PlainYearMonthBodilessSleeper
2022-12-31LibJS: Remove call to ToPositiveInteger after CalendarDaysInMonthBodilessSleeper
Implements: tc39/proposal-temporal@261692a In order to remove the call to to_positive_integer() there neeeded to be a change of return type from ThrowCompletionOr<Value> to ThrowCompletionOr<double>. This is one of the changes that will come anyways with the following commit: tc39/proposal-temporal@11aad40. :^)
2022-12-31LibAudio: Tolerate a file sample rate lower than the AudioServer'sAndrew Kaster
Previously, trying to load a wav file in aplay or SoundPlayer with a sample rate less than 44100 would crash in an assertion failure trying to unchecked_append to a vector that was not resized properly.
2022-12-31LibAudio: Only join the background enqueuer thread if has been startedAndrew Kaster
This prevent an assertion failure in SoundPlayer when closing it before trying to play any audio files.
2022-12-31SoundPlayer: Pledge proc so that we can actually open audio filesAndrew Kaster
2022-12-31Utilities: Fix top utility not calling exit() on SIGINTHawDevelopment
Before, when running top, pressing Control+C (triggering SIGINT), would not call the atexit handler. Therefor not restoring stdin.
2022-12-31Ports: Use absolute path of scriptJan200101
The relative paths are not valid inside a port build directory. This makes target_env source .hosted_defs.sh correctly.
2022-12-30Ladybird: Tell Qt that we manually handle the Cookie headerLuke Wilde
In some cases, Qt would silently drop the Cookie header and start causing Cookie authenticated requests to start failing.
2022-12-30Kernel: Disallow executing SUID binaries if process is jailedLiav A
Check if the process we are currently running is in a jail, and if that is the case, fail early with the EPERM error code. Also, as Brian noted, we should also disallow attaching to a jail in case of already running within a setid executable, as this leaves the user with false thinking of being secure (because you can't exec new setid binaries), but the current program is still marked setid, which means that at the very least we gained permissions while we didn't expect it, so let's block it.
2022-12-30Base: Add more emojiXexxa
🧑‍🍳 - U+1F9D1 U+200D U+1F373 COOK 🥷 - U+1F977 NINJA 💒 - U+1F492 WEDDING ➿ - U+27BF DOUBLE CURLY LOOP
2022-12-30Toolchain: Fix aarch64 toolchain GDB buildkleines Filmröllchen
We just need to pass -disable-werror, otherwise Clang will complain a lot.
2022-12-30pro: Fix comment typoNico Weber
2022-12-30icc: Print rendering intentNico Weber
2022-12-30LibGfx: Read rendering intent from ICCProfile headerNico Weber
2022-12-30Ladybird: Fix typosNico Weber
2022-12-30LibGUI: Automatically scroll to a new column on adding it in ColumnsViewKarol Kosek
2022-12-30LibGUI: Teach ColumnsView where indexes are placed (and scroll to them)Karol Kosek
This makes the view to scroll when pressing arrow keys! :^)
2022-12-30LibGUI: Don't destroy columns after selecting already opened oneKarol Kosek
2022-12-30LibGUI: Determine model index from a content position in ColumnsViewKarol Kosek
We didn't take the scroll value into account when we were converting a position to an index, which basically prevented us from selecting a desired file if a list wasn't small enough to fit entirely in the widget box.
2022-12-30LibGUI: Don't show last separator in columnKarol Kosek
2022-12-30LibGUI: Replace a magic number with ColumnsView::column_separator_widthKarol Kosek
2022-12-30LibC: Mark fenv-family function arguments as used on aarch64kleines Filmröllchen
This makes LibC build under aarch64 Clang.
2022-12-30Kernel/aarch64: Implement wait_cycles as a pause loopkleines Filmröllchen
The hand-written assembly does not compile under Clang due to register size mismatches. Using a loop is slower (~6 instructions on O2 as opposed to 2 with hand-written assembly), but using the pause instruction makes this more efficient even under TCG.
2022-12-30Kernel/aarch64: Implement Processor::pause and Processor::wait_checkkleines Filmröllchen
For pause we use isb sy which will put the processor to sleep while the pipeline is being flushed. This instruction is also used by Rust in spin loops and found to be more efficient, as well as being a rough equivalent to the x86 pause instruction which we also use here. For wait_check we use yield, which is a hinted nop that is faster to execute, and I leave a FIXME for processing SMP messages once we support SMP. These two changes probably make spin loops work on aarch64 :^)
2022-12-30Kernel/aarch64: Declare TrapFrame as structkleines Filmröllchen
Clang doesn't like misdeclaring classes and structs.
2022-12-30icc: Print data color spaceNico Weber
2022-12-30LibGfx: Read data color space from ICCProfile headerNico Weber
2022-12-30LibWeb: Fix a (charming) comment typoNico Weber
2022-12-30MouseSettings: Update "switch buttons" icon to reflect checkbox stateRavi J
Using an additional "right button" variant of the graphic, it now updates the icon based on the user's preference of primary button.
2022-12-30Documentation: Update FontEditor document to be in-sync with latestdjwisdom
2022-12-30LibWeb: Margin bottom collapsing between parent and last childAliaksandr Kalenik
2022-12-30LibWeb: Margin top collapsing between parent and first childAliaksandr Kalenik
Implement collapsing of a box margin-top and first in-flow child margin-top by saving function that updates y position of containing block inside BlockMarginState and then for every child until "non-collapsed through" child is reached y position of containing block is updated by calling update_box_waiting_fox_final_y_position_callback.
2022-12-30LibWeb: Introduce structure that maintains collapsible margins in BFCAliaksandr Kalenik
Previously y position of boxes in block formatting context was calculated by looking at y position of previous in-flow sibling and adding collapsed margin of "collapse through" boxes lying between box currently being laid out and it's previous in-flow sibling. Here introduced BlockMarginState structure that maintains array of currently collapsible margins hence we no longer need to look at previous sibling to calculate y position of a box.
2022-12-30SQLStudio: Remove (unimplemented) ability to open database storage filesTimothy Flynn
It may be handy to have some sort of storage inspector at some point but for now, it doesn't make sense to open a database file. So only allow opening script files, and don't make assumptions on their extension.
2022-12-30SQLStudio: Display error message boxes when connections/executions failTimothy Flynn
In a GUI application, this is vastly more useful than logging to the terminal or ignoring the error completely.
2022-12-30SQLStudio: Add an option to select or specify the database to connect toTimothy Flynn
This adds a combo box to the action toolbar to allow for entering a database name manually or selecting from the list of existing databases. The action to run a script is now disabled while we are not connected to a database.
2022-12-30SQLStudio: Only display the character/word count of selected textTimothy Flynn
It's not particularly useful to see the word count of a SQL script, except for when displaying the number of selected words. This changes SQLStudio to behave exactly like HackStudio in this regard. We will use segment 0 to display the selected text stats (if any) and segment 2 for the cursor position. Segment 1 will be used in an upcoming commit for the current SQL connection status. We also now handle displaying action text the same way as HackStudio.
2022-12-30SQLStudio: Close the current SQL connection before opening a new oneTimothy Flynn
2022-12-30SQLStudio: Simplify action handling a bitTimothy Flynn
Most actions do not need to care about whether there is an open editor tab, as we can (and should) disable those actions when there isn't an open tab. We can also hide the verify_cast handling inside a helper function.
2022-12-30SQLStudio: Protect against possible crash when saving an empty fileTimothy Flynn
The underlying Core::Stream methods require the bytes passed in to be non-empty. Simply opening the file is enough to ensure the file is created with empty contents if the editor's text is empty.
2022-12-30SQLStudio: Convert SQLStudio to GMLTimothy Flynn
2022-12-30sql+SQLStudio: Recover from errors preparing SQL statementsTimothy Flynn
In both applications, display the SQL statement that failed to parse. For the REPL, ensure the REPL prompts the user for another statement. For SQLStudio, we don't continue executing the script as it likely does not make sense to run statements that come after a failed statement.
2022-12-30SQLServer: Mark a deferred invocation lambda as mutableTimothy Flynn
Otherwise the `move(result)` statement inside the lambda does not actually move anything, because `result` is constant without the mutable attribute. Caught by clangd.
2022-12-30SQLServer: Explicitly return empty optionals over IPC upon errorsTimothy Flynn
These are currently hitting the `decltype(nullptr)` constructor, which marks the response as invalid, resulting in no response being sent to the waiting client.