KAFKA-15574; [1/N]: Client state machine updates

Updates for the Client state machine, Heartbeat and Commit managers, to support required states and transitions as the member interacts with a consumer group based on heartbeat requests.
Includes support for the subscribe and unsubscribe API calls, that drive the full lifecycle of a member as it joins a group, reconciles assignments, commits offsets if needed, handles fencing and fatal errors, and leaves the group.
This also includes support for topic ID only when needed for the reconciliation process.

BTW, although it's hard for a someone of really little brain like myself to follow at times, the chained Future mechanism is very interesting and useful here. My one concern is that we don't allow those Futures to be completed by the application thread, as that would then kick off all the chained logic in the application thread. That would be bad 😆

Hi @lianetm and @kirktrue @dajac  - Thank you for putting this PR out, much appreciate for the effort.  I have concern about the extensive use of callback here because it is kind of against the original design goal, i.e. making background thread operate in a linear fashion.  With the main thread involved, I'm also seeing the risk of multithreading access to the background thread.  Here are my questions:
Do we need to use the completable future to facilitate the rebalance callback completion cycle?  My original thought was to use Queues to relay the callback invocation and completion, because I see that in some cases, it is unclear to me which thread is completing which callback.  To avoid the confusion all together, I think we should try to use the queue as much as possible.  Also, it make the program to operate more linearly.
If we don't use completable future for the callback, we just need to do two things

if the listen isPresent, we just need to enqueue an event to the backgroundEventQueue and wait for the consumer to poll.  Once the main thread completes the callback, it enqueues an ack event for background thread to consume, to transition to the next state.
if the listener is not presented.  Then we directly invoke the next state transition method.

Also, it seems like
reconciliationResult.whenComplete((result, error) -> {
this is completed by the application thread no? I think we really want the background thread to perform in a single-threading fashion, I'm afraid using callback might result in a some sort of race condition.

Hi @philipnee, thanks for you comment. It does raise an interesting point.
My view is that CompletableFuture provides a really nice abstraction for asynchronous processing. Using it in this PR is entirely appropriate. However, I also take your overall point.
The threading for CompletableFuture depends upon the details of how it is used. If a future is completed on the "wrong" thread, then processing which is dependent upon completion of that future will also execute on the same "wrong" thread. If one of the more complex methods such as supplyAsync is used, it runs on a thread from a worker pool. I don't think we're using that pattern here.
If we actually need to achieve signalling back to a specific thread, we could use the CF to enqueue an event. That compromise seems pretty sensible to me, but I'm not sure whether we need this with the PR as written. I need to re-read the code before I'll be certain.

Hi @AndrewJSchofield - Thank you for your inputs here, your point is absolutely valid in terms of the abstraction it provides.  My main concern is the rebalance callback invocation.  Maybe I misunderstood the PR, but I think the state transition in the whenComplete can be completed by the main thread if the user supplies a callback, unless the callback is not supplied.  I will double-check the syntax.
Could you be more specific about using CF to enqueue an event? Do you mean by enqueuing a callback completion signal to some background thread queue, to notify the thread to perform the subsequent action?

@philipnee I meant that the code which runs in the CompletableFuture.whenComplete() could enqueue an action for the background thread to ensure that the main logic all runs in the background thread.

@AndrewJSchofield - Thanks, I think that's what I have in mind as well.

Comment regarding the async reconciliation process and callback execution. I get your concerns @philipnee , but this PR does not include callback execution for now, the membership manager triggers the callbacks and needs to know when they complete. I expect that will follow in a separate PR based on events as @AndrewJSchofield mentioned.
Without having got into the implementation details yet, I expect that the membershipManager (background thread) will enqueue an app event to execute the callbacks in the app thread, and when that app thread completes the callbacks, it will enqueue a background event to notify the manager about the completion (btw, nice here again that according to the protocol there will be only one assignment being reconciled at a time @dajac).
The async nature of the membership manager in this PR it is not only due to the callbacks. The reconciliation process handles 3 main async operations: metadata, commit, callbacks (triggering and notification when completed, no execution). By basing the them on completable futures we ensure that the background thread continues it operations while there is a reconciliation in process.
Note on the reconciliation not being time bounded on the client. The reasoning is that the time boundaries are set by the broker, that keeps a rebalance timer. If the reconciliation takes longer than allowed (ex. stuck in any of the 3 async operations), the expectation is that the broker will re-assign the partitions and kick the member out of the group. So from the client side we just care about triggering the async reconciliation, making sure we keep sending HB and processing responses (will let us know if kicked-out), and make sure that when reconciliation completes we check if it is still relevant.

I just merged trunk to fix conflicts. We can merge it when the build completes.

Follow-up PR https://github.com/apache/kafka/pull/14857


The "bottom-notice" parameter is missing from the invoice.

I noticed that invoices are generated in the cloud. Is there a possibility that this feature has been removed? It was quite crucial for us, so we would like to know how to replicate this functionality.

Hi, it should function as it used to. We just moved to a new api. Are you getting above error?

Please let us know if anything doesn't work as it should. We will try to fix it ASAP. We will never make the code public though, since this feature is also natively used for our paid app.

We found the issue and are patching the bug as we speak. It should be fixed in about 15 minutes max.

Alright, thanks. 👏


Router.status is always "pending" when you wrap the RouterProvider in StrictMode.

Describe the bug
If the RouterProvider is wrapped in <React.StrictMode>, the status of the Router is alway "pending".
Due to this issue, you can never get the correct resolvedLocation, because this will always return the first location you visited.
Your Example Website or App
https://github.com/TanStack/router/blob/main/examples/react/basic-file-based/
Steps to Reproduce the Bug or Issue
Change line 23 of examples/react/basic-file-based/src/main.tsx to:
root.render(<React.StrictMode><RouterProvider router={router} /></React.StrictMode>)

And run the app normally. Noticed in the TanStackRouterDevtools that the status of the Router is always "pending" and the resolvedLocation is never changed when navigating in the app.
Expected behavior
As a user I would expect that the status if the router is "idle" after navigation and resolvedLocation returns the current location
Screenshots or Videos
No response
Platform

OS: macOS
Browser:Chrome
Version: 124.0.6367.119

Additional context
No response

This has been completed as of the 1.31.26 release.

This bug re-occurred for me for version 1.36.2 onwards. My workaround was to remove strictmode.
Possibly re-introduced by https://github.com/TanStack/router/pull/1734

This bug re-occurred for me for version 1.36.2 onwards. My workaround was to remove strictmode.
Possibly re-introduced by #1734

Moved this to #1912


Add machine translation (Yandex, Google) to Crowdin

Hi, please add the machine translation of Yandex and Google to Crowdin
Here it is written how to do it

@lafriks here work for 5 minutes, and this will help translate Gitea to other languages much faster


Answer Uri's question about attendance events summary

Also, wondering if you could look into one potential bug….when we bring up a student, it’s showing 3 Absences for the School Year even though he hasn’t had any so far.  I think it’s counting starting in June from last year.  Can you take a look?

More context

The Attendance column up top is saying "3" for absences
StudentProfilePage#renderAttendanceColumn
This might not but be a "bug" per se but rather highlights a potential design or labeling improvement

Looking at these lines in renderAttendanceEventsSummary:
var cumulativeQuads = QuadConverter.cumulativeByMonthFromEvents(attendanceEvents);
var value = (cumulativeQuads.length > 0) ? _.last(cumulativeQuads)[3] : 0;

Looks like this is displaying the total number of attendance events in the most recent month with non-zero attendance events.
So for example, this viz —

— means that the student had 3 absences in the last month with non-zero absences (which in this case is May), whereas Uri is expecting it to say something like "zero" since it's a new school year and there haven't been any absences yet.
I think changing the UI to match Uri's intuition makes the most sense. Any feedback/input/design ideas @erose @kevinrobinson?

My suggestions:
— Change the code so that it looks up the # of attendance events for the current month, regardless of whether that value is zero or not
— Add labels: "Discipline this month: 0, Absences this month: 0, Tardies this month: 0"

@alexsoble 👍 those all sound like great improvements to me!  Also this is related to https://github.com/studentinsights/studentinsights/issues/673, but I think that issue appears to have resolved itself via the passage of time.

@kevinrobinson Hmmmm yes! I think "inconsistency" will be easier to identify and fix as we add more labels that help pin down what each number represents.


WIP: [KNI][upstream-carry] Align content to 4.13.1

targeted cherry-picks of the minimal commit set we need on 4.12

/hold
to give ample time for review

simple cherry-picks + CI is passing. lgtm

/lgtm

once this is merged, we need a backport of #108


content not clean after component unmounted, So there is an issue where content is rendered on top of the thread even though the component has been unmounted

#114


Integrate lezer-promql v0.19.0 with alternative top

Codecov Report

Merging #142 (6d76409) into master (197c219) will decrease coverage by 0.32%.
The diff coverage is 63.63%.

@@            Coverage Diff             @@
##           master     #142      +/-   ##
==========================================
- Coverage   72.72%   72.40%   -0.33%
==========================================
  Files          15       15
  Lines         748      750       +2
  Branches      167      167
==========================================
- Hits          544      543       -1
- Misses        125      129       +4
+ Partials       79       78       -1

Impacted Files
Coverage Δ

src/lang-promql/complete/hybrid.ts
74.69% <63.63%> (-1.03%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 197c219...6d76409. Read the comment docs.


presetMini: Breakpoints not being overridden

UnoCSS version
v0.55.3
Describe the bug
According to the docs, by setting breakpoints in presetMini configuration, they will override the defaults. But it seems the configuration is being ignored, and the breakpoints are still the default ones.
I'm using unoCss with a default scaffold for vue-ts from vite-ssr-plugin.
https://github.com/unocss/unocss/assets/54607854/d0c643d9-addc-4beb-a3f2-4bda9b3cf428
The playground seems to have the same behavior. I used the following config:
import {
  defineConfig,
  presetAttributify,
  presetIcons,
  presetMini,
} from 'unocss'

export default defineConfig({
  rules: [
    ['custom-rule', { color: 'red' }]
  ],
  shortcuts: {
    'custom-shortcut': 'text-lg text-orange hover:text-teal'
  },
  presets: [
    presetMini({
      theme: {
        breakpoints: {
          md: "768px",
          lg: "1440px"
        }
      }
    }),
    presetAttributify(),
    presetIcons({
      scale: 1.2,
      cdn: 'https://esm.sh/'
    }),
  ]
})

The lg: searches all show up with min-width 1024 instead of 1440. The sm: searches are shown as well, I would expect it to not be present.
Reproduction
Minimal repro: https://github.com/rafael-lua/bug-breakpoints
System Info

Browser: Brave

Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

We don't have theme option in presetMini.
You should add theme configration in uno.
Playground

We don't have theme option in presetMini. You should add theme configration in uno.

I see. But, I am still confused because the docs show an example with presetMini:
presetMini({
  theme: {
    // ...
    breakpoints: {
      sm: '320px',
      md: '640px',
    },
  },
})

Is it a doc issue in this case?

Is it a doc issue in this case?

Yes, nice catch，pr welcome to fix it.

I faced this problem rn, we need update docs

@ryoppippi I'm sorry that this is not mentioned in the presets documentation. But it is actually documented at https://unocss.dev/config/theme#breakpoints. I will sync the documentation.

@ryoppippi You can also get better type protection like this:
export default defineConfig({
 // ...
  extendTheme: (theme) => {
    return {
      ...theme,
      breakpoints: {
        ...theme.breakpoints,
        tiny: '375px',
      },
    }
  },
})


⚠ Adacta-fintech.com has degraded performance

In 98cf739, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 200
Response time: 5929 ms

Resolved: Adacta-fintech.com performance has improved in 5953693 after 7 minutes.


add Gateway owner labels to ConfigMap and ServiceAccount

Adds the Gateway owner namespace/name labels
to ConfigMaps and ServiceAccounts to be consistent
with Deployments and Services.
Closes #457.
Signed-off-by: Steve Kriss<EMAIL_ADDRESS>

Codecov Report

Merging #462 (497e54c) into main (f571947) will decrease coverage by 0.00%.
The diff coverage is 88.46%.

@@            Coverage Diff             @@
##             main     #462      +/-   ##
==========================================
- Coverage   62.32%   62.32%   -0.01%
==========================================
  Files          40       40
  Lines        4430     4443      +13
==========================================
+ Hits         2761     2769       +8
- Misses       1528     1531       +3
- Partials      141      143       +2

Impacted Files
Coverage Δ

internal/infrastructure/kubernetes/configmap.go
82.45% <78.57%> (-4.09%)
:arrow_down:

...ternal/infrastructure/kubernetes/serviceaccount.go
82.75% <100.00%> (+2.75%)
:arrow_up:

internal/infrastructure/kubernetes/deployment.go
87.74% <0.00%> (-2.95%)
:arrow_down:

internal/infrastructure/kubernetes/infra.go
50.00% <0.00%> (ø)

internal/provider/kubernetes/gatewayclass.go
72.72% <0.00%> (+2.79%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add minimum rustc version compatibility policy

I think that our min version support will be as of v1.51.0 when const generic support was stabilized.

https://github.com/chrissimpkins/vectora/commit/71416fc113e047626e3ea18a0416e12316b0cef0

added to documentation as of the v0.1.3 release


Stop tss2_cars from creeping

This needs to be tested but it looks like it could fix.
https://github.com/commaai/openpilot/issues/1270

Does this require a button press to resume?

Yes. But we could always just fix it with increasing the brake power to 75%

I think the brake power to 75% might be a better solution then. We would need to parametrize the stopping brake, rate up and rate down in the carParams so we can keep the behavior on other cars the same.

Agreed. I at least know that this works. I wonder if this is why my car is going into waiting mode.


Would like submodule support please

this might be useful if you are thinking of having the element repositories submodules . Was that what you were thinking @andrewwolverton ?


Parallel heap algorithm implementations WIP

Implementation moving forward from #1888 , still WIP so this PR is for code review and inspect.
To-Do:

[ ] Write is_heap, is_heap_until
[ ] Benchmark algorithms to test performance
[ ] Determine how chunk size should interact within these algorithms, as the chunk size is not guaranteed in level based parallelism
[ ] Decide whether to create practitioners for these algorithms, or leave the implementation within the algorithm itself.

Currently:

make_heap algorithm is implemented and all tests pass

@Syntaf: what's the status of this work?

@hkaiser All of the tests pass and the algorithms work, but I ran out of time to benchmark them and refine their implementation. A couple things to note

I don't believe settings the chunk size via executor works, it currently splits it events among partitions and additionally divides it by 2. I chose to divide by some constant because an evenly partitioned set with the amount of cores would almost all be run sequentially in the heap algorithms.
If the amount of items in a level is less than the chunk size, it is run sequentially
I had to overload the parallel function in both is_heap and make_heap to account for throwing exceptions within futures, other than that their implementation is identical.

I created two functions inside of parallel/util/detail/chunk_size.hpp , get_bottomup_heap_bulk_iteration_shape and get_topdown_heap_bulk_iteration_shape. Both of these functions return a shape vector as the other chunk_size functions do, and runs any sequential work (if the level is less than the chunk_size). The difference is that they do not partition the level, they only return what levels can be parallelized. So inside parallel I loop through the shape and chunk/execute the items, this is because each element in shape must synchronize before moving on to the next element.

What's the status here? Can we close the PR and you open it again once everything is done?

@sithhell I'm working on this ...

@taeguk Before I close this PR without merging, does this contain anything you might be of value for your work?

@hkaiser I don't refer the implementation in this PR.

Closing this unmerged as similar work is being done independently.


feat(secrets): add annotations and label fields

Resolves #195

tests are running

That's correct. Was checking the idea should have marked it draft.

Tests

good job on adding this, really good stuff 👍
I'll pass on reviewing this, let's wait for @ivan-savciuc to check this out

At some point would be great to extend our tests with some metadata


reset itempos when marking feed as read

Resetting the itempos has the advantage of starting at the first post
when new articles arrive.

Coverage decreased (-0.007%) to 40.313% when pulling 9be9c3c6f96605a8ef64cdbabe821bfa0e86092e on sassmann:reset_itempos into b8e7dadd0d4317c4ac1bd21b23a88907a1ea7dce on newsboat:master.

Coverage decreased (-0.007%) to 40.313% when pulling 9be9c3c6f96605a8ef64cdbabe821bfa0e86092e on sassmann:reset_itempos into b8e7dadd0d4317c4ac1bd21b23a88907a1ea7dce on newsboat:master.

Thank you, @sassmann!

In hindsight, that might not work as well for people who use reverse sorting order. Let's wait for the bug reports, I guess.

Why so?

Because for those people new items appear at the bottom of the feed. They'll have to press one more key to get to the bottom again. Previously it "just worked" because new items appeared under the current cursor position for them.

OK, how about we make this conditional on sort order then?

Yup, that sounds logical. Will you prepare a PR, @sassmann?

I'll see if I can get it working.


Custom user

Description
Implements #1095
Tests
Just run pipenv run migrate.
No error should appear, model User should be moved at the account app in admin interface.
Screenshots

Tu peux mettre à jour staging avant de deploy


Fold if line too long

To avoid lines longer than 998 characters, we should be adding folding white space where available.
We will need a fold method (per header type / enum variant), as different headers have different places where they may be folded.

Body line length is already checked.  This is for headers.


inconsistent list of interpreters

Testing #23482
this was on Windows
I don't get a consistent list of environments with either locator, but left sides are the js locator and right sides are native.

From what I can tell in native locator the environments are always the same, except for the display names.
For some reason Python extension does not generate consistent names @karthiknadig /cc

Please enable Trace logging fro Python extension
Then run the command Python: Clear Cache And Reload..
Once VS Code reloads, open the quick pick again and wait for a few seconds
Then share the logs
I am only after the logs for Native Locator.

Would like to see why one of the environments has been excluded
From what I can tell 3.9.13 is missing

locator.log

@amunger Please can you try this VSIX and share the screenshots and logs again.
Thanks

Not been reported by others hence closing as stable


Feature/performance upgrades

Thanks for this @sjdines. Sorry for the delay. I've completed the merge now and just running through some final tests in our staging environment. I should be able to merge this change tomorrow.


[BUG] Translate/Language error 【中文翻译错别字】

The chinese description of rainbow fart has a error .
【一个在你编程时疯狂夸你写的（得）牛逼的VScode扩展】

说起Language Error，我在使用这款插件的时候发现
it's mean give somebody exaggerated compliment that even seems a little fake
这一句也有些问题，修改成
it means giving somebody exaggerated compliment which even seems a little fake
会比较好一些
要不我提一个PR吧hhhh

@shadowings-zy Thanks for the PR.


Correct behavior for RSA multi-prime unmarshaling

In this snippet of code there is a TODO that needs to be addressed.
https://github.com/MicahParks/jwkset/blob/f4551a14867564cd46401777c4bfc2977f6ecccf/marshal.go#L305-L331
When I generate a multi-prime RSA key with the below function call:
private, err := rsa.GenerateMultiPrimeKey(rand.Reader, 5, 2048)

I can see that the private.Primes field is a slice with a length of 5 and private.Precomputed.CRTValues field is a slice with a length of 3.
However, the current project does not unmarshal back into this private.Primes field correctly.

The OtherPrimes R field was being assigned the R field on CRTValues, but the RFC for that field wanted the prime factor, not the product of primes prior to this (inc p and q).
See 8d59d93bb66c873d3d40f1f444c009ee1b814e27
https://www.rfc-editor.org/rfc/rfc7518#section-<IP_ADDRESS>.1


Steps do not work for Windows 11 after update 22H2

Somewhere around 22H2 Device Guard was changed such that attempting to use remote desktop with a saved credential no longer works. All the online docs say to disable Device Guard and eventually link to this page. However following the steps given here to disable the policy via Group Policy doesn't actually work. After the reboot the problem persists.
Given that all online resources seem to be referencing Device Guard disabling the docs should be updated to either ensure they work for 22H2+ or to have explicit steps to allow saved credentials to work post 22H2 so others don't waste time following these steps just to find out they don't actually work.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 41c2cb44-269d-3334-019a-726eb5432f1c
Version Independent ID: 251024cc-b818-18c6-a112-4ac0276cb4b1
Content: Manage Windows Defender Credential Guard (Windows) - Windows security
Content Source: windows/security/identity-protection/credential-guard/credential-guard-manage.md
Product: windows-client
GitHub Login: @paolomatarazzo
Microsoft Alias: paoloma

Thank you for the feedback @CoolDadTx . I'll follow up with the feature owner and update the article accordingly.

@CoolDadTx did you check the entire article, including the UEFI lock piece? https://learn.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-manage#disabling-windows-defender-credential-guard-with-uefi-lock
Can you please confirm if you have UEFI lock enabled?

@paolomatarazzo AFAIK I am not using UEFI lock?

I also checked the 2 mentioned registry entries and both values are already 0.

If the device you are testing from has have UEFI lock, you must also follow step#3: "Delete the Windows Defender Credential Guard EFI variables by using bcdedit. From an elevated command prompt, type the following commands:". Did you do that, by any chance?

@paolomatarazzo AFAIK this machine has never used any of that. It was literally working on Win 11 until the latest update and then suddenly remote desktop doesn't like saved credentials anymore. So how can I tell if this was every enabled before without having to run a command that modifies my system to remove something that probably wasn't there to begin with?

@CoolDadTx I'm checking with the devs

@RAJU2529 this machine isn't on a domain and therefore the change was applied to the local GP. I've never heard the need for forcing a GP update for a local change. Irrelevant the machine has been rebooted multiple times since the change was made.

@CoolDadTx . That applying force parameter is necessary even in standardalone computers

@RAJU2529 Please provide the documentation that states this. My post here was to get the docs updated related to Win11 and if this is needed in the docs then that is sort of the point of this report. As I mentioned, I have been changing local policies for years on a variety of system issues and htis is the first time I've ever heard a local policy change not taking effect after reboot without using a gpupdate which would normally overwrite the local policy with a domain policy (which is already overridden by the local poilcy). Irrelevant I cannot test this until next week either way.

@CoolDadTx
https://learn.microsoft.com/en-us/windows/security/threat-protection/device-guard/enable-virtualization-based-protection-of-code-integrity
To apply the new policy on a domain-joined computer, either restart or run gpupdate /force in an elevated command prompt.

@RAJU2529 as I mentioned this is Not a domain joined machine and I have rebooted many times since then. Is the docs wrong?

@CoolDadTx . I cannot comment on docs. But I  am using standard alone computer, use gpupdate force parameter, after modifying group policy

@CoolDadTx if you already rebooted, then the local GPO has already applied. I don't have any indications that the article is wrong as I don't have any evidence of others reporting issues after we updated the doc. Since you are not sure if your machine has UEFI lock and, understandably, don't want to make the suggested changes unless needed, I'd ask you to wait until I hear back from the devs if there is a command to determine the status of UEFI lock.

@CoolDadTx to check if Credential Guard has been enabled with UEFI Lock, you can look in the System log:
Source: Wininit
Event ID: 14
Which value do you see?

@paolomatarazzo
Registry Configuration 0x2
Test Configuration 0
Auto Enablement 1

Thank you @CoolDadTx, 0x2 is Enabled without UEFI Lock. I'll ask our developers to take a closer look at your case and to chime into this discussion. Thank you.

@CoolDadTx : in the meantime, can you please share the following screenshots:
Even viewer of the event above
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LsaCfgFlags
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard\LsaCfgFlags

Your device most likely does not explicitly disable Credential Guard. Autoenablement tells us that it was auto-enabled and the configuration value tells us that it was enabled without UEFI lock. As paolo has indicated, sharing those reg keys will be the next step. My guess is that you don't have LsaCfgFlags under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa. Setting that value to 0 will disable credential guard explicitly.

Screenshots

@CoolDadTx as @jirenugo guessed, you are missing the LsaCfgFlags under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa . Please let us know if that fixes the problem

Closing this issue, @CoolDadTx let us know if you still have issues

@paolomatarazzo  I have not been able to verify the fix yet. However I still believe the docs need work. The entry you're asking me to add isn't configured by default on any Win10/11 machine I've checked. So even without doing anything on my machine, the latest Windows Update breaks stored Windows credentials. I don't see how anyone without inside knowledge of how this works would be able to figure out the steps they need to follow to get it resolved. The particular registry entry isn't listed in a section that most people would probably related to a default install of Windows. Hence the whole purpose of my reporting of this issue. There needs to be clear steps to follow for a vanilla copy of Windows to identify and resolve this issue.

@paolomatarazzo @jirenugo the registry entry did not work. When I use mstsc to connect to a VM running on the same machine (as I always have been before the Windows update) then it rejects the saved credentials and requires me to enter them again.

@CoolDadTx thank you for the feedback, we will update the documentation as need to make it clearer. @jirenugo to take a closer look

@paolomatarazzo @jirenugo FYI the behavior is inconsistent. Perhaps the issue is just with mstsc. The machine I'm trying to connect to is a Hyper-V VM. I have a PS script that starts Hyper-V and the VM if they are not already running and connects via the standard Hyper-V client. The credentials work here and I can get into the VM. However my script then connects using mstsc and that is when it says the credentials are invalid. So the Hyper-V client seems to be able to read credentials but mstsc cannot. In all cases the account is a local account on the VM.

@CoolDadTx I would suggest opening a support case to troubleshoot your specific issue. I don't think this is the best place to troubleshoot.

@CoolDadTx Setting LsaCfgFlags to zero did not work for me either, System Information showed Credential Guard still enabled. I do not have an UEFI lock enabled.
The chapter 'Disabling Virtualization-Based Security' mentions EnableVirtualizationBasedSecurity and RequirePlatformSecurityFeatures. Setting both to zero (plus reboot) actually does turn Credential Guard off, while all remaining VBS features appear still running according to System Information.
To sum up:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"LsaCfgFlags"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard]
"EnableVirtualizationBasedSecurity"=dword:00000000
"RequirePlatformSecurityFeatures"=dword:00000000

The issue here is really that 22H2/Credential Guard broke saving passwords for remote desktop.

@jirenugo can you take a closer look at this issue?

@mariusgreuel did you reboot after setting LsaCfgFlags to 0? Can you share a snapshot of the reg keys and the event logs from a repro of credential guard still running with LsaCfgFlags set to 0?

closing due to a lack of response. @mariusgreuel  please reopen the case if you still have the issue

Hi, i'm reopening this as or threading it as this is still presist, i've seen it at 4 diffrent sites which uses Remote Apps, The problem i've found is the same as above when not using Credential Guard, But using gpo to disable device guard fixes Saved Cred issue.
BUT, as "my" sites uses credguard and delegation it's not the main issue, Users Auth just fine with passthrough but when logged on the a RDP connections to other servers wont work and refers to no connection to DC, this happens on Windows 1122h2 and is not apperent on h1.

On the other hand disableing Cred Guard and entering Credentials manually, solved the issue on the Remote machine and you can access network resources. I have the issue as said on 4 different sites (domains) and can easily replicate the issue this occurs for both full rdp or remote app.

Hello @Fetakungen the issue you describe may be related to Kerberos unconstrained delegation .For more information, check here: https://learn.microsoft.com/windows/security/identity-protection/credential-guard/credential-guard-considerations#kerberos-considerations.
If the issue persist, I encourage you to open a support ticket

@Fetakungen - I have been having exactly the same issue you described.  Have you found a solution yet?

@Fetakungen  @EdwardJDill
Same exact pattern with all my remoteapp
If i retyped  my password, it connects

I am (and have been) in the same boat as @CoolDadTx. Same values (or lack of them) in registry, in gpedit, in event viewer.
Did you ever resolve things, @CoolDadTx?
FWIW, I will add that it's only one machine that I seem to be unable to re-use saved RDP passwords (to any machine). This has been for months, over many restarts. I've even gone into credential manager (on the client doing the RDP) and cleared the credentials of the server I connect to most (a suggestion recommended elsewhere), and that did not help.
It is indeed frustrating having to enter the password over and over, and all the more when the machine I'm connecting to is just another in my own network environment (so that some of the advanced security enabled for RDP is less important than if I was connecting over the internet--at least I'd think, someone may school me otherwise on that point).
I hope that along with others also chiming in here we may be able to get things resolved. Like he explained, all the resources I've ever found on this fail to resolve this ongoing problem.

@carehart I switched to Devolver's Remote Desktop Manager.

Yep, switching to an alternative RDP client is indeed another way to avoid the problem. :-) I hope someone may still have motivation to pursue solving it, but I realize there may not be such motivation among enough necessary people to make it happen.


Added summarize() API in DDS that generates summary tree and list of referenced routes

Fixes #3967
This is a pre-cursor to garbage collection.

Garbage collection will re-use the data generated by snapshot for finding fluid objects that are referenced.
Added a summarize() API in DDS to generate summary tree a list of routes to fluid objects referenced by it.
I added a new IFluidSerializer implementation that can track the routes of handles that it serializes.
DDSes uses this serializer to serialize its data during snapshot. The serializer tracks the routes of all handles in the data and this list is returned along with the snapshot tree.

A follow up PR will use the routes tracked during the snapshot process for use during GC.

@vladsud @anthony-murphy With this change, do we still need the IFluidSerializer at ContainerRuntime and DataStoreRuntime? I don't see them getting used in our code or in Bohemia's.
I do see that IFluidObject extends IProvideFluidSerializer but I am not sure if we need it.

Fixes #3962
that doesn't look right. is it supposed to an issue

Fixes #3962

that doesn't look right. is it supposed to an issue

Updated it to reflect the correct issue.

@anthony-murphy  Did I delete your comment in SharedObject? I was replying to it and I refreshed the page. Now, its gone!

Closing and reopening to trigger build

Ping. Gentle reminder :-).

I must admit I reviewed it in chunks, between various commits, but overall looks good.

Thanks Vlad! We can keep iterating on it as and when needed.


Oversight in multi-file LocationLink

LocationLink specifies: originSelectionRange?, targetUri, targetRange and targetSelectionRange?
The issue is that targetRange and originSelectionRange could be in different files
But LocationLink only allows one instance of a uri
For example if the definition of a function is in one file and a reference is in another (ctrl+clicking the ref to jump to the def)
I can only specify the ranges for one file (the definition file)
This leaves vscode to default to the language's wordPattern for originSelectionRange
which gives a bad ctrl+click underline range
(changing the wordPattern is not an option as it is not context aware, and it messes with other features)
Definition in same file: (correct behaviour)

Definition in different file: (wrong behaviour)

I would suggest allowing a location alteration for originSelectionRange and/or targetSelectionRange & targetRange

The issue is that targetRange and originSelectionRange could be in different files

The originSelectionRange is always relative to the model and position for which the current request is made. E.g go to def is invoked for file A at position X and originSelectionRange must contain X and is (by its definition) in file A


[Reveal] unexpected token when Ajax url

How can we reproduce this bug?

Setup test modal
Paste ajax code sample from here: http://foundation.zurb.com/sites/docs/reveal.html
Watch

What did you expect to happen?
I want to display wordpress post in modal usiing ajax function. Post is under known url address
What happened instead?
Console returned an error: scripts.js:13 Uncaught SyntaxError: Unexpected token }
Test case
http://funlam.beectrl.com/
http://funlam.beectrl.com/statut-fundacji    <--- this should be inside modal
Click on the circle with "STATUT FUNDACJI" inside, what I want to do is to display post as modal content but console returns error instead.
My jQuery Code:
jQuery('#statut').click(function() {
	var $modal = jQuery('#animatedModal1');

	jQuery.ajax({'/statut-fundacji'})
		.done(function (resp) {
			$modal.html(resp.html).foundation('open');
		});

});

My HTML:
<?php the_title()?>

Whoa, I'm dizzy!

There are many options for animating modals, check out the Motion UI library to see them all

        <button class="close-button" data-close aria-label="Close reveal" type="button">
            ×
        </button>

When using jQuery.ajax() you need to specify your method and a few other things. See jQuery's Ajax Docs for more. It should probably look something like
$.ajax({
  url: "test.html",
  context: document.getElementById('someReveal')
}).done(function(resp) {
  $( this ).html( resp );
});


CheckPlugin doesn't like inherited checks

Fortunately not a regression, reproduced with previous tmt versions.
It seems that it can only be reproduced when check: is inherited, not when added specifically to a test. :confused:
Noticed when testing tmt-web.
>>> from tmt.base import Tree
>>> from tmt import Logger
>>> tree = Tree(logger=Logger.get_bootstrap_logger())
>>> tests = tree.tests(names=['tests/execute/result'])
Traceback (most recent call last):
  File "/home/mhoyer/repos/tmt/tmt/checks/__init__.py", line 260, in normalize_test_check
    return CheckPlugin.delegate(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/mhoyer/repos/tmt/tmt/checks/__init__.py", line 211, in delegate
    return cast(CheckPlugin[CheckT], find_plugin(raw_data['how'])) \
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mhoyer/repos/tmt/tmt/checks/__init__.py", line 60, in find_plugin
    raise tmt.utils.GeneralError(
tmt.utils.GeneralError: Test check 'dmesg' was not found in check registry.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mhoyer/repos/tmt/tmt/base.py", line 3075, in tests
    Test(
  File "/home/mhoyer/repos/tmt/tmt/base.py", line 1201, in __init__
    super().__init__(
  File "/home/mhoyer/repos/tmt/tmt/base.py", line 718, in __init__
    super().__init__(node=node, logger=logger, parent=parent, name=node.name, **kwargs)
  File "/home/mhoyer/repos/tmt/tmt/utils/__init__.py", line 5105, in __init__
    super().__init__(node=node, logger=logger, **kwargs)
  File "/home/mhoyer/repos/tmt/tmt/utils/__init__.py", line 5736, in __init__
    self._load_keys(node.get(), node.name, logger)
  File "/home/mhoyer/repos/tmt/tmt/utils/__init__.py", line 5709, in _load_keys
    value = dataclass_normalize_field(self, key_address, keyname, value, logger)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mhoyer/repos/tmt/tmt/utils/__init__.py", line 5131, in dataclass_normalize_field
    value = metadata.normalize_callback(key_address, raw_value, logger)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mhoyer/repos/tmt/tmt/checks/__init__.py", line 304, in normalize_test_checks
    normalize_test_check(f'{key_address}[{i}]', raw_test_check, logger)
  File "/home/mhoyer/repos/tmt/tmt/checks/__init__.py", line 265, in normalize_test_check
    raise tmt.utils.SpecificationError(
tmt.utils.SpecificationError: Cannot instantiate check from '/tests/execute/result/basic:check[0]'.

I see, tmt.plugins.explore() needs to be run first. Let me try that in the tmt-web.

yep, tmt-web issue, sorry for the noise.


process-compose: 1.34.0 -> 1.40.1

I don't know it is breaking release or not and actually I don't have a time to look changelog.
I'll target staging branch when someone says It's breaking release.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

https://github.com/F1bonacc1/process-compose/releases/tag/v1.40.0

Looks like there's no breaking change.


Specify how to pick the number of training splits

Make sure that the number of training splits >= number of DP workers and that the number of sequences in each dataset is greater than the number of workers

Also lets make the default datasets have the proper number of training, we can increase the example datasets number of lines

Completed in PR https://github.com/sambanova/generative_data_prep/pull/95


selecting a second level join-field gives a 502 error

Describe the bug
During view configuration I can selected a nested join-fiels for display. But when I run the view it gives me a 502 bad gateway error.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
Correctly display the value of the joined field
Screenshots

Additional context
Add any other context about the problem here.

Hi @HFolkertH I can't replicate this error. Do you have any more information or an app with a url where this is happening?

problem is solved. Thanx.


bigger loads

yeah just more payloads

the tool is for timebased sqli auth bypass not worked in this we will add this feature in future.


fix: remove duplicate field check from filter

Codecov Report

Merging #483 (4568ecd) into main (6449fa7) will decrease coverage by 0.03%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #483      +/-   ##
==========================================
- Coverage   30.36%   30.33%   -0.04%
==========================================
  Files          79       79
  Lines        9381     9380       -1
==========================================
- Hits         2849     2845       -4
- Misses       6275     6276       +1
- Partials      257      259       +2

Impacted Files
Coverage Δ

query/filter/filter.go
53.89% <ø> (-3.34%)
:arrow_down:

query/search/search.go
45.78% <0.00%> (-2.32%)
:arrow_down:

query/filter/comparison.go
33.76% <0.00%> (+5.19%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Cannot use weekday numeric function Argument 1must be of the type array, string given

I configured weekday as described in the docs:
doctrine:
    orm:
        dql:
            numeric_functions:
                weekday:      Oro\ORM\Query\AST\Functions\SimpleFunction

Excerpt from my DQL:
	    $qb = $this->_em->createQueryBuilder();
	    $qb->select(array(
	    		'WEEKDAY(tke.date) AS weekDay'
	    	));

The error I get:
Catchable Fatal Error: Argument 1 passed to Oro\ORM\Query\AST\Platform\Functions\PlatformFunctionNode::__construct() must be of the type array, string given, called in /.../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php on line 3389

There is a ready script featured by @ionafan2 here:
https://github.com/beberlei/DoctrineExtensions/pull/110/files
Maybe you are interested.

Another example implemented here by @kassner:

https://github.com/epsi-rns/AlumniBook-SF2/blob/master/src/Citra/CommonBundle/Extension/Doctrine/Mysql/Weekday.php

@webdevilopers two functions with same purpose but different return values will confuse developers. For DAYOFWEEK index values correspond to the ODBC standard and results are same for all supported platforms.

I get your point, @x86demon . And ODBC standard is the way to go of course.
Actually I don't know why MySQL went for these two functions.
I prefer WEEKDAY starting with index 0 for mondayin my use case.


Methods setMod, delMod does not propogate on input & menu

Close #32

@narqo

Thank you @gela-d. In addition to this changes could you add beforeSetMod → opened handler, as suggest shouldn't be able to open if it is disabled.


ir-test: Improve console args handling

The console arg parsing functionality is pulled through a dedicated class. The license is MIT which seems compatible with the IR license.
The ir-test program code is moved under misc-utils subdirectory, where the arg parsing library is added as well. The current options have been migrated to the new class, some more options have been added for a better flexibility.
Especially there are two new options to pass BUILD_DIR and SRC_DIR, that would override the corresponding environment variables if supplied. Otherwise, the env variables will be used, thus maintaining the backward compatible behavior.
The help output is automatically generated by the arg parsing library:
$ ./ir-test --help
Usage: ir-test [options]

Execute IR tests

  --show-diff                Print failed test diff to stdout
  --no-color                 Disable output colorization
  --build-dir arg (=.)       Bulid dir path. When passed, overrides the BUILD_DIR environment variable
  --src-dir arg (=.)         Source dir path. When passed, overrides the SRC_DIR environment variable
  --test-dir arg (=./tests)  Test dir path.
  --ir-exe arg               Path to the `ir` test app.
  -h, --help                 Display help text and exit

Unknown options would make the program bail out:
 $ ./ir-test --no-such-opt
ERROR: unknown option '--no-such-opt'
Try 'ir-test --help' for more information.

While on this change, several exception handling arguments have been constified to comply better with the other parts of the code.
Fixes: #10

I'm not sure if this simplifies anything.
We add a dependency on 1000+ lines library and then code of ir-test.cxx becomes even longer.
It looks like adding few more strcmp (to support new options) is much easier.
In general, we don't need --src-dir and --build-dir options (as well as corresponding environment variables).
--ir-exe completely substitutes  --build-dir, --test-dir makes the same for --src-dir.
It's better to pass a list of test directories without --test-dir, just all trailing arguments without - prefix. It's great to support not only directories but also a regular files and wildcards.
e.g. ir-test --ir-exe=build_x86/ir tests/x86/add*.irt tests/debug*
I would also think about this tester program independently from IR project, especially if we move it to separate folder. Name it tester  (or some better name) instead of ir-test, use --exe (or some better name) instead of --ir-exe. Later you may identify all other specific to IR things and make them configurable through command options and/or resource file (default command args [--save], test extension [irt], target [???]).

Thanks for checking this. I guess the difference is on the views with regard to the intention. As per the title here and in the linked issue, it meant improve and not simplify :) So my view was to improve the handling on the tool side -  default options, error handling and so on. And on the code side, to have a simple way adding new options similarly to getopt. Walknig through argv is of course the doable way, just that it's perhaps too sparse.
New options can come, like those you mention. Some options would be most likely a secondary consequence when adding more features. Say others like  diff or parallelization can be controlled from the cmdline interface. Now with what you've suggested to support glob syntax is a very nice, but we'd have to add some implementation for that as well. Or if we'll come to the conclusion we want to introduce more sections in test files or have some specific evaluation of the section contents .There can be other ideas, but in general that would mean adding more and more code.
Of course, taking improve as in terms of simplify, the handling would be quite different. If we go this direction and we don't have to keep the env vars, can remove some code indeed. It would be probably also not needed to move the source file anywhere, too. If i read correctly, on the simplification direction it might be a list like this:

Options to be kept - --no-color, --show-diff
New option --exe to pass the test executable
Input path(s) is given as a trailing positional argument
Check for supporting glob. Some simple incomplete implementation might be possible, but a more extended one would need either glibc or some additional code, i guess

If renaming, maybe test-runner, or run-tests as per the analogy to the original tool?
Perhaps adding more code and depending on more code is not that bad. It's just the price for a better featured tool. Reusing such external classes as a drop-in functionality is very easy and efficient. I see your point however, that this kind of code and extensive tooling possibly doesn't belong into this repo.
Thanks

Abandoning this one for now. The change is too extensive and leads the focus away from the main dev subject. The present functionality is good enough to serve the project. Any further functionality is to be supplied in a minimalistic manner, as the need arises.
Thanks


Texture cache, new tmod implementation

Just here copying things there were said. Improve later...
@Chicken Bones hey
does your texture loading system load all textures in at the same time?
i SUDDENLY noticed that 400mb of memory that overhaul uses is just textures
99% of them aren't items and aren't needed immediately
if it's 400mb with overhaul, wouldn't it be like 1gb with content mods?
:GWfroggyMonkaThink:
[13:28][hamstar]
.tmod files would need to turn into installers of sorts(edited)
arent they compressed?
reading from disk from a compressed folder would be slow i'd imagine
[13:33][Chicken Bones]
@A Wild Mirsario™ ours does, and afaik Terraria does the same, we should be deallocating the local copies though, it should all be uploaded to gpu
[13:33][A Wild Mirsario™]
terraria only instantly loads item textures iirc(edited)
npcs for example are loaded on need
[13:33][Chicken Bones]
ooh, do some digging for us or ask jopo
[13:34][A Wild Mirsario™]
what digging is there to do?

all of this is booleans for whether or not textures of entities were loaded
tiles, gore, npcs, projectiles
basically everything big but items
ewredcodebtw
[13:35][Chicken Bones]
I see
[13:36][A Wild Mirsario™]
so i have 9 megabytes of textures

[13:36][Chicken Bones]
well I imagine that's quite a reasonable idea
[13:36][A Wild Mirsario™]
and only 40kb are items which need to be loaded on runtime

[13:36][Chicken Bones]
unfortunately zip files aren't random access files
so a solution is difficult to implement without some sort of cache similar to how music is handled
[13:37][A Wild Mirsario™]
cache should be fine tbh with how small textures are usually
especially when there's no texture unloading during gameplay
:thinkingwithblobs:
[13:38][Chicken Bones]
yeah, but updating and maintaining it is a pain
even so, you have 9MB not 400
[13:38][Shockah]
uhhh pretty sure ZIPs are fine with random access
7zs aren't
[13:38][A Wild Mirsario™]
they're 400MB in memory
that's all .png files
not raw bitmaps
[13:39][Chicken Bones]
why are we storing RAW bitmaps anywhere but gpu memory?
thoguh still, that's a regrettable amount of texture memory to consume
[13:39][A Wild Mirsario™]
i'm assuming that you'll need cache for when textures are only stored in gpu
[13:39][Chicken Bones]
@Shockah actually, you're correct
unfortuantely we don't use zip files directly
because I didn't look into integrity validation
the entire content payload is currently a gzipstream
[13:40][hamstar]
cache, installer, same difference?
[13:41][Chicken Bones]
we should be able to store them in compressed form in RAM
(png)
as a suitable compromise
[13:42][A Wild Mirsario™]
what's faster, uncompressing png and parsing it, or loading .rawimg from disk?
:GWseremePeepoThink:
[13:43][hamstar]
depends on how often the mods are loaded?
hmm, no maybe not
[13:47][Chicken Bones]
oh, I remember, exactly why I made them rawimg in the first place
because it was so slow to load png
I don't really want to abuse user's disk space with rawimg
we could recompress them individually (like xnb files)
but still, yuck
[13:48][A Wild Mirsario™]
maybe if the cache was a .zip file it'd still be faster?
idk if .zip reading speed is dependent on the amount of files in it(edited)
[13:49][Chicken Bones]
if tmod files were zip files it'd be better
but I didn't think that far ahead
[13:50][Shockah]
time for a new format version
[13:50][A Wild Mirsario™]
they can be made that
[13:50][Chicken Bones]
unfortunately no archive format has support for built in signing
[13:50][A Wild Mirsario™]
just leave some legacy loading code in
[13:51][Chicken Bones]
well a key feature of tml mod format is signing to prevent accidental or intentional tampering or masquerading as a different author (or from the Mod Browser)
zip files wouldn't support that
because there's no way to distribute the signature in the file
currently, all mod files are stored in a compressed stream which is read once on mod load
rawimg files are directly compressed within this stream (allowing their compression to take advantage of similarities to other image files as well)
the problem is that loading all textures into gpu is too memory hungry
which means we need to store them somewhere, compressed
the reasonable solution is to compress them either into a dictionary in RAM, or onto disk
[13:54][Shockah]
ZIP files have a Comment field, don't they?
yeah they do
i mean, ZIP entries
[13:55][Chicken Bones]
oh, no you need to sign the whole zip
not just each file within
[13:55][hamstar]
can't just use a CRC check?
[13:55][Chicken Bones]
CRC is not secure
[13:56][hamstar]
my impression was it's not easy to exploit
but i'm not an expert
[13:56][Chicken Bones]
sorry hamstar
storing in RAM is fairly reasonable, especially if say, Calamity, only had < 50MB of compressed textures
[13:57][A Wild Mirsario™]
can't you just insert binary data before zip's data begins?
:rolling_eyes:
[13:57][Chicken Bones]
you'd need to somehow remove that data before you used any zip parsing library
[13:58][A Wild Mirsario™]
isn't that done by just giving the lib a stream with an offset?
[13:58][Shockah]
^
[14:00][Chicken Bones]
I'm not aware you can feed streams and offsets, though you could possible make a wrapper stream that incorporates the offset, and is seekable
[14:00][Shockah]
well that was the idea
[14:00][Chicken Bones]
in that case though, we don't even need to use zip, we could just make our own file table and compress them individually(edited)
[14:00][Shockah]
skip the signature in the beginning of the file
and then feed the rest to the parser
[14:01][Chicken Bones]
our current format just compresses the entire data blob
which has slight advantages
really, the best option is to stop doing that
move all our file headers to a table with offsets
rather than being interspersed
I don't think the compression ratio will suffer significantly```

I'll probably target this for 1.3.6 as I believe there's improvements to the content loading system

Care to elaborate on how this format will work?  I finally found the time to work on my mod manager so I'll be wanting to support this newer format as well as the old one.  Some specifications on the actual format would do just fine if you find the time (assuming it's already been drafted up).  :)

Well, you'll be able to know once it's actually been made. Targeted for 1.3.6 means it'll take half a year or more still, that version is definitely not releasing anytime soon.

Hmm, looking at this I want to rework all content loading alongside the mod file to be more efficient. The plan would be to have each file in the mod individually compressed and randomly accessible. There'll be a sequential read load phase during load time, for maximum performance reading and pre-loading as much content as possible, but then the rest can be read from the file as needed.
Things like sounds can be stored similar to how we now store rawimg (pseudo-xnb) and just read from the mod file directly as need (similar to the Content) folder. It may be desirable to store some assets in cached compressed/uncompressed form as well, but the current TModFile string->byte[] dictionary will probably go
I'm calling experienced devs of large content mods to help me understand their usage requirements.

What I basically did while experimenting with the format was decompressed the stored archive and stored the uncompressed raw data chunk in a cache along with a file which kept a dictionary of all the file offsets in the data blob.
This allowed me to do much faster sequential startups and made random access for the individual files a breeze.  The only time the file cache would need to update is when the mod was updated or a cache file was missing for some reason or another.
I'm not really sure how well this translates over to real-time access when used in a game-style setting (I don't do that type of programming anymore), but I assume using something similar in this particular scenario might yield some decent results.

New mod file format 48dd1693e86f93c1c2dd83483b4bece75b69ab99
On-demand texture loading to come.

Your inferences would be correct. I refer you to either the Save or Load methods of https://github.com/blushiemagic/tModLoader/blob/master/patches/tModLoader/Terraria.ModLoader.IO/TmodFile.cs#L168
You'll note we don't actually save offsets, only the size of each file, compressed and uncompressed in a table. Offsets are computed as the position to seek to from the beginning of the file and are only used at runtime. They're calculated using the start offset (end of the file table and start of first file) and then just adding the compressed size of each file to get the next offset.
if you have a windows machine you can setup there, otherwise you can ask one of the devs to build you a linux release on discord.

Follow https://github.com/blushiemagic/tModLoader/issues/486 for updates


Support call errors aggregation in blocks [ECR-4014]

Overview
Add Blockchain#getCallErrors and update getTxResult to work with the new blockchain schema in the core. The core now aggregates the call errors by blocks.

⚠ Questions:

Shall we add static factory methods for CallInBlock (highly unclear API): https://jira.bf.local/browse/ECR-4070?
Shall we add extra overloads for getTxResult (eg. by location): https://jira.bf.local/browse/ECR-4014?focusedCommentId=71301&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-71301
Matchers for errors: https://jira.bf.local/browse/ECR-4067

See: https://jira.bf.local/browse/ECR-4014
Definition of Done

[x] There are no TODOs left in the code
[x] Change is covered by automated tests
[x] The coding guidelines are followed
[x] Public API has Javadoc
[x] Method preconditions are checked and documented in the Javadoc of the method
[x] Changelog is updated if needed (in case of notable or breaking changes)
[x] The continuous integration build passes

Coverage decreased (-0.2%) to 86.149% when pulling 1162ed64d8e12a92174849a5860a7cf880efd3b2 on dmitry-timofeev:support-call-aggregation-ECR-4014 into 56f0fce54b99f994b90aeeef93e20a4a658fad92 on exonum:master.

Shall we add static factory methods for CallInBlock (highly unclear API): https://jira.bf.local/browse/ECR-4070?

Yes: #1333

Shall we add extra overloads for getTxResult (eg. by location): https://jira.bf.local/browse/ECR-4014?focusedCommentId=71301&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-71301

No, resolved in Jira.


Bens

eventname
Bens Event
date
2022-06-30 08:00:00 -00:00
description
This is for testing the Action fires for this
registrationurl
No response
rooms
roomname1;roomurl1,roomname2;roomurl2,roomname3;roomurl3
scheduleurl
No response
sponsors
sponsor1link;sponsor1image;sponsor1height,sponsor2link;sponsor2image;sponsor2height,sponsor3link;sponsor3image;sponsor3height
speakerlisturl
https://sessionize.com/data-saturday-parma-2022/
volunteerrequesturl
No response
organizers
organizer1name;organizer1twitter;organizer1email,organizer2name;organizer2twitter;organizer2email,organizer3name;organizer3twitter;organizer3email

This is for testing the Action fires for this

sigh


Allow user to associate an orbitdb address to their DID

@oed also js code reformatted from prettier to standard, but that's my editor credit

@oed @ajunge It also points to a new database, so it can be tested right away after merging to develop

Is the path <server>/rootStoreAddress/<id> case sensitive? does it make more sense to use something like root-store-address instead?


fix string array usage wrong example

Thank you for pointing it out! We fixed it somewhere else, I think, before I got to the PR.


Make impossible to disable password lock without entering password

Is your feature request related to a problem? Please describe.
I installed Ferdi at work, to have quick access to my personal communication channels if necessary. I set up a password protection, with the intention to prevent colleagues including sysadmins to get access to my personal channels. With #694 colleagues can't see anymore the password I entered, but they could still access my personal accounts by disabling the password lock in the settings file. De facto, password lock provides false security.
Describe the solution you'd like
Somehow, without being able to say how to technically, prevent disabling password lock without having to provide that same password.
Additional context
This security gap came in handy for #543, but is actually rather dangerous (as the possibility that others can easily access one's accounts still is not advertised in the settings). Until this is fixed, in the settings a warning should be added "This is not a security feature" (as is done by Microsoft for its Office tracked changes lock), or something more explicit.

Thanks for reporting this. We will take a look and update

We'll have to see as I don't really know how we could secure this. We'd have to somehow store it in a place that users can't edit (the server? But if you use Ferdi without an Account you can still edit the database locally and the server owner could theoretically also disable it) or we'll have to add some kind of "integrity check" that allows you to make sure the settings haven't been tampered with.

I am curious what is the threat model here. If someone has access to the settings file, wouldn't they also have access to (say) ~/.config/Ferdi/Partitions/*/Cookies from where sessions cookies can be easily extracted? Or are those actually encrypted (possibly by the locking password)?

Yes, someone can also directly access your sessions - those are not encrypted - but using those will be more complicated. We'll probably not be able to make the Lock fully secure but we can try to make it as complicated as possible to bypass (e.g. simply opening and changing a text file is just very easy and fast to do).

@vantezzen @kytwb  How about encrypting the settings file with a key and store the key inside a native module? That way one cannot fetch the key, unless they try really hard -

Encryption of settings file could be done using CryptoJS I believe
Create a simple C++ native module and store the encryption key in there - https://www.electronjs.org/docs/tutorial/using-native-node-modules

What do you think?

I don't know about encrypting the whole settings file as there are cases where you might need to edit that (e.g. because a setting causes Ferdi to crash), but encrypting the setting to enable locking and auto-locking when the value is invalid sounds like a good idea.


Refactor Function names to snake case

Context
Since the function names are all over the place, from now on, only snake_case will be supported.
Refactoring the helper_functions and helper install to only include snake_case functions
Choices
https://google.github.io/styleguide/shellguide.html#s7.1-function-names
Test instructions

Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] I've added documentation about this change to the README.
[ ] I've not introduced breaking changes.

Decided to do this in steps, not all at once


[New Feature]: Introduce an API to load a project into the workspace manager using a file path

Description
As of now, if a user wants to open a project in the Ballerina workspace manager, he/she has to open it up using a didOpen() event. But the didOpen() event suggests that a file in that project was opened in the editor. If there's a requirement to open up a project programatically (for example to support workspaces), using the didOpen() event will break the LSP protocol.
As a proper solution, a new method should be added to the WorkspaceManager as follows.
public Project loadProject(Path filePath) throws ProjectNotFoundException;

It will take a file path as argument and return the associated project. If the corresponding project is not loaded, it will be loaded. If the path is invalid, an exception will be thrown.
Describe your problem(s)
See description
Describe your solution(s)
Add a new method to WorkspaceManager with the following signature.
public Project loadProject(Path filePath) throws ProjectNotFoundException;

Related area
-> Editor
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

@IMS94 How are we going to evaluate whether the filePath is invalid? (By evaluating the presence of Optional<Project> project = project(filePath);?)

@gayalkuruppu We can use the ProjectPaths.packageRoot() method to determine the project root. If that method throws an exception, then it's invalid. We can make the new method throw a ProjectException as well

Reopened until PR to 2201.3.0-stage is merged


Firmware storage

Contribution description
In this PR, an implementation was created to save in the flash memory of the boards at a higher level, strings no larger than 64 bytes can be saved, as well as u8 numbers, and delete at will.

Testing procedure
A way to test from riot has not been implemented yet but you cant test this module like so:

execute m4a_mtd_init
to write execute  mtd_write_string or mtd_write_u8
to write execute  mtd_read_string or mtd_read_u8
to delete use m4a_mtd_erase

Issues/PRs references
this PR fixes #170

Resolve static test and build issues before request for review


Web dashboard initial version

The task is to create a page that allows browsing through teams and solo participants by skills. The API endpoint that fetches data is ready.

Click to see basic mockup

The implementation:

We agreed to have it in React.js.
It would be cool to have state preserved in URL. This way we can have pages like /teams and /solo-participants. This way such deep links can be added to bot messages.

The API endpoint that fetches data is ready. If you don't have it feel free to contact me

Hey @thePlebDev - if you want we can discuss web dashboard implementation via Github issues. Once we agree on the design someone can jump into the implementation and create a PR closing this issue.
If you have other suggestions on how we can communicate please let me now

ok, sounds good. What if we use antd for the layout design

checkout antd and check if there is any designs you like.  ant design

@preshetin I think this project is beyond my skills. I am going to resign from the hackathon. Thank you.

No worries @thePlebDev - thanks for letting me know


Add support for Robolectric Unit tests in the RustLayout feature

This will involve determining how to get semantic modifiers working on RustLayout.

Done


Debug flaky test failures with "mentions" data in unread_msgs data structure

See https://travis-ci.org/zulip/zulip/jobs/268203335 for an example.
@showell is probably best positioned to debug this.

This should be fixed by the parts of #6963 that we've merged.  We can reopen if we see them again.


Datasets are empty in SQL Lab

In the SQL Lab, there is no way to inject filters unless the use of raw SQL, and filter values are checked to be defined in many datasets so that the instructor dashboard makes sense.
This causes the SQL Lab and the create chart view obsolete as we can't previsualize, nor query the database there.
The solution would be to verify the current context (dashboard, chart, or sqllab) and provide a corresponding default values for the where clauses

Can you give a specific example of how to trigger this and what you see? There are some privacy and security considerations for granting access to data that we may have to think through or document more explicitly if non-superusers are working in SQL Lab.

Create a chart for a dataset that requires filter values:

Check that the visualization shows no data even if it's there

Right, I think those are explicitly set to not load the entire dataset if no filter is selected, otherwise the query will just time out anyway on a large dataset:
{% if filter_values('video_name_with_location') != [] %} video_name_with_location in {{ filter_values('video_name_with_location') | where_in }} {% else %} 1=0 {% endif %}
They could just temporarily change that to 1=1 on whatever virtual dataset they're working on locally to get all results for testing. Running this with 1=1 on a production environment can run the server out of memory and cause performance issues, so I'd like to avoid doing that by default. Plus it has some potential security / privacy issues we'd have to work through from a product perspective about how we want to support those features for non-superusers.
I don't know of a way to use the virtual datasets in SQL Lab, but I know there's a way to pass a filter value in the "..." menu -> Parameters and _filters that should help get past some of this: https://superset.apache.org/docs/installation/sql-templating/

@Ian2012 is this still an issue we need to work more on, or were the suggestions sufficient?

@bmtcril Yes, I can confirm we can close it now


Fix issue #1 -- multi-line comments

I've tested this, so hopefully it does correctly parse multi-line comments and fixes Jean-Damien 's issue

I screwed up in the name of this commit -- it fixes issue #4, not issue number one.


[Issue 2615] Add option to skip block processing at startup

PR Description
Add a hidden CLI option that allows us to skip block processing at startup.
Builds on #2611
Fixed Issue(s)
#2615
Documentation

[x] I thought about documentation and added the documentation label to this PR if updates are required.

Tried this out after a fresh sync storing states and it was back in sync in 2 minutes.  Wouldn't have had many forks to explore because had only just done the sync but still a massive improvement.  Database size is 11gb (vs 4gb for our other nodes).
{"timestamp":"2020-08-19T03:21:16,059","level":"INFO","thread":"main","class":"VersionedDatabaseFactory","message":"Data directory set to: /data","throwable":""}
{"timestamp":"2020-08-19T03:21:40,061","level":"INFO","thread":"main","class":"teku-status-log","message":"Initializing storage","throwable":""}
{"timestamp":"2020-08-19T03:22:26,596","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Regenerate state for block 0x91cb4bb9d8979aeedd6ece16f3b17189f9e00d9adca54ee977cabe9d41dba501 by replaying 1 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:26,612","level":"INFO","thread":"beaconchain-async-3","class":"StateGenerator","message":"Completed regeneration of block 0x91cb4bb9d8979aeedd6ece16f3b17189f9e00d9adca54ee977cabe9d41dba501 at slot 105090 by replaying 1 blocks. Took 15ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,195","level":"INFO","thread":"beaconchain-async-4","class":"StateGenerator","message":"Regenerate state for block 0x8a0876e7922b199b666d67575ffcf292d7464bf1a96854ded90dd5e17572af90 by replaying 1 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,202","level":"INFO","thread":"beaconchain-async-0","class":"StateGenerator","message":"Completed regeneration of block 0x8a0876e7922b199b666d67575ffcf292d7464bf1a96854ded90dd5e17572af90 at slot 105089 by replaying 1 blocks. Took 7ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,212","level":"INFO","thread":"beaconchain-async-0","class":"StateGenerator","message":"Regenerate state for block 0x89b333f61be3a4282e0f5783bf73e1a579f03f71e81b81c6a4111aa3dfd02b97 by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,469","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Completed regeneration of block 0x89b333f61be3a4282e0f5783bf73e1a579f03f71e81b81c6a4111aa3dfd02b97 at slot 105092 by replaying 2 blocks. Took 257ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,483","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Regenerate state for block 0x9c01b69c9f26c897c5165b652bb79078bb73ec3994e2f9fc831b6b2ff66d3b94 by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,512","level":"INFO","thread":"beaconchain-async-3","class":"BlstBLS12381","message":"Successfully loaded native BLS library","throwable":""}
{"timestamp":"2020-08-19T03:22:28,574","level":"INFO","thread":"beaconchain-async-3","class":"StateGenerator","message":"Completed regeneration of block 0x9c01b69c9f26c897c5165b652bb79078bb73ec3994e2f9fc831b6b2ff66d3b94 at slot 105093 by replaying 2 blocks. Took 91ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,582","level":"INFO","thread":"beaconchain-async-3","class":"StateGenerator","message":"Regenerate state for block 0x17fc9f0a3537e88c96f7b07132ba0c7c59140a3de2155e8cbc363da35ddf2e01 by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,635","level":"INFO","thread":"beaconchain-async-4","class":"StateGenerator","message":"Completed regeneration of block 0x17fc9f0a3537e88c96f7b07132ba0c7c59140a3de2155e8cbc363da35ddf2e01 at slot 105095 by replaying 2 blocks. Took 53ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,646","level":"INFO","thread":"beaconchain-async-4","class":"StateGenerator","message":"Regenerate state for block 0xb3537877ce06a13eda13d96f9beb6797050c251adbd0d2d0efc94fd826d0f05f by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,695","level":"INFO","thread":"beaconchain-async-0","class":"StateGenerator","message":"Completed regeneration of block 0xb3537877ce06a13eda13d96f9beb6797050c251adbd0d2d0efc94fd826d0f05f at slot 105096 by replaying 2 blocks. Took 48ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,704","level":"INFO","thread":"beaconchain-async-0","class":"StateGenerator","message":"Regenerate state for block 0xee610e1d08cef657f40a014a53510f8c61965ce73a11e7b5daab5c3751fa7811 by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,752","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Completed regeneration of block 0xee610e1d08cef657f40a014a53510f8c61965ce73a11e7b5daab5c3751fa7811 at slot 105097 by replaying 2 blocks. Took 47ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,763","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Regenerate state for block 0xc1d2528310a669fee286771c7d3561fe3a8d3cba99d964888106cf4c7970f80d by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,813","level":"INFO","thread":"beaconchain-async-3","class":"StateGenerator","message":"Completed regeneration of block 0xc1d2528310a669fee286771c7d3561fe3a8d3cba99d964888106cf4c7970f80d at slot 105099 by replaying 2 blocks. Took 50ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,822","level":"INFO","thread":"beaconchain-async-3","class":"StateGenerator","message":"Regenerate state for block 0xf99bc45b0736919e9d65afc57239ed0aff18fd4e6f692ed755a2b3e19485fbc8 by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,871","level":"INFO","thread":"beaconchain-async-4","class":"StateGenerator","message":"Completed regeneration of block 0xf99bc45b0736919e9d65afc57239ed0aff18fd4e6f692ed755a2b3e19485fbc8 at slot 105102 by replaying 2 blocks. Took 49ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,879","level":"INFO","thread":"beaconchain-async-4","class":"StateGenerator","message":"Regenerate state for block 0xde98f8d7aa3f1e2cc94eac584f514a9f813868376cbadb396433460c758e3464 by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,933","level":"INFO","thread":"beaconchain-async-0","class":"StateGenerator","message":"Completed regeneration of block 0xde98f8d7aa3f1e2cc94eac584f514a9f813868376cbadb396433460c758e3464 at slot 105103 by replaying 2 blocks. Took 54ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,941","level":"INFO","thread":"beaconchain-async-0","class":"StateGenerator","message":"Regenerate state for block 0xdd6c80f22746f5e10b97e7c75c7edca9bad4d778ff59bb07968f38a27ff6813f by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:28,976","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Completed regeneration of block 0xdd6c80f22746f5e10b97e7c75c7edca9bad4d778ff59bb07968f38a27ff6813f at slot 105104 by replaying 2 blocks. Took 35ms","throwable":""}
{"timestamp":"2020-08-19T03:22:28,979","level":"INFO","thread":"beaconchain-async-2","class":"teku-status-log","message":"Storage initialization complete","throwable":""}
{"timestamp":"2020-08-19T03:22:28,987","level":"INFO","thread":"beaconchain-async-2","class":"StateGenerator","message":"Regenerate state for block 0xf4c1d9c4c70246682683c381d7c36608c3d78c6d36818f0b7d69aef31cd9cabd by replaying 22 blocks","throwable":""}
{"timestamp":"2020-08-19T03:22:29,553","level":"INFO","thread":"beaconchain-async-3","class":"StateGenerator","message":"Completed regeneration of block 0xf4c1d9c4c70246682683c381d7c36608c3d78c6d36818f0b7d69aef31cd9cabd at slot 73279 by replaying 22 blocks. Took 566ms","throwable":""}
{"timestamp":"2020-08-19T03:22:30,397","level":"INFO","thread":"beaconchain-async-2","class":"BeaconChainController","message":"ENR key file not found.  Took 821ms","throwable":""}
{"timestamp":"2020-08-19T03:23:09,461","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Regenerate state for block 0x0944564d7840876f3221e7659fd55913f12e712bd52fc39f95acf3d98939b50f by replaying 17 blocks","throwable":""}
{"timestamp":"2020-08-19T03:23:10,482","level":"INFO","thread":"beaconchain-async-4","class":"StateGenerator","message":"Completed regeneration of block 0x0944564d7840876f3221e7659fd55913f12e712bd52fc39f95acf3d98939b50f at slot 105087 by replaying 17 blocks. Took 1021ms","throwable":""}
{"timestamp":"2020-08-19T03:23:10,703","level":"INFO","thread":"beaconchain-async-2","class":"StateGenerator","message":"Regenerate state for block 0xd8bf35d0884b70f4dbb41d8a0e1c44ed0f1b5e10f6c1bbbd5f16078eddbb6577 by replaying 2 blocks","throwable":""}
{"timestamp":"2020-08-19T03:23:10,783","level":"INFO","thread":"beaconchain-async-0","class":"StateGenerator","message":"Completed regeneration of block 0xd8bf35d0884b70f4dbb41d8a0e1c44ed0f1b5e10f6c1bbbd5f16078eddbb6577 at slot 105059 by replaying 2 blocks. Took 80ms","throwable":""}
{"timestamp":"2020-08-19T03:23:12,401","level":"INFO","thread":"TimeTickChannel-0","class":"teku-event-log","message":"Slot Event  *** Slot: 105115, Block:    ... empty, Epoch: 3284, Finalized checkpoint: 2289, Finalized root: d0ea42..255b, Peers: 14","throwable":""}
{"timestamp":"2020-08-19T03:23:13,179","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Regenerate state for block 0x4ee68b6e0ca22a2d728db813b21d7db0b8eeced00649375a5cf19ae779f81885 by replaying 13 blocks","throwable":""}
{"timestamp":"2020-08-19T03:23:14,032","level":"INFO","thread":"beaconchain-async-0","class":"StateGenerator","message":"Completed regeneration of block 0x4ee68b6e0ca22a2d728db813b21d7db0b8eeced00649375a5cf19ae779f81885 at slot 105080 by replaying 13 blocks. Took 853ms","throwable":""}
{"timestamp":"2020-08-19T03:23:16,838","level":"INFO","thread":"beaconchain-async-2","class":"StateGenerator","message":"Regenerate state for block 0x29bbdff9b4f1bfb7771b969dea3bd07e74070f6b0f0d52fa59987d946286e46b by replaying 19 blocks","throwable":""}
{"timestamp":"2020-08-19T03:23:17,378","level":"INFO","thread":"beaconchain-async-1","class":"StateGenerator","message":"Completed regeneration of block 0x29bbdff9b4f1bfb7771b969dea3bd07e74070f6b0f0d52fa59987d946286e46b at slot 105055 by replaying 19 blocks. Took 540ms","throwable":""}
{"timestamp":"2020-08-19T03:23:24,674","level":"INFO","thread":"TimeTickChannel-0","class":"teku-event-log","message":"Slot Event  *** Slot: 105116, Block:    ... empty, Epoch: 3284, Finalized checkpoint: 2289, Finalized root: d0ea42..255b, Peers: 17","throwable":""}


project folders with a space in the name cause "project.url" reference errors

i.e. "mutant toys" and "Robot Training"
"Photo-Booth" was not problemattic

Does this need to be fixed or can we add it to a contributing document?

I imagine a simple hook could pre-commit test this. Or gulp might be configured to handle it. When folders existed with a space, the _site/project folder contained two duplicates for the project. One with a space and one with %20
And yes, using a dash in the folder name can be stated in the template but best to mitigate the error perhaps?

I support this being addressed through review. no need for extensive automation.


Feature: Disable authentication for contributors

Overview

This PR disables the authentications for contributors to work in their local environment.
Changes

Disabled the "Sign-In" flow if working in the local environment and the environment variables for OAuth are not defined.
Disabled the JWT token if the API server that is configured in the .env.local is the mock API server.
Add postinstall script to automatically copy the .env.example to .env.local if not existing

Review points

Do they work as expected?
Is there any security vulnerability?

Screen Captures

Notes

The login page is still reachable by directly accessing /login even if the login flow is disabled.
"Sign-in" and "token check on API request" can be enabled/disabled individually.

Assignee Checklist:

[x] The naming convention of the PR title is correct (See the comment at the top of this template)
[x] The base branch is correct (See: Types of Branches)
[x] The branch name follows the Branch Naming Conventions
[x] The correct assignees and reviewers have been designated for this PR
[x] The coding style follows the Coding Style Guide
[x] All the related issues are associated with this PR
[x] All criteria in the associated issues are met (please tick the checkboxes)
[x] My changes do not generate new warnings or errors (especially in the console)

Reviewer Checklist:

[ ] Double-check the "Assignee Checklist"
[ ] The code follows the generic best practices and our Coding Style Guide
[ ] The code is well-commented and easy to understand
[ ] The UI changes accurately reflect the provided design

@kotaaaa
Thank you for your review and approval!
After our verbal discussion earlier, I decided to stick to this code:
https://github.com/nishiki-tech/nishiki-frontend/pull/290#discussion_r1508050855


Links open in the new tab

Open the vast majority of non-internal links in a new tab
add target = "_blank"
reference ：#6545

Thanks for this PR!
People have different opinions about when to open a new window, but this is indeed a useful feature in some situations. I think we can make it configurable.


release version 1.0.3

@rultor release, tag is 1.0.3

@rultor release, tag is 1.0.3

@tvd12 OK, I will release it now. Please check the progress here

@rultor release, tag is 1.0.3

@tvd12 Done! FYI, the full log is here (took me 4min)


Policy on API changes

How should we handle changes that could break an app that relies on an API being as it is?
I'm thinking with regards to possibly removing Vector.prototype.range and having it as the static method Vector.range.
Could it be worth deprecating Vector.prototype.range with the goal of eventually removing it?

And what about all the API changes recently introduced into master?

Let's deprecate it in 1.2.0 (I'm suggesting we change the version to 1.2.0 once we pull opt-js to master and issue warnings to users using previous versions, since there are quite a few bugs that can lead to unexpected results in the version currently uploaded to npm).
What do you think about that?

Though this project has not announced it's using 'semantic versioning', I think it would make sense to follow the rules of that put any changes that will break the API into version 2.0.0.
That would also help those who reference a dependency to the latest version of 1.x.x. It's possible to do that with package.json, and I think not having a breaking change in the 1.x.x branch makes the most sense.


Strip unwanted leaf features

The default feature set included in leaf contains a lot features, e.g. SSL, crypto, QUIC, Websocket, that have no use in this project. According to the config template, the minimal feature set could look like,
default = [
    "leaf/config-conf",
    "leaf/inbound-tun",
    "leaf/inbound-socks",
    "leaf/outbound-socks",
    "leaf/outbound-redirect",
    "leaf/outbound-direct",
    "leaf/outbound-drop"
]

This gives a much smaller binary.
It may need our own leaf-ffi-orbot library for doing so, just as how leaf-ffi does.

@eycorsican, thank you so much for your input!
@bitmold, have a look at my changes!
In a quick experiment, I could reduce libleaf.a for aarch64-apple-ios from 43.2 MB to 25.9 MB!


Error converting model to tflite

Hi @tulasiram58827
Thank you for your great work. When I run your colab notebook CRAFT_TFLITE.ipynb. I get the following error -
 ConverterError: /usr/local/lib/python3.6/dist-packages/tensorflow/python/saved_model/load.py:890:0: error: 'tf.MaxPool' op is neither a custom op nor a flex op
Do you know how to get around it ? Thanks

@raghavgurbaxani  You can try using tf-nightly it will be solved. I tried myself with tf-nightly it is working. Let me know still if you have any issue.

@raghavgurbaxani  You can try using tf-nightly it will be solved. I tried myself with tf-nightly it is working. Let me know still if you have any issue.

Hi @tulasiram58827
Thank you, I am trying to convert a tflite model using float 16 and 640x480 input, but I get the following error -
RuntimeError: tensorflow/lite/kernels/concatenation.cc:73 t->dims->data[d] != t0->dims->data[d] (30 != 28)Node number 167 (CONCATENATION) failed to prepare.

caused by y, feature = run_tflite_model(x)
any clue whats going wrong ?

Are you using tf-nightly?

Are you using tf-nightly?

@tulasiram58827 yeah I am , please find collab notebook here
Thanks again

@tulasiram58827 yeah I am , please find collab notebook here
Thanks again

Hey, @raghavgurbaxani I just found out that this is due to the TensorFlow version compatibility problem. Model conversion working with tensorflow==2.3.0 and tf-nightly. Model inference working with only tensorflow==2.3.0. As the default version of colab notebook is now tensorflow==2.4.1 so the inference is not working. I will report this to the TFLite team.
You need to install tensorflow==2.3.0 using this command at the start of this notebook pip install tensorflow==2.3.0 everything works as usual. I will be committing the fix soon.

Hey, @raghavgurbaxani I just found out that this is due to the TensorFlow version compatibility problem. Model conversion working with tensorflow==2.3.0 and tf-nightly. Model inference working with only tensorflow==2.3.0. As the default version of colab notebook is now tensorflow==2.4.1 so the inference is not working. I will report this to the TFLite team.
You need to install tensorflow==2.3.0 using this command at the start of this notebook pip install tensorflow==2.3.0 everything works as usual. I will be committing the fix soon.

From TFLite team

TFLite's MaxPool op kernel does not support all inputs like the model's inputs in the gist. However, the older versions converted them without checking its capability to TFLite MaxPool operator. That was wrong behavior. To reflect the capability of the TFLite MaxPool, the select TF option is needed since the TFLite MaxPool can not handle those inputs and it should select the fallback option via the select TF option.

I committed the fix you can use the new notebook committed.

From TFLite team

TFLite's MaxPool op kernel does not support all inputs like the model's inputs in the gist. However, the older versions converted them without checking its capability to TFLite MaxPool operator. That was wrong behavior. To reflect the capability of the TFLite MaxPool, the select TF option is needed since the TFLite MaxPool can not handle those inputs and it should select the fallback option via the select TF option.

I committed the fix you can use the new notebook committed.


Add Either support

This ensures users can abstract over two different types of
Generators, as long as their Output is the same.
This mirrors itertools::Either which re-exports either::Either.  In
our case, we also have to add impl Generator.

Looks good! Thank you!


Create a node with an attribute value as List

I have certain attributes in my dictionary whose value a list of string values, but I am unable to add those as an attribute in my graph.
a= {"name":"package.json", "label":"package", "used_in":["A","B","C"]}
>>> a
{'used_in': ['A', 'B', 'C'], 'name': 'package.json', 'label': 'package'}
>>> graph.create(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/gremlinrestclient/graph.py", line 182, in create
    return self._create(script, bindings)
  File "/usr/lib/python2.7/site-packages/gremlinrestclient/graph.py", line 185, in _create
    resp = self.execute(script, bindings=bindings)
  File "/usr/lib/python2.7/site-packages/gremlinrestclient/client.py", line 40, in execute
    resp = self._post(self._url, json.dumps(payload))
  File "/usr/lib/python2.7/site-packages/gremlinrestclient/client.py", line 59, in _post
    raise GremlinServerError(resp.status_code, msg)
gremlinrestclient.exceptions.GremlinServerError: Code [500]: SERVER_ERROR. A general server error occurred that prevented the request from being processed..

Error encountered evaluating script: v18 = graph.addVertex(label, p0, 'used_in', p1, 'name', p2, );[[v18], []];

Unfortunately that is a limitation of the Graph class implementation.
To remedy this, you have several options:

Submit a custom script using the GremlinRestClient class.

Submit a PR that really improves this library.

Use a different Python library, like Goblin, the official gremlin-python library available through Apache, or maybe gremlinclient.

Of these options, I would choose 3. gremlinrestclient is really just a demo library that I wrote to connect with the GremlinServer over HTTP. While GremlinServer provides the HTTP interface, it leans heavily towards WebSockets as a client/server transport. Because of this, gremlinrestclient isn't very heavily used or maintained. If you can use Python 3.5+, I would definitely recommend that you use Goblin, as it provides a lot more functionality (OGM, async gremlin-python GLV implementation, etc.). In the case that you are stuck with legacy Python, I would look into the official gremlin-python GLV provided by Apache. The included driver isn't very mature, but it is currently in the process of being refactored into a "real" implementation.
The first option is ok, but it isn't a very secure way to communicate with the server. I wouldn't want to use it extensively in production, especially if you are dealing with user input.
The second option is also ok, but, if you want to get involved with the Gremlin/Python development community, I think that there better ways to spend your time.
If you absolutely must use HTTP to send requests to the server, definitely ping me back and I will help you figure out the best way to move forward.

(y). Thanks


Fixes race condition during debugger launch

#83 Execution doesn't start on launch
#31 VS2015 F5 is inconsistent
closes #83, closes #31

Looks good to me

Can any of the other sends of Debugger Events cause a race condition, as they're not within a lock? With a very cursory inspection, I see what may be other potential race conditions, but it depends on what sends the triggering events.

Potentially. We've mainly been fixing issues as they are reported, and while the issues are not too frequent, it may be worth doing a full code review of the debugger at some point.


spring.io 404 Not Found: Requested route ('spring.io') does not exist.

Error:
404 Not Found: Requested route ('spring.io') does not exist.

In the same time, https://start.spring.io/ is normal.

Thank you for the report. We are aware of the issue, see https://status.spring.io.

This is fixed and stable now.
Thanks!


Hangs when returning from pano setup via IR remote.

Canceling pano setup via IR remote ("0" button) goes back all the way to main menu then hangs.
The battery is not displayed.
No controls are responding.
Reset via battery disconnect is the only recovery option.
This may not be related to the remote per se, since canceling is not available on joystick.

Verified not related to remote by making positionCamera() return false (joystick OK cancels and hangs)


Extending or Inherit schema

Is there a way? Ot will it be possible to merge rules or extend? Right now inheritance overwrite all rules.

I'll make sure it'll work in next version

In 0.7.0 the way you define schemas will change, it's no longer going to be a class definition, a custom API will be provided that will look more or less like that:

Hey, just out of curiosity, is there any solid reason to use this custom API? On the surface it looks like a quite arbitrary violation of the principle of least surprise. Thanks!

@waiting-for-dev yes there is, the builder methods allow you to define rules with 1-level of indentation less and can build a schema object for you, or generate a class with static configuration. Initially it was part of the Schema class but it added additional complexity that I didn't like to maintain. Inheritance here is a bit tricky, we store rules separately in configuration, you can inherit rules but it doesn't mean you want to inherit coercion logic too, so things must be kept separated and there needs to be a little bit of additional orchestration, hence we've got custom API for building schema objects. You can totally define a class too and we could easily expose a DSL for rules on the class level (like hanami-validations) but the downside is that people would have to remember that they want to memoize schema instances. Initially I was doing SomeSchema = Class.new(Schema) { .. }.new and that was just plain ugly, so I added these builder methods.

Thanks for the reply. Now it makes sense :)

Is there a way to extend several schemas? Like this:
Dry::Validation.Schema(OtherSchema1, OtherSchema2) do
  # your rules
end

?

Is there a way to do this with 1.0?

@alexandru-calinoiu wdym by this?


bug/FORMS-544-checkbox-answers

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Please also include any acceptance criteria if you have any.

update @hapi/yar
refactor Item out of summaryVM
refactor collatePages logic out of summaryVM also
remove server/src/lib/**
fix bug to do with checkbox answers on the summary page

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce
the testing if necessary.
Before PR's can be merged they will need to be tested by QA and approved where
applicable. To flag the change to QA assign @XGovFormBuilder/qa as one of the reviewers.

[ ] best QA there is

Checklist:

[x] My changes do not introduce any new linting errors
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ x I have made corresponding changes to the documentation and versioning
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have rebased onto master and there are no code conflicts
[x] I have checked deployments are working in all environments
[x] I have updated the architecture diagrams as per Contribute.md

Tested locally, issue is now resovled