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

Merge v4.3 changes into v5 main #1857

Merged
merged 54 commits into from
Oct 16, 2024
Merged

Merge v4.3 changes into v5 main #1857

merged 54 commits into from
Oct 16, 2024

Conversation

exyi
Copy link
Member

@exyi exyi commented Sep 18, 2024

No description provided.

tomasherceg and others added 30 commits August 17, 2024 22:58
…tart mode

* in all cases, we now limit the paralelism using a semaphore instead of pushing 500 tasks onto the ThreadPool
* in AfterApplicationStart mode, paralelism is limited to cpu_count/2
There could have been a race condition on systems with weak
memory ordering:

Another thread can read the result value before we exit the critical section.
Without a strong memory ordering, the pointer to the result value might get written before the value itself.
The other thread might therefore read zeroed-out memory.
... which can very plausibly occur when rows get removed

fixes  #1835
Add some missing doccomments
Fix near page indexes crashing on invalid page number
Add memory barries to writes at the end of a lock
…ethods

Helper methods to build command binding expressions
view compiler: avoid blocking the ThreadPool in the AfterApplicationStart mode
exyi and others added 24 commits August 18, 2024 13:32
Support for TimeOnly, and DateOnly instance properties (Year, Month, ..., Hour, Minute, ...) in JS bindings. Similar DateTime properties are already supported.

Support for DateOnly.FromDateTime and TimeOnly.FromDateTime methods

Support for DateTime.Now, DateTime.UtcNow and DateTime.Today static properties.
Before this patch, these properties expanded into the compile-time value,
which could give the impression of working correctly during development.

resolves #1693
js translations: TimeOnly, DateOnly and DateTime.Now
CopyProperty used the HasBinding method which only checks
if the current control has that property set.

See https://forum.dotvvm.com/t/bp-gridviewtemplatecolumn-how-to-filter/230/4 for some context
Fix viewmodel restore on back/forward navigation
…abled

Fix and maybe optimize CopyProperty for inherited properties
Improve performance of HtmlWriter and some smaller things
The page does not unload right after we  perform
a navigation, and allows the user to hit the submit
button a second time. In the past, we used to disable
all postbacks after a redirect, but that also blocks
the page after a file is returned. There probably isn't
a 100% reliable way to detect if the location change
is a navigation or a file return.

With this patch, we will block the page again, but only
for a limited time (5 seconds). We also only only block
the postback queue, which means that only postbacks
with Concurrency=Deny or Queue will be affected.

Standard file returns as provided by DotVVM are
excluded from this, but it should also work acceptably
with custom file returns (some buttons will not work
for 5 seconds after the file return)
The same warning is emitted compile-time, which makes this one
redundant. Moreover, the compile-time warning includes smarter
checks, and allows certain cases of uppercase attributes
(in prefixed capabilities)
Block postbacks for 5s after redirects
HtmlWriter: remove upper attribute warning, as it is redundant
Fixed warnings in compilation status page
@exyi exyi merged commit 59dea87 into main Oct 16, 2024
35 of 39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants