Sync a given list of blobs.

A PR for discussion.
I've been using this locally to get round #61.
I list all blobs in source and destination, and then create a diff from them - before feeding that diff into rclone via --blob-list.
If you think this is reasonable, I'll clean up the commits.

Thanks for the pull request / discussion point!
If your sole aim is to fix #61 then implementing that would probably be much simpler.
The simplest possible thing would be to implement (from the rsync man page)
-c, --checksum              skip based on checksum, not mod-time & size

That should fix #61 - I'll write that in that ticket

I think you are aiming at this with your --bloblist flag?
--files-from=FILE       read list of source-file names from FILE

(I've been trying to keep the concepts and command line flags as similar to rsync as possible)
Though I'm not sure you'll need it after #61 is fixed?
That should be a separate PR fixing this ticket.

What do you think of the above?
Thanks for spending the time to make a pull request.
Nick

Ah yes --from-files is what I am looking to replace with this - but you are right - I'm doing this only to force a speedup that #61 would solve.
I'll see if I can make that change...


Fix: Empty transaction data on log in

Details

OpenApp API does not return transaction data thus on first load, transaction reports show 0.00 in title. This PR sets fallback title if transaction data has not been loaded yet.
Fixed Issues

$ https://github.com/Expensify/App/issues/30687
PROPOSAL: https://github.com/Expensify/App/issues/30687#issuecomment-1788997239
Tests

Send a money request in the workspace chat
Open transaction report
Send message to another chat and stay there
Log out
Log in
Verify that in LHN, the correct amount is shown in transaction report title

[x] Verify that no errors appear in the JS console

Offline tests

NA
QA Steps

Send a money request in the workspace chat
Open transaction report
Send message to another chat and stay there
Log out
Log in
Verify that in LHN, the correct amount is shown in transaction report title

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else

[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)

[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/113963320/02a53135-3334-47af-b98d-d6c1f6f57ece

Android: mWeb Chrome

https://github.com/Expensify/App/assets/113963320/98f755a2-97f1-4a8f-9181-c889269b1d93

iOS: Native

https://github.com/Expensify/App/assets/113963320/59dfd762-e95b-4501-9bef-cc6f1181ea4d

iOS: mWeb Safari

https://github.com/Expensify/App/assets/113963320/efbd45e3-3d8a-4e12-bbdf-9f962b807ca5

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/113963320/e6f0d66d-8b07-40cc-abc5-43fd89e050ff

MacOS: Desktop

https://github.com/Expensify/App/assets/113963320/340d5edc-3bfa-4714-b9f4-a696e13d48e8

I think I prefer 2. It will be more consistent.

🚀 Deployed to staging by https://github.com/puneetlath in version: 1.4.7-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.4.7-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


fromList doesn't guarantee a rectangular matrix

As-is, the fromList implementation does not check if the given list of lists is a rectangle; this can break lots of things.
Often, of course, you know for sure that the lists you're passing in are a rectangle, but there should probably be a warning about the fact that elm-matrix expects this in the docs.
Perhaps there should also be a List (List a) -> Matrix (Maybe a) function, that pads rows shorter than the longest one with Nothings.

I agree that this is bad, it's user's fault, if they create a Matrix manually by relying on implementation details, but the API should be safe, and fromList is part of API. fromList shouldn't ever return junk, whatever the data.
I think the best way is to throw away elements exceeding width of the matrix, where width is a length of the shortest sublist. Something like:
fromList : List (List a) -> Matrix a
fromList xs =
  let
    minWidth = List.minimum <| List.map List.length xs
  in
    Array.map (Array.fromList << List.take minWidth) <| Array.fromList xs

I also agree that function of type List (List a) -> Matrix (Maybe a) is a good idea. I want this library to be very inclusive.
Another idea I had is fromList of type List (List a) -> Maybe (Matrix a), which returns Nothing if gets non-rectangular list of lists. But I am against this idea for now, because from my experience with Elm so far Maybe is a pain. Yes, there is andThen and withDefault etc, but unless I can figure out how to use pervasive Maybe without constantly writing spaghetti case expressions, I don't want to rely on Maybe so much.
The biggest weakness of the library is that Matrix type is not opaque, it's just a type synonym. So anyone can create an erroneous array of arrays and pretend this is a Matrix. Implementation details should be hidden. Moreover, I find implementation of a Matrix using 1-dimensional array (with explicit tracking of width and height) more elegant and possibly more efficient. I want to defer reimplementation of Matrix until the library accumulates more functions and is more battle-tested.


Support for Version 14393.3384

Hello all I am in need of some help.
Version: 1607
Build: 4393.3384
I have tried using the config:
https://github.com/fre4kyC0de/rdpwrap/blob/master/10.0.14393.3383.txt
But it causes the RDP Service to crash.
Thanks!

I tried that file as well - and it didn't seem to work for me either.


Ensure synchronization when taking snapshots

Currently, it is possible that data is written to the Dynatrace Summary object during the creation of a snapshot. An example: the sum data is read (totalAmount is called), then a different thread adds an observation to the underlying summary, and only then count() is called to retrieve the number of elements. By setting the monitor on the DynatraceSummary object using the synchronized keyword, the creation of the Snapshot becomes an atomic operation. The write method locks the same object (https://github.com/dynatrace-oss-contrib/micrometer/blob/main/implementations/micrometer-registry-dynatrace/src/main/java/io/micrometer/dynatrace/types/DynatraceSummary.java#L43). So, while the snapshot is created and all the reads are processed, no new data can be added. Similarly, while data is added, no snapshot can be taken.

Needs some more work, will reopen once it's ready.

Reopened the PR. In the updated version, I moved the synchronization logic for the taking of a snapshot to the innermost place (in the DynatraceSummary). This way, it should never be possible for code relying on the DynatraceSummary to create a Snapshot that is not synchronized.
For readability, I also split out the DynatraceSummarySnapshotSupport. There is a new Interface, TimeAwareDynatraceSummarySnapshotSupport that contains the Snapshot functionality for Timers. That way, the Timer does not have to implement the unitless functionality, and the DistributionSummary does not have to implement the one with units.

I added some tests for unit conversions. There were some (https://github.com/dynatrace-oss-contrib/micrometer/blob/main/implementations/micrometer-registry-dynatrace/src/test/java/io/micrometer/dynatrace/types/DynatraceTimerTest.java#L149) but more is better in this case, I think.


Update http4s-core, http4s-dsl to 0.21.31

Updates

org.http4s:http4s-core
org.http4s:http4s-dsl

from 0.21.14 to 0.21.31.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-patch

Superseded by #303.


Create example access request

Create an example access request containing the kind of detail we're looking for, in order to provide further guidance to potential users.

@Ironholds created this, so I'm going to close this ticket (and rename their issue to be more clearly an example)


Allow specifying individual settings as files

Checks

[x] I added a descriptive title to this issue
[x] I have searched (google, github) for similar issues and couldn't find anything
[x] I have read and followed the docs and still think this feature/change is needed
[x] After submitting this, I commit to one of:

Look through open issues and helped at least one other person
Hit the "watch" button on this repo to receive notifications and I commit to help at least 2 people that ask questions in the future
Implement a Pull Request for a confirmed bug

Feature Request
In addition to secrets_dir, it would be nice to allow passing individual environment, like in lego / Traefik. This would be more flexible as it doesn't make code author assume there's a single _secrets_dir at a specified location:
class Settings(BaseSettings):
    ...
    database_password: str

printf "This is a secret" | docker secret create my_secret_data -
docker service create \
       --name pydantic-with-secrets \
       --secret my_secret_data \
       -e DATABASE_PASSWORD_FILE=/run/secret/my_secret_data
       pydantic-app:latest

Please let me know if you would be interested in a PR!

Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.7.3
            pydantic compiled: True
                 install path: /home/ale/dev/lunni/core/.venv/lib/python3.8/site-packages/pydantic
               python version: 3.8.5 (default, Jul 28 2020, 12:59:40)  [GCC 9.3.0]
                     platform: Linux-5.4.0-62-generic-x86_64-with-glibc2.29
     optional deps. installed: ['typing-extensions']

I would also add that in Kubernetes you can mount a configmap into a container with a very similar structure to a secrets directory. It would be handy to be able to specify a non secrets directory in the same way, as in that setup you can't mount both sources to the same directory.
The logic in this SecretSettingsSource class could be more generalized into a DirectorySettingsSource so one could have multiple directories specified: https://github.com/samuelcolvin/pydantic/blob/master/pydantic/env_settings.py#L246 I'm also happy to submit a PR

this should be supported in pydantic-settings now since we allow customisation of sources.

@samuelcolvin I've looked into it and seems like it's be possible to just add a new SettingsSource. Should I move this ticket over to the pydantic-settings repo?
Congrats on the funding round BTW!

@notpushkin I am not sure that we want to support this source in pydantic-settings. So, as @samuelcolvin mentioned you can have your own source class.
BTW, let's wait for @samuelcolvin to decide.


Update manifests/t/Tencent/QQ/<IP_ADDRESS>056/Tencent.QQ.locale.en-US.yaml

Fixes an issue where this package has multiple different monikers
Microsoft Reviewers: Open in CodeFlow

Needs Attention

@wingetbot run

[Policy] reset feedback

[Policy] Needs-Attention

@wingetbot run

@wingetbot run


RD on Windows

We need to have RD running on Windows and that includes Windows Home where there is no hypervisor. Instead of a normal hypervisor we should use Windows Subsystem for Linux (likely v2). WSL is available on Windows 10 Home.
With WSL we could either install and manage k3s in an existing Linux or start up a custom Linux setup and expose K3s to windows and the other Linux instances from there. This is open for discussion.
This isn't going to use Minikube as minikube on Windows doesn't work with WSL to manage the things.

FWIW, Docker on Windows (when on Windows 10 Home) only runs via WSL2; there it appears to act like nested containers — it runs a Microsoft-shipped Linux kernel, and each distribution gets their own chroot / pid namespace (but appears to have a shared network namespace).  They also have a HyperV backend, but HyperV is only available on Pro+ Windows licenses.

@mook-as k3s runs in linux under WSLv2. The questions will be... which Linux do we use and why? Is it a separate one from the users or right in a users linux setup? How do we install and how do we bridge k8s to Windows?
We can't use Hyper-V because running in Windows Home is a priority.

The deliverable for this issue is the WSL/k3s setup that can later be connected to the app/UI via #147

I've written up instructions as part of the release notes for tinyk3s-v0.1.
I intend to tweak this setup further in the future, but it should be good enough to get started with RD for now.
Maybe try all the steps manually once, to verify that they are working on other machines beside my VM?
And let me know if I missed to explain some scenario!
Since we don't have an init system like systemd under WSL, we'll need to do some monitoring/restarting at the RD level, but I assume that is outside the scope of this issue.

I've get as foar as kubectl.exe get pods -A on my (non-VM) Windows machine.  The only thing relevant was that I had to install WSL first (this was a fresh install).
Also, I didn't bother with the shell script - I just downloaded files manually and put them in the right places.
Suggestions, for later:

Should point to instructions to set up WSL (or better, have RD do it for the user).
run-k3s shouldn't daemonize — it should just run in the foreground, and we can get RD to do the backgrounding.  That should (hopefully) also solve issues you were having with process management.
I assume we'd override CACHE_DIR from the RD end, so the cache directory thing isn't an issue.

Notes on getting a RD dev environment on Windows:
Dependencies:

Visual Studio 2019 Community (the license should be okay, because RD is Apache 2.0, which is OSI-approved), with MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16)
Python 2 (VS seems to be able to install one)
GTK 2 (for canvas) — I used the bundle as instructed on the wiki.
libjpeg-turbo, also for canvas.
Build RD with set GYP_DEFINES="GTK_Root=C:/Path/To/GTK2" jpeg_root="C:/Path/to/libjpeg".  Under cmd.exe, set takes the rest of the line, no need to worry about quoting.
Manually run npm install<EMAIL_ADDRESS>because https://github.com/nodejs/nan/issues/892

With that, npm install will hopefully work.  Not even trying to build yet.
I may have missed stuff; feel free to edit this comment to update the instructions.

Closing, because things landed and WSL-based RD should work now (with lots of polish needed).


Update Maven build to include onStartTrackingTouch functionality

The current version in Maven central (1.2) doesn't have the support for (onStart/onStop)TrackingTouch.
It is still usable through jitpack and using the commit hash, but it would be nice if this was changed to either be reflected in the readme or have the maven build updated to include these changes.

1.3 will be relesed next week to maven central. btw i split the interfaces for compatibility reasons and easier to use lambda when using thumb value chane only. change log and java docs will be included with the release also.


README.md example doesn't work, needs {{%IMPLICIT-ITERATOR}}

This patch fixes the problem discussed in issue #27:
diff -r 478b4744a1a6 -r<PHONE_NUMBER>ed README.md
--- a/README.md	Sun May 23 20:02:43 2010 +0200
+++ b/README.md	Thu May 27 18:49:58 2010 -0700
@@ -82,7 +82,7 @@
var view = {name: "Joe's shopping card",
items: ["bananas", "apples"]}

var template = "{{name}}:  {{#items}}{{.}}{{/items}} "

var template = "{{%IMPLICIT-ITERATOR}}{{name}}:  {{#items}}{{.}}{{/items}} "
Outputs:
Joe's shopping card: bananasapples

Pragmas have been removed in master. However, the {{.}} notation still works as you'd expect for iterating over collections. If they make a comeback, I'd like to see them implemented first in the mustache/spec.


[DOC] Missing instruction in configuring SessionDataCleanUp task.

Affected: All versions
The Authentication session persistence documentation [1] should mention that in a clustered deployment, the SessionDataCleanUp task should only be enabled in a single node.
[1] https://docs.wso2.com/display/IS5XX/Authentication+Session+Persistence

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Fix empty dataframe not adding columns information

Closes #412

[x] Write tests that would fail in src/danfojs-browser/...
[x] Write tests that would fail in src/danfojs-node/...
[x] Modify src/danfojs-base/... files to fix the issue
[x] Run the tests again and check that the tests passed

Also I have tried to improve some tests in the "Empty NDFrame" group, because some of the existing tests were only testing DataFrame or Series creation instead of testing both.
Feel free to modify the code or add comments with the changes if you think something could be improved.
Thanks!

I suggest that both @risenW and @steveoni review this pull request, as it introduces some important changes and maybe I have missed something...
I did run the tests myself, but also I suggest that you run the tests again in order to be sure that these changes doesn't break anything.

I suggest that both @risenW and @steveoni review this pull request, as it introduces some important changes and maybe I have missed something...
I did run the tests myself, but also I suggest that you run the tests again in order to be sure that these changes doesn't break anything.

Thanks @igonro We'll review ASAP


"logger not initialized" when using tsx and CommonJS

we are aware of a bug affecting users of the tsx runner with Agents.
specifically, it affects those who define their agent in files read as CommonJS.
/home/nbsp/src/@livekit/agents-js/agents/dist/log.js:9
        throw new TypeError('logger not initialized. did you forget to run initializeLogger()?');
              ^

TypeError: logger not initialized. did you forget to run initializeLogger()?
    at log (/home/nbsp/src/@livekit/agents-js/agents/dist/log.js:9:15)
    at MultimodalAgent.<instance_members_initializer> (/home/nbsp/src/@livekit/agents-js/agents/dist/multimodal/multimodal_agent.js:40:15)
    at MultimodalAgent (/home/nbsp/src/@livekit/agents-js/agents/dist/multimodal/multimodal_agent.js:29:9)
    at entry (/home/nbsp/src/@livekit/agents-js/examples/src/multimodal_agent.ts:51:19)

if you don't use tsx/CJS and are running into this issue, please leave a comment.
the fix
set "type": "module" in your package.json, or rename the file to explicitly use ESM (e.g. agent.ts ⇒ agent.mts).

Hi @nbsp, I am having problem even when the type already set to module.
 "@livekit/agents": "^0.4.3",
"@livekit/agents-plugin-openai": "^0.4.3",

Hi @nbsp, I am having problem even when the type already set to module.
"@livekit/agents": "^0.4.3",
"@livekit/agents-plugin-openai": "^0.4.3",

we're currently working on making agents-js into a dual package, which would allow you to integrate Agents directly with CJS code natively

@tanys123 if you encounter this error in an ESM exclusive environment (with type: module) set, could you post the stack trace of the error?

Directly with Node

My node.js multimodal realtime chat app works fine in dev, but I get this same error in production after I pushed it to AWS Elastic Container Service (ECS).
For some reason, the app works fine locally when I run both node dist/agent.js dev and node dist/agent.js start in the terminal. But in ECS, even though it starts up fine (I have some logs that shows it indeed calls node dist/agent.js start), I get the following error when I try to connect:
logger not initialized. did you forget to run initializeLogger()?
I looked into the node_modules and saw that this error is in /node_modules/.pnpm/@livekit+agents<EMAIL_ADDRESS>The type is set to module in package.json. Here are my dependencies:
    "@livekit/agents": "^0.4.1",
    "@livekit/agents-plugin-openai": "^0.4.1",

I noticed a few of the initializeLogger() calls within an async function are without await.
I'm fairly disappointed. I wanted to share this with a few early customers today. If there's a quick workaround, please let me know!

The issue is that the logger uses module level state as a kind-of singleton pattern. As the agent plugins are published as separate packages, the logger state crosses package boundaries which can easily break down if there's anything causing the individual packages to use your own copy of @livekit/agents, particularly if you're using pnpm or yarn.
@creightontaylor if you're in that boat you could try setting noHoist on each @livekit/agents* package that you're trying to use:
// package.json
...
  "pnpm": {
    "packageExtensions": {
      "@livekit/agents": {
        "nohoist": true
      },
      "@livekit/agents-plugin-openai": {
        "nohoist": true
      },
      "@livekit/agents-plugin-silero": {
        "nohoist": true
      }
    }
  }

@nbsp I upgraded the packages:
    "@livekit/agents": "^0.4.5",
    "@livekit/agents-plugin-openai": "^0.6.0",

And it now works in production! It's alive. It's ALIIIIIIVE! 😄 😄 😄


[Help]: Button to toggle dark mode

Hello,
I was wondering if there's any way to add this feature of adding a button to toggle dark mode/light mode.
I understand that this might not be in the interest of everyone, but I would appreciate any pointers on how to do the same.
Thanks

Hello,
Sorry for being late to reply. This feature might not be added since after some consideration I didn't figure out where the best place is to put the toggle button at and how the button should look like. Nevertheless, this feature is not hard to implement. Just add a button to toggle the a attribute of <body> between empty light and dark. Wish this would help.


ActionDispatch requests are not authentic - no Date header

Hello there, I'm having some problems while trying to authenticate incoming requests in a Rails application (ActionDispatch requests).
I'm signing a request using Net::HTTP this way:
request = Net::HTTP::Get.new("/")
signed_request = ApiAuth.sign!(request, MY_ACCESS_ID, MY_SECRET)

ApiAuth.authentic?(signed_request, MY_SECRET) # this works, I get "true"

signed_request contains headers like these:
accept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
accept: */*
user-agent: Ruby
date: Thu, 05 Oct 2017 21:40:52 GMT
authorization: APIAuth potato:T94rbfppECdDqMbAyVoD1+cZcIM=

Problem
I copy those headers into Postman and send a request to my Rails application, but ApiAuth.authentic? returns false, even though I'm using the exact same secret key that generated the signature.
After some testing and checking the source code, I noticed that the lib looks for the Date header as either DATE or HTTP_DATE, but those are nowhere to be found in the request.
Output of request.env.keys:
["rack.version", "rack.errors", "rack.multithread", "rack.multiprocess", "rack.run_once", "SCRIPT_NAME", "QUERY_STRING", "SERVER_PROTOCOL", "SERVER_SOFTWARE", "GATEWAY_INTERFACE", "REQUEST_METHOD", "REQUEST_PATH", "REQUEST_URI", "HTTP_VERSION", "HTTP_HOST", "HTTP_CONNECTION", "HTTP_ACCEPT", "HTTP_CACHE_CONTROL", "HTTP_AUTHORIZATION", "HTTP_USER_AGENT", "HTTP_POSTMAN_TOKEN", "HTTP_ACCEPT_ENCODING", "HTTP_ACCEPT_LANGUAGE", "SERVER_NAME", "SERVER_PORT", "PATH_INFO", "REMOTE_ADDR", "puma.socket", "rack.hijack?", "rack.hijack", "rack.input", "rack.url_scheme", "rack.after_reply", "puma.config", "action_dispatch.parameter_filter", "action_dispatch.redirect_filter", "action_dispatch.secret_token", "action_dispatch.secret_key_base", "action_dispatch.show_exceptions", "action_dispatch.show_detailed_exceptions", "action_dispatch.logger", "action_dispatch.backtrace_cleaner", "action_dispatch.key_generator", "action_dispatch.http_auth_salt", "action_dispatch.signed_cookie_salt", "action_dispatch.encrypted_cookie_salt", "action_dispatch.encrypted_signed_cookie_salt", "action_dispatch.cookies_serializer", "action_dispatch.cookies_digest", "action_dispatch.routes", "ROUTES_18757480_SCRIPT_NAME", "ORIGINAL_FULLPATH", "ORIGINAL_SCRIPT_NAME", "action_dispatch.request_id", "action_dispatch.remote_ip", "action_dispatch.request.path_parameters", "action_controller.instance", "action_dispatch.request.content_type", "action_dispatch.request.request_parameters", "rack.request.query_string", "rack.request.query_hash", "action_dispatch.request.query_parameters", "action_dispatch.request.parameters", "action_dispatch.request.accepts", "action_dispatch.request.formats"]

Then, the lib defaults the timestamp to empty string, causing an error to be raised in this function:
# lib/api_auth/base.rb

def request_within_time_window?(headers)
  # 900 seconds is 15 minutes

  Time.httpdate(headers.timestamp).utc > (Time.now.utc - 900) &&
    Time.httpdate(headers.timestamp).utc < (Time.now.utc + 900)
rescue ArgumentError
  # error saying that empty string is not a RFC 2616 date
  false
end

I'm using:

ruby 2.4.1
rails 5.1.4
ubuntu 16.04

Has anyone ran into this? Is this really a bug/incompatibility?
(I'm sorry if I'm misunderstanding something, I'm kind of new to Ruby and Rails.)
Any help is appreciated!

After more testing, I realized the problem only occurred if I copied the headers to Postman to send the request, which I was doing at first. Calling directly from a Ruby client works perfectly. Perhaps Postman is removing the Date header from the request for some reason.
Closing the issue! :green_book:


C++11: dynamic exception specifications are deprecated [-Wdeprecated-dynamic-exception-spec]

Compiling with warnings enabled for any C++11 + build yields many such warnings:
runtime/realm/faults.h:114:39: warning: dynamic exception specifications are deprecated [-Wdeprecated-dynamic-exception-spec]
    virtual ~ExecutionException(void) throw();
                                      ^~~~~~~
runtime/realm/faults.h:114:39: note: use 'noexcept' instead
    virtual ~ExecutionException(void) throw();
                                      ^~~~~~~
                                      noexcept

Note that dynamic exception specification has been deprecated since C++11 (and is fully removed from C++17 onwards).
The following patch silences warnings:
diff --git a/runtime/realm/compiler_support.h b/runtime/realm/compiler_support.h
index 8945a32f3..43eb204f1 100644
--- a/runtime/realm/compiler_support.h
+++ b/runtime/realm/compiler_support.h
@@ -73,6 +73,13 @@
   #endif
 #endif

+// REALM_NOEXCEPT - indicates that the declaration does not throw exceptions
+#if REALM_CXX_STANDARD >= 11
+  #define REALM_NOEXCEPT noexcept
+#else
+  #define REALM_NOEXCEPT throw()
+#endif
+
 // REALM_ON_LINUX   - defined if Realm is being built for a Linux host
 // REALM_ON_MACOS   - defined if Realm is being built for a macOS host
 // REALM_ON_FREEBSD - defined if Realm is being built for a FreeBSD host
diff --git a/runtime/realm/faults.cc b/runtime/realm/faults.cc
index 93722181f..67728262c 100644
--- a/runtime/realm/faults.cc
+++ b/runtime/realm/faults.cc
@@ -487,7 +487,7 @@ namespace Realm {
       backtrace.capture_backtrace(1); // skip this frame
   }

-  ExecutionException::~ExecutionException(void) throw()
+  ExecutionException::~ExecutionException(void) REALM_NOEXCEPT
   {}

   void ExecutionException::populate_profiling_measurements(ProfilingMeasurementCollection& pmc) const
@@ -512,7 +512,7 @@ namespace Realm {
     : ExecutionException(Faults::ERROR_CANCELLED, 0, 0)
   {}

-  const char *CancellationException::what(void) const throw()
+  const char *CancellationException::what(void) const REALM_NOEXCEPT
   {
     return "CancellationException";
   }
@@ -527,7 +527,7 @@ namespace Realm {
     , event(_event)
   {}

-  const char *PoisonedEventException::what(void) const throw()
+  const char *PoisonedEventException::what(void) const REALM_NOEXCEPT
   {
     return "PoisonedEventException";
   }
@@ -542,7 +542,7 @@ namespace Realm {
     : ExecutionException(_error_code, _detail_data, _detail_size)
   {}

-  const char *ApplicationException::what(void) const throw()
+  const char *ApplicationException::what(void) const REALM_NOEXCEPT
   {
     return "ApplicationException";
   }
diff --git a/runtime/realm/faults.h b/runtime/realm/faults.h
index bfd542c4a..6c611a7bd 100644
--- a/runtime/realm/faults.h
+++ b/runtime/realm/faults.h
@@ -111,9 +111,9 @@ namespace Realm {
     ExecutionException(int _error_code,
 		       const void *_detail_data, size_t _detail_size,
 		       bool capture_backtrace = true);
-    virtual ~ExecutionException(void) throw();
+    virtual ~ExecutionException(void) REALM_NOEXCEPT;

-    virtual const char *what(void) const throw() = 0;
+    virtual const char *what(void) const REALM_NOEXCEPT = 0;

     virtual void populate_profiling_measurements(ProfilingMeasurementCollection& pmc) const;

@@ -127,7 +127,7 @@ namespace Realm {
   public:
     CancellationException(void);

-    virtual const char *what(void) const throw();
+    virtual const char *what(void) const REALM_NOEXCEPT;
   };

   // the result of testing a poisoned event
@@ -135,7 +135,7 @@ namespace Realm {
   public:
     PoisonedEventException(Event _event);

-    virtual const char *what(void) const throw();
+    virtual const char *what(void) const REALM_NOEXCEPT;

   protected:
     Event event;
@@ -147,7 +147,7 @@ namespace Realm {
     ApplicationException(int _error_code,
 			 const void *_detail_data, size_t _detail_size);

-    virtual const char *what(void) const throw();
+    virtual const char *what(void) const REALM_NOEXCEPT;
   };

 }; // namespace Realm

@Jacobfaib the diff looks good to me.  Do you want to submit this as a PR or just have me plagiarize a commit?  :)

Hmm, it appears I don't have branch create/branch push rights (I checked out the repo via ssh, not https), so perhaps easiest if you create the PR for this!

Just FYI, you can fork Legion at https://gitlab.com/StanfordLegion/legion . This requires no special access. @streichler or one of us will need to mirror the commit into our repo to run the CI, but if you upload the commit and send us a link we can take it from there.

BTW, is the gitlab or github repo the primary one?

GitHub is our user-facing site. That means all issues and bug reports should be submitted here. GitHub also is more stable because we mirror only when the CI is passing. Bleeding edge commits go straight to Gitlab.

Shall I open a PR on github using this branch? Or redo it on gitlab and open a MR?

So, we need to do the MR for you because our CI only runs on the main Gitlab repo. @streichler can go ahead and do this (or @streichler let me know if you need me to do so).

Cool beans. Note that if you need to reach me on gitlab (e.g. to set as reviewer etc.), my handle there is <at>Jfaibussowitsch.

I went ahead and created the MR at https://gitlab.com/StanfordLegion/legion/-/merge_requests/892
Assuming @streichler is ok with it, I will merge once CI passes.


feat(service): change update delay format to a time string in service…

Close https://github.com/portainer/portainer/issues/825
Currently, the UpdateConfig Delay value expects a number of seconds.

With the new suggested code, the Update config tab shows a default 0s value when we create a service.

A tooltip shows some examples about the supported format and a new description message has been added.

If we don't set any value for the Update config, the UpdateConfig.Delay value has no value set as we can check in the CLI.

If we try to update a service that has no value for the UpdateConfig delay, we'll see that 0s is used as default.

We can use a new value e.g 1h and update the service.

The CLI shows the new value<PHONE_NUMBER>000 in nanoseconds.

We can create a new service and use a value like 50m =<PHONE_NUMBER>000 nanos.

If we try to edit the service we'll see the nanoseconds transformed in the higher unit available 50m in this case.

We can check in the CLI that the UpdateConfig delay value shows<PHONE_NUMBER>000 nanos.

The Update Delay input box has changed from a number input field to a text field, where a ng-pattern has been added so we expect a number followed by the unit.
The acceptable unit values are specified in Docker docs.
The moment.js library has been used for one of the helper functions.
If this behavior is acceptable, changes can be applied to the restart delay value.

Brilliant ! I'll review this soon.

Thanks @doncicuto :+1:
Feel free to tackle the same work for the restart delay field ;-)

Awesome!, I'll continue then with restart delay :-D


verify/-blob should provide more guidance in identity assertions

Description
With cosign 2, when verifying a signature in the transparency logs, an OIDC issuer and subject must be matched, but there's very little guidance as to what the options are.  The error messages just specify that the options are needed, and even when using --verbose with the -regexp variants, we can't see what was actually matched.
So when people do "the easy thing", they'll find that the easiest thing is to use:
cosign verify-blob --certificate-identity-regexp=.+ --certificate-oidc-issuer-regexp=.+ [...]

which is counterproductive.
My operating model here is that the first time people encounter this is when they've downloaded artifacts from safe locations and they're trying to ensure that future downloads, perhaps inside CI systems, as also safely downloaded.  So if someone does not yet know what identity they should validate, then the data they see before them is reasonable to present as suggestions, together with "if this is reasonable and accurate" caveats.
Thus if neither option is given, then instead of complaining about first one being missing, then the other, they should be complained about together, plus seeing the actual data which can be matched against.  Or if #2210 is implemented, then people can be pointed to that command.
Further, if the repository information truly is deprecated, so that the only fully supported option is to match against URLs, then the help text should warn against regexp metacharacters and present escape command-line options (or reconsider if perhaps the ability to match against a repo name is important, for safe usage).
I am not a cosign expert, but am more aware of the problem space and terminology than 95% of developers, and it took me far too long to get to an invocation of:
cosign verify-blob \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --certificate-identity-regexp 'https://github\.com/goreleaser/goreleaser-pro-internal/\.github/.+' \
  --signature checksums.txt.sig --cert checksums.txt.pem \
  checksums.txt

So if someone does not yet know what identity they should validate, then the data they see before them is reasonable to present as suggestions, together with "if this is reasonable and accurate" caveats.

On the one hand, I agree that this is a common workflow and TOFU is often reasonable here. But TOFU-by-default is a little scary, even if we provide a warning message. In the past, a cosign inspect command (which you've found) was proposed for this situation (https://github.com/sigstore/cosign/issues/2210) but it has many of the same problems. You've given me an idea...will present it below.

Thus if neither option is given, then instead of complaining about first one being missing, then the other, they should be complained about together, plus seeing the actual data which can be matched against.

Strongly agreed. The internal changes I propose in this comment would make this much easier to implement but they don't necessarily need to block this.

Further, if the repository information truly is deprecated, so that the only fully supported option is to match against URLs, then the help text should warn against regexp metacharacters and present escape command-line options (or reconsider if perhaps the ability to match against a repo name is important, for safe usage).

We may have to pull in some of the GitHub folks on this one; https://github.com/sigstore/cosign/issues/2691 is a good place to discuss that.

Appreciate your patience so far with these workflows...we started with "really easy to shoot yourself in the foot" and the pendulum has swung to "footguns removed by default but the process is annoying enough you might take them back out." Hopefully the next round of changes will help restore usability without losing the security here.
CC @haydentherapper

Thanks for the feedback! Agreed that we need to think through the UX for CI systems more.
As a first step, warning on overly permissive regex (.*/.+) would be good.

For clarity, my TOFU-adjacent suggestion is not "accept it, with TOFU".  Instead, it's to error out as unverified, but suggest in text that "it looks like this invocation below would pass, but it's on you to double-check that the values are reasonable, before adopting them into your workflows"

Understood, but I consider any workflow that relies on a human squinting at a string that has to be "just right" to be especially vulnerable to typosquatting attacks (and therefore, as you put it, TOFU-adjacent).  We're not there yet, so trying to strike a reasonable compromise.

So, error out as unverified, but:

To see which verification criteria would work for this signature, re-invoke with the --gullible-trust-suggest-verifications option.
and then that option should put in a big warning about "the below assumes that you are looking at an untampered image, use discretion before adopting".

That's really what I'm getting at.  Someone needs to get the verification criteria and most projects aren't organized to do this, so the admins of systems pulling objects which need verifying (containers, blobs) using cosign need to be able to craft the criteria.  Cosign can see what would work, so the issue is the UX around "okay, so what would work" and making sure that it's not something which gets put into CI workflows as the "--magic-make-this-all-just-exit-zero" option but is instead an enabling workflow for getting the correct values to be used later.


DRILL-7461: Do not pass ClassNotFoundException into SQLNonTransientConnectionException cause when checking that Drill is run in embedded mode

For problem description please refer DRILL-7461.

+1, LGTM


exposing Automerge::get_marks through to Swift

Bindings for being able to retrieve the marks of a given position without traversing the ops of the full document.

#187

https://automerge.org/automerge/automerge/struct.Automerge.html#method.get_marks

Thanks @miguelangel-dev, I'll take a look in depth a little later today or tomorrow, WWDC is dominating my attention right now. In the meantime, Marks has some underlying changes that we should get in before dropping this in place - some API updates that align to the latest core library that I have in some commits in the WIP Blocks PR (#171). I'll pull those out of the existing PR and get those set up so we can merge them without waiting for the full detail work on the Blocks API

@miguelangel-dev I don't think there'll be a serious conflict, but go ahead and rebase over the #171 merge, and things should be good. Biggest detail change here was the internal API switching from Value to ScalarValue inside marks, which I wanted to get in if we were expanding the marks API with these bits.

@miguelangel-dev I don't think there'll be a serious conflict, but go ahead and rebase over the #171 merge, and things should be good. Biggest detail change here was the internal API switching from Value to ScalarValue inside marks, which I wanted to get in if we were expanding the marks API with these bits.

Thanks for moving #171 quickly, and merging. I have rebased it against #171 - it should be ready to review 🙏🏻

Thanks both for the code review, I have addressed all your suggestions. It is ready for a second round 🙏🏻


Package does not contain merkletools.py

@EderSantana the package merkletools-1.0.0.tar.gz does not contain the merkletools.py file.

@lontivero thanks for letting me know. I'll check why that happened. Meanwhile, please install with pip install merkletools and let me know if that works ok for you.

i did pip install merkletools many times (in both windows and linux) and that installed the merkletools package and its dependency sha3 successfully. However, given the merkletools.py file is not included in the package, i couldn't use it.
Anyway, i've moved my programming environment to linux (sha3 doesn't compile in windows, or at least in my windows) and i've downloaded the merkletools.py file in my own package adn it works okay by the moment.

I understand now, tkx for the detailed report. I'll patch a fix soon.

I'm not a python programmer but i had the same problem a minute ago and the solution that I found was including my .py files in the .egg-info/SOURCES.txt file

yeah, I solved that by creating a MANIFEST.in file: https://github.com/Tierion/pymerkletools/commit/4dcf67ec9ac419abf9b1d430608bee680d317844
Checkout the new download, it has the files now: https://pypi.python.org/pypi?:action=display&name=merkletools&version=1.0.1
Let me know if something is still missing.

actually, give me one second, there are a few things missing. brb

here is the current module https://pypi.python.org/pypi/merkletools/1.0.2
pypi requires the module to be inside a folder with the name of the project. I hate unnecessary folders, but rules are rules :D

It works okay now! Thank you, @EderSantana


[Feature Request]: Outlined cards for user reviews.

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
The user reviews can be enclosed in card-like blocks.

Use Case
It will enhance the UI as the changing reviews will be more visible and visually appealing.
Examples for reference:

Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@VaibhavArora314 Please assign me this task!

@VaibhavArora314 Thankyou sir, I'll do it!

Thankyou very much sir!


[Feature] Is AWQ W4Afp8 supported?

Checklist

[x] 1. If the issue you raised is not a feature but a question, please raise a discussion at https://github.com/sgl-project/sglang/discussions/new/choose Otherwise, it will be closed.
[x] 2. Please use English, otherwise it will be closed.

Motivation
AWQ with INT4 weights and fp8 activations / KV cache works fairly well with Llama-3 models, and is a useful quantization technique for high-throughput regime. Is this quantization format supported by SGLang?
Related resources
https://github.com/NVIDIA/TensorRT-LLM/blob/b7868dd1bd1186840e3755b97ea3d3a73ddd76c5/examples/falcon/README.md?plain=1#L311

Not yet.


Hmmmmm

Ur offline too much in discord.. Please help and come to discord. LUL

i'm still confused


dgraph: 1.0.17 -> 20.03.03

Motivation for this change
Upgrade to the latest dgraph release
Note that although the version numbers jumped by 19 versions, dgraph changed their version scheme to follow <year>.<month>.<rev>, similar to NixOS.
Also transitions dgraph to buildGoModule
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Kind of a duplicate of https://github.com/NixOS/nixpkgs/pull/89642 except it's for 1.2.5.

@zowoq Indeed, I just commented on that one too!
I think moving to 20.03.03 makes sense since it is the default version advertised by the installation docs on dgraph's website here
Alternatively, we could split into 1.2.5 as default and have 20.03.03 as dgraph_20_03, as many other multiversion packages do

Closing in favour of #89642


PowerShell help not available in MicrosoftTeams v2.x

Hello,
don't know where to best put this, but since upgrading to MicrosoftTeams v2.0.0, the builtin help system does not work anymore.
I have a valid and open connection to MicrosoftTeams (and have run a SkypeOnline CmdLet to establish the PSSession), but the below doesn't tell me what is broken.
❯ Get-help Set-CsCallQueue
Get-help : Cannot get Help from a remote runspace, because the runspace has not been opened.  Open the runspace
by running an implicit remoting command, and then try running the command to get Help again.
At line:1 char:1
+ Get-help Set-CsCallQueue
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-Help], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.GetHelpCommand

Help is appreciated to fix (if client issue) or forward to correct team (if Module issue).
Cheers,
David

Hello @DEberhardt David, thanks, will try to pass this on, as here we are limited to documentation fixes.

Hello @yogkumgit , I can't find the comment, can you please post it again? Thanks in advance


chore(ci): Trigger barretenberg CI re-run

Job barretenberg-x86_64-linux-clang-fuzzing is failing on master because:
An error occurred (LimitExceededException) when calling the PutImage operation (reached max retries: 2): Adding tag 'cache-f6329bac2a788b0fe690244c0c7db4fdc9441240' to an image in the repository with name 'barretenberg-x86_64-linux-clang-fuzzing' in registry with id '278380418400' exceeds the maximum allowed number of tags per image which is '1000'

This adds a newline within the bb rebuild-patterns so the bb image gets rebuilt, and we stop throwing tags on top of the same image.

This didn't work: the offending job saves just srs_db in the image, which always yields the same resulting SHA, and the tags keep being accumulated on the same image.


Update db.go to resolve build error from Infof Function Call

Currently the tests fail from this error

[I] ^^/D/g/s/g/s/aran >>> go test                                                                                (master+9) 02:56:10
# github.com/sch00lb0y/aran
./db.go:310: Infof format %d reads arg #1, but call has 0 args

This pull request is to resolve that error.

Thank you @Arafatk !!


typo: powerbi-docs/service-tutorial-connect-to-github.md

dashboad -> dashboard
navigaton -> navigation

@nschonni : Thanks for your contribution! The author, @maggiesMSFT, has been notified to review your proposed change.

Verified editorial corrections.

@rjagiewich : Thanks for your contribution! The author, @maggiesMSFT, has been notified to review your proposed change.

@rjagiewich : Thanks for your contribution! The author, @maggiesMSFT, has been notified to review your proposed change.


Added showLineNumbers

I added an option to hide the line numbers in my fork. Not sure if this is something you'd consider merging?
Just wanted to share. :) Thanks for the awesome work, I use this in all my talks now!

I just tried my first example with CodeSlide and thought hiding the line numbers would be a great idea, I was ready to fork and create the feature myself, then I saw this, so good job! :) I hope this gets merged


Update Set-TransportRule.md

Clarified what is required in order for message to be considered as InOrganization.
Work Item ID in the ADO: 3490530

Sorry, man. I thought I merged your changes, and I had a correction to make, so I did it in another PR, which is now conflicting with your PR.
So, closing your PR.

No problem at all. I see that changes are applied so everything is good.
Thanks!


Control() failed because of: Error: waitAsync is already running and cannot be called again at this moment

Hello,
Describe the bug
We are getting error:
[wdi5] call of _getControl() failed because of: Error: waitAsync is already running and cannot be called again at this moment
[wdi5] error retrieving control: columnListItemId-__clone2
[wdi5] _asControl() needed 7.740290999412537 for columnListItemId-__clone2
After calling:
const tab = await browser.asControl({
forceSelect: true,
selector: {
id: "application-feature-display-component---FeatureList--featureListTableId",
interaction: "root" // <-- hooray!
}});
const items =await tab.getAggregation("items");
the first statement  await browser.asControl is working fine,
The error is coming from the last statement of getting the items, and we have already a test scenario that is clicking on buttons which working fine, we have a problem only in getting the items of a list.
To Reproduce
You need to run the scenario we have, it will be not easy to share
Expected behavior
We are expecting the to get the items of table without errors, because we need for every item to extract some information about the rows , like text, statuses, .., this is not working:
const items =await tab.getAggregation("items");
    for( let i=0; i < items.length ; i++ ) {
        const cells = await items[i].getAggregation('cells');
        const titleItems = await cells[0].getItems();
        const title = await titleItems[0].getTitle();

        // const title = await (await(cells[0].getItems())[0].getTitle());
        // const status = await (await (cells[1].getItems())[0].getText());
        // const priority = await (await (cells[2].getItems())[0].getText());
        // const priorityIcon= await (await (cells[2].getItems())[0].getIcon());
        // const priorityTooltip= await (await (cells[2].getItems())[0].getTooltip());
        // const priorityColor= await (await (cells[2].getItems())[0].getState());
    }

Logs/Console Output
[wdi5] call of _getControl() failed because of: Error: waitAsync is already running and cannot be called again at this moment
[wdi5] error retrieving control: columnListItemId-__clone2
[wdi5] _asControl() needed 7.740290999412537 for columnListItemId-__clone2
Screenshots

Runtime Env (please complete the following information):
"@ui5/cli": "3.0.5",
"@wdio/cli": "7.20.9",
"@wdio/cucumber-framework": "7.20.8",
"@wdio/devtools-service": "7.20.9",
"@wdio/junit-reporter": "7.20.7",
"@wdio/local-runner": "7.20.9",
"@wdio/sauce-service": "7.20.9",
"@wdio/spec-reporter": "7.20.8",
"wdio-cucumber-reporter": "0.0.2",
"wdio-cucumberjs-json-reporter": "4.4.3",
"wdio-intercept-service": "4.2.2",
"wdio-ui5-service": "^1.3.2",
"wdi5": "^0.7.0",
Chrome
Version 112.0.5615.49 (Official Build) (arm64)
node --version
v16.19.1
MacOs:13.3.1 (22E261)
Additional context
We are also using OPAE2E also,

services: ['devtools', 'ui5', 'intercept', [ParallelTestService, {
rootDir: path.resolve(__dirname),
backendPath: backendPath,
dwcLocalConfigFile: './dwc-local-config.json',
maxParallelInstances: maxParallelInstances,
maxWaitForInstancesToStart: 200000,
skipInstrument: skipInstrument,
profile: 'default'
}], [pipelineUtilities.wdioAnalysePR, { repositoryName: "CALMBuild/cdm-features-ui" }]],
wdio.config:
....
wdi5: {
screenshotPath: require("path").join("some", "dir", "for", "screenshots"), // [optional] {string}, default: ""
screenshotsDisabled: false, // [optional] {boolean}, default: false; if set to true, screenshots won't be taken and not written to file system
logLevel: "verbose", // [optional] error | verbose | silent, default: "error"
skipInjectUI5OnStart: true, // [optional] {boolean}, default: false; true when UI5 is not on the start page, you need to later call .injectUI5() manually
waitForUI5Timeout: 15000 // [optional] {number}, default: 15000; maximum waiting time in milliseconds while checking for UI5 availability
},

a for loop does not wait for an asynchronous operation to complete. wo what you're seeing are the side effects of multiple async ops running in parallel.
try converting your for loop to a for-of: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of

Hi @vobu , the error:
[wdi5] call of _getControl() failed because of: Error: waitAsync is already running and cannot be called again at this moment
[wdi5] error retrieving control: columnListItemId-__clone2
[wdi5] _asControl() needed 7.740290999412537 for columnListItemId-__clone2
is coming from statment:
const items =await tab.getAggregation("items");
if I continue the debugging until the for loop:
for (const item of items) {
const cells = await item.getAggregation('cells');
const titleItems = await cells[0].getItems();
const title = await titleItems[0].getTitle();
}
it will give another error,
regards,

of what type is the table that you're trying to call getAggregation("items") on? sap.ui.table.Table? b/c then it would be getAggregation("rows").
getAggregation("items") is for a sap.m.Table.

you're saying it is a sap.ui.table.Table, yet your screenshot shows a sap.m.Table - which one is it now? 😄

it is sap.m.Table (import Table from 'sap/m/Table';)
the selector is working fine:
const tab = await browser.asControl({
forceSelect: true,
selector: {
id: "application-feature-display-component---FeatureList--featureListTableId",
interaction: "root"
}});

hm, all i can say about this from the distance is that we're extensively using tables/lists as well in our own tests, e.g.
https://github.com/ui5-community/wdi5/blob/main/examples/ui5-js-app/webapp/test/e2e/aggregation.test.js
https://github.com/ui5-community/wdi5/blob/f45a5b67415caab902de3883fedc132908c9b7bc/examples/ui5-js-app/webapp/test/e2e/fluent-async-api.test.js#L35
does .getItems(0) work on your sap.m.Table?

const items = [await tab.getItems(0) ]; is working without errors
but getting errors afterwards with the following code:
for (const item of items) {
const cells = await item.getAggregation('cells');
const titleItems = await cells[0].getItems();
const title = await titleItems[0].getTitle();
}

Then I'd suggest you try to debug each call as described in https://ui5-community.github.io/wdi5/#/debugging and check where the actual error occurs!

do you mean debug WDI5 library? if yes, do you have suggestion where I can put the debugger statement before it is loaded to the browser,

Hi @vobu not sure if you get the notification for my last question, as the error is coming deep from WDI5, I need some insight where we can debug in the library, especially where the .sap.m.table code is located, to undestand what's going on

woah, thanks for diving deep here @philippthiele  🤿 !
from the wdi5 perspective, we're just reusing what the RecordReplay API offers - e.g. no special handling for retreiving aggregations from a UI5 control.
i'm not sure how to proceed here @abdelhaknezzari as we're at the point where you'd most likely need specific counseling on source- and test-code whom you can't seem to share publicly.
Mind continuing this via e-mail? → see my profile for e-mail-address

providing a PR: that's the spirit, yesss 🙌
let's continue working in there!


fix(sec): upgrade mysql:mysql-connector-java to 8.0.28

What happened？
There are 4 security vulnerabilities found in mysql:mysql-connector-java 5.1.45

CVE-2022-21363
CVE-2021-2471
CVE-2018-3258
CVE-2019-2692

What did I do？
Upgrade mysql:mysql-connector-java from 5.1.45 to 8.0.28 for vulnerability fix
What did you expect to happen？
Ideally, no insecure libs should be used.
The specification of the pull request
PR Specification from OSCS

These CVEs will never cause vulnerabilities in our project.


run ng e2e without running the server ?

I make many iterations when defining e2e test cases.  After each single modification I run ng e2e which makes 30 seconds to run the server before launching test cases.
Is theire a way to run ng serve  once and use the same server each time I run ng e2e  without running a new server

You can run ng serve in one terminal and then ng e2e with the --no-serve option in another.

TY. this should be documented ASAP

@amineparis @clydin Added to docs PR https://github.com/angular/angular-cli/pull/5633/commits/b590a04e2f4343b2cb002ac190650524962355a7

@sumitarora  think to add it to e2e wiki page

@amineparis Docs get published when we do release. Should be published with next release.

This doesn't work now, it says
Unknown option: 'no-serve


mod: README.md

Panderas installed by pip or conda does not support types such as 'int'. Therefore, the current README needs to be modified. The specific errors are as follows:

TypeError: type of pandas_dtype argument not recognized: <class 'type'>

Codecov Report

Merging #267 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #267   +/-   ##
=======================================
  Coverage   96.61%   96.61%
=======================================
  Files          15       15
  Lines        1331     1331
=======================================
  Hits         1286     1286
  Misses         45       45

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 44a2083...e5bbced. Read the comment docs.

thanks @kunifuohbc, got a little ahead of myself there 😅


tests: a11y

We may have to use a11y tools for automated tests eg with ally.js, pa11y or some other.
Any proposals / suggestions @Owlbertz?

I believe those tools will only test on application level, but not on framework level as they evaluate full HTML pages (which is necessary as you cannot get all information on a11y if you do not consider HTML, JS and CSS altogether).
This being said, the question for me is what we want to test using these tools. The docs? Seperate (manual) test pages that we created?
Imo we will still need to have separate unittests for JS and SCSS that check for certain things (contrast, attributes, etc).
Another tool would be axe-core.

I thought about testing the components and the defaults.
These can be tested as part of a testsuite.
The docs are another part and will be separately tested with the other tools.
We just need automated tests for the framework to solve most a11y issues at the root.


Add crosses to moves that are not part of the Exercise Solution in Enter Your Analysis and Submit mode

See below, from system notification I have no idea if my 2nd move 2.Rf2# was part of the solution but had no qui points assigned or was not part of the solution at all

Make cross (wrong move red below) the same font as a tick (the right move green below), so basiclaly non bolded:

Fixed


Make filefieldbuffer.py private

Fixes #1773
(easier to review by looking at commit diffs)

Uhh. Looks like we have DaskFileBuffer.add_to_dimension_name_map_global() and DaskFileBuffer.add_to_dimension_name_map() which are flagged with [externally callable]
Marking as draft while I have a think


Display of enum using undefined values broken

Describe the bug
An enum in global data assigned to data that is an undefined value results in broken display, either missing text or an OR using incorrect defined values (guessing this is an OR with a missing/empty last piece?)
To Reproduce
Steps to reproduce the behavior:

I opened a project with an empty file and poked bytes
create a enum myenum { MYENUM_0=0, MYENUM_2=2, MYENUM=8}
create a struct mystruct { myenum type; void * data;}
poke bytes as needed to have undefined values used and assign that data either enum or struct

Expected behavior
Struct name with correct OR'd values or raw byte value
Screenshots
        00002014 01 00 00        mystruct
                 00 00 20
                 00 00
           00002014 01 00 00 00     myenum                            type
           00002018 00 20 00 00     void *    some_func               data
        0000201c 08 00 00        mystruct
                 00 0e 20
                 00 00
           0000201c 08 00 00 00     myenum    MYENUM_8                type
           00002020 0e 20 00 00     void *    other_func              data
        00002024 15 00 00        mystruct
                 00 00 20
                 00 00
           00002024 15 00 00 00     myenum                            type
           00002028 00 20 00 00     void *    some_func               data
        0000202c 00 00 00        mystruct
                 00 00 00
                 00 00
           0000202c 00 00 00 00     myenum    MYENUM_0                type
           00002030 00 00 00 00     void *    00000000                data

        00002040 16 00 00 00     myenum          MYENUM_2
        00002044 ff 00 00 00     myenum          MYENUM_2 | MYENUM_8
        00002048 01 00 00 00     myenum
        0000204c 07 00 00 00     myenum          MYENUM_2

Environment (please complete the following information):

OS: 20.04
Java Version: 11.0.13
Ghidra Version: 436bb4873e8571b87a4d785bb828d9bf772b4867
Ghidra Origin: eclipse

Additional context
assigning the value does immediately fix the display

bisects to 0a5edb525194b889733eec6aeea7a88bf05db274


Add --no-leapp option to pause the process

By submitting pull requests to this repo, I agree to the Contributor License Agreement which can be found at: https://github.com/cpanel/elevate/blob/main/docs/cPanel-CLA.pdf

https://github.com/cpanel/elevate/issues/302

Steps to test
# wait for the elevate to be paused (if needed fix errors and run --continue)
> /scripts/elevate-cpanel --status
Paused at stage 3 / 5 please read more from /var/cpanel/elevate.is.paused.txt

# check paused file is there and message
> cat /var/cpanel/elevate.is.paused.txt
...

# install leap packages
> /usr/bin/yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
> /usr/bin/yum install -y leapp-upgrade leapp-data-almalinux

# manually setup the answerfile
> cat /var/log/leapp/answerfile
[remove_pam_pkcs11_module_check]
confirm=True

# run leapp by hand and :cross-fingers
> LEAPP_OVL_SIZE=3000 /usr/bin/leapp upgrade
# ... wait & wait

# then reboot
> reboot -h now

# check the status of elevate, should still be in pause (but moved to stage 4)
> /scripts/elevate-cpanel --status

# now let's try to continue the process
> rm -f /var/cpanel/elevate.is.paused.txt
> /scripts/elevate-cpanel --status


Have the hauling reservation system accomplish all target needs

Add reservation amount to the target for transfer tasks before transfer, subtract amount of failure. Semi contrapositive for withdraw reservations.


MaxAge and timestamp for location verification

We would like to add 2 new parameters to the location verification:
Request:

maxAge: optional, if given it should be considered as the maximum age of the location information which is accepted for the verification

Response:

lastLocationTime: mandatory, timestamp of the last location information

Some comments:

If age ( lastKnownLocation ) > maxAge -> What would be the expected response?
Making lastLocationTime mandatory has impact on privacy as we are disclosing when the device was located. This may be sensible.

Getting back to this issue...
@jlurien

if the available location data is too old, then I suggest to deliver "UNKNOWN" as if we had no location data at all.
lastLocationTime: I'm not sure about that, if it is more sensible than the location verification itself.

Getting back to this issue... @jlurien

if the available location data is too old, then I suggest to deliver "UNKNOWN" as if we had no location data at all.
lastLocationTime: I'm not sure about that, if it is more sensible than the location verification itself.

If age ( lastKnownLocation ) > maxAge, then response should be {"verificationResult": "UNKNOWN", "lastLocationTime": "whatever" }, or just unknown?

@akoshunyadi I need to understand more lastLocationTime and maxAge  behavior
Suppose you check device '0123456789' location at x,y with maxAge set to 4h.
The request is performed April 25th at 10 am.
In the network, we are able to retrieve following information:
the device was at x,y April 25th at 7:30 am.
the device was at z,k April 25th at 10:00 am
Do you expecting in this case:

to have verificationResult true or false ? the device was in the area within the max age but not anymore right now.
to have lastLocationTime  valued in the answer to April 24th - 7:30 am or 10 am ?

for, right now, it adds one additional layer of complexity that we should clarify.
Thanks !

@akoshunyadi Thanks for the clarification.

For location pull, is the output also include elevation?
X-axis
Y-axis
And Z-axis for horizontal?

For location pull, is the output also include elevation?
X-axis Y-axis And Z-axis for horizontal?

Not related to this issue, but it doesn't

The maxAge can be used as a trigger the verification request again. The only challenge, I see is defining the unit for maxAge. For mobile devices it could be minutes where as for few of the static IoT devices even days is good enough.

I am supportive of the idea of lastLocationTime but it should not be mandatory. Also, can we change the scope of this parameter to have something like the device is in the current location since lastLocationTime. That way we would know since when the device is in current location.

I am supportive of the idea of lastLocationTime but it should not be mandatory. Also, can we change the scope of this parameter to have something like the device is in the current location since lastLocationTime. That way we would know since when the device is in current location.

I don't think we can assure whether the device is still in the same location it was at lastLocationTime or it has moved but new location is not known. So we we can return "last known location" at "last location time"


Fix GridMap applying wrong NavigationRegion transform

Fix GridMap applying wrong NavigationRegion transform.
It was only applying the global_transform of the GridMap and the custom transform of the mesh_library navmesh to the region on the NavigationServer but not the cell position so all the navigation meshes were stacked on top of each other on the NavigationServer map breaking navigation with GridMap.
Part of #61293.
Fixes #56099

Thanks!

Doesn't seem needed for 3.x, it's already this code there.


Support For EC2 instances.

Please add support which can allow user to login to EC2 instance to deploy Docker containers. By which we can login to EC2 using SSH and deploy and manage containers there.

have you seen docker/machine?
On Mon, Mar 23, 2015 at 1:39 PM, Jainish Shah<EMAIL_ADDRESS>wrote:

Please add support which can allow user to login to EC2 instance to deploy
Docker containers. By which we can login to EC2 using SSH and deploy and
manage containers there.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/11661.

will take look thank you

you can run sudo yum install docker -y in Amazon Linux on an EC2.


Automated Github Chart releasing

Description of the change
Adds automated releasing for the Helm charts through GH Pages.  More details on how this works can be found here and here.
The proposition is to move away from OCI to instead use GH Pages/GH actions releaser for its ease
Installing charts would look something like (will update docs at a later PR):
helm repo add osdfir-infrastructure (or any alias name) https://google.github.io/osdfir-infrastructure
helm install osdfir-infrastructure/osdfir-infrastructure
helm install osdfir-infrastructure/timesketch
helm install osdfir-infrastructure/turbinia

Anytime we merge something in main and the Chart version for any of the charts have been updated, the GH action will automatically create a new release and push to the GH Page.

@hacktobeer @berggren @aarontp PTAL and let me know if any issues with releasing this way directly on GH Pages instead of OCI for ease of use/automated release process


Conditional content changes

Changes are easier to see here:
https://github.com/washingtonpost/ans-schema/compare/12bb4df6f28a755f46a54a41b0d437e0819af146...WPMedia:PSTK-2743-conditional-content
This PR assumes the final release version of ANS that would include this change would be 0.10.10.  This would need to be adjusted for the actual case.
PSTK-2743: As a developer, I want to understand the interface and data structures that will be required for the proposed solution
https://arcpublishing.atlassian.net/browse/PSTK-2743

I redid these changes to integrate them with the current dev ANS version (0.10.9.)  Those are changes that corrected some schema files to make them compliant with the Draft 4 standard.


Question related to TemporaryFolder

I like the way you are using TemporaryFolder for testing. I've tried to implement it and run my own tests in VS, but I have an exception when it tries to delete the folder:
System.IO.IOException : The process cannot access the file '... yessql.db' because it is being used by another process
https://github.com/sebastienros/yessql/blob/0b8dd422407b5216882d2dc990d74ab29c4e56cd/test/YesSql.Tests/TemporaryFolder.cs#L24
It may be related to how the Store is "disposing" (or not, because the method is empty).
Can you reproduce this error? Any idea how to solve it?

Be sure the file unlocked before delete the temp folder

SqliteConnection.ClearAllPools(); was missing.


[Android] Bump template AGP and NDK versions

Bumps AGP and NDK versions specified for Flutter app templates to match those specified in flutter.gradle.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

If there is a bug can you include it in the PR description?


Remove sudo

First of all: Thank you for this program :)
In these changes, I've removed the need for root access in the install script. As it turns out, this meant I could remove the script entirely because the readme is a suitable replacement.
As a result, this separates the concerns of this program. Ollama's automated install script also wants root access, but it is because they mess around with the kernel modules.
ollama-copilot wanted sudo access to make a config directory, but why not use $XDG_CONFIG_HOME or $HOME/.config? Additionally, our install script moves ollama-copilot from $HOME/go/bin to /usr/local/bin. However, if we can assume that $HOME/go/bin is the location of our binary, then we can also expect the same path to already be in the user environment's $PATH. I added documentation to note this.
Since I do not see any place where /etc/ollama-copilot/ directory is accessed by the program yet, I did not add any notes to the readme about the config directory in $XDG_CONFIG_HOME/ollama-copilot yet. If you can help me find what the config dir is used for, and where, then I would be happy to both update this document and modify the program to honor $XDG_CONFIG_HOME by default.
Each commit is a self-contained change, with a short heading followed by an extensive description. Some of those descriptions were briefly reiterated here, but for more in-depth explanation please see the full commit messages. I am open to questions as well.

I am not fluent in Go, but here's a dummy's version of using XDG_CONFIG_HOME env var.
https://go.dev/play/p/NMVSO3bztAz


[WIP] Implement Serialization Class. WIP, needs connection to Model + Docum…

Summary:
Implement Serialization Class. WIP, needs connection to Model + Document. Details in TODO comments

Code sample:
Schema
// Code here

Model
// Code here

General
// Code here

GitHub linked issue:

Closes #797

Other information:
Details on how to implement into the Model and Document classes in TODO comments in the code.
Type (select 1):

[ ] Bug fix
[X] Feature implementation
[ ] Documentation improvement
[ ] Testing improvement

[ ] Test added to report bug (GitHub issue #--- @---)
[ ] Something not listed here

Is this a breaking change? (select 1):

[ ] 🚨 YES 🚨
[X] No
[ ] I'm not sure

Is this ready to be merged into Dynamoose? (select 1):

[ ] Yes
[X] No

Are all the tests currently passing on this PR? (select 1):

[ ] Yes
[X] No

Other:

[ ] I have searched through the GitHub pull requests to ensure this PR has not already been submitted
[ ] I have updated the Dynamoose documentation (if required) given the changes I made
[ ] I have added/updated the Dynamoose test cases (if required) given the changes I made
[ ] I have ensured the following commands are successful from the root of the project directory

[ ] npm test
[ ] npm run lint

[ ] I agree that all changes made in this pull request may be distributed and are made available in accordance with the Dynamoose license
[ ] All of my commits and commit messages are detailed, explain what changes were made, and are easy to follow and understand
[ ] I have filled out all fields above

Should be in a decent place that is usable. A few items to discuss before moving any further:

Is error handling acceptable? Is everything being checked to an adequate degree before being allowed to proceed, or should there be more or less checks? Do we want the library to throw errors or fail in a different manor?

For documentation, do you want a file dedicated to serialization or do you just want the functions described in the respective Model + Document files?

Anything else you need from me to proceed?

@ablankenship10

Will respond to this individually in review.
What do you think? I personally think same file since that's how Model.methods has it.

What do you think? I personally think same file since that's how Model.methods has it.

Yea sounds good to me!

@ablankenship10 Are you using this branch in your projects/services/applications? Would love to merge master into it, but there are breaking changes between this branch and master.

Not yet you're good!

Just merged master into this branch (b4d4167). This commit has breaking changes.

After some discussions in Slack I think there were a few concerns about this pull request. Mainly surrounding if this pull request should even be merged or implemented. I have attempted to summarize the concerns here along with my replies.

Why not use _.pick?

This pull request also has functionality to modify properties or add additional properties during the serialization process. This is known as the modify function.

Why not make this a plugin?

Plugin support is not yet available in v2 (#851). Once plugin support is added, it's very likely this will be refactored out into a different plugin package.

Why not have this be a standalone package?

In the future, it would be nice to automatically serialize documents when retrieving them. For example when you run Model.get having a setting where the result from that is automatically serialized. This would be impossible to do as a standalone package due to having to interact with Dynamoose directly.
The syntax of this solution would also be different than the original goal and inspiration provided in the original issue #797.

I will be keeping this pull request open until at least Tuesday May 19th 2020. If you have additional issues or comments you would like to make about this pull request, please submit a review on this pull request with your comments. However it is important to note that as this pull request is complete and has been open for over a month, there is a high bar for overhauling this pull request at this point.
If no additional comments are made, I will merge this pull request as soon as I'm able to (after the date listed above), and after @ablankenship10 approves the pull request (and marks it as ready (removing draft status)).

I think it looks pretty clean and provides a convenient method of modifying how the document will be output in different ways based on various criteria. I'll pull the code tonight and try it out in my demo project for completeness.

Yeah, so my two cents is that ideally this would be a standalone package, and I would avoid serializing automatically on Model.get(). There's a way to write it as a wrapper that will provide the same API as discussed in #797, adding methods by subclassing/extending defined models. That all being said,

it is important to note that as this pull request is complete and has been open for over a month, there is a high bar for overhauling this pull request at this point

is a fair point. So whatever you guys decide.
On a different note, @fishcharlie there was one more point about the behavior of serializeMany(). Defining it as a static method on the model seems unclear to me, because nothing prevents the array to include items of type that is different from the type of the underlying model. This could be a global method instead, but then, it might be as simple as .map(item => item.serialize()).

@ablankenship10 I can merge this after you review & test and mark it as ready for review.

@ablankenship10 I can merge this after you review & test and mark it as ready for review.

Sweet, I'll try and get a test running this morning if I have time. Thanks!

I was able to use as expected in my local testing, good work!


RESP3 Null values

I am writing a KeyDB client library for the V language, I have noticed that KeyDB is currently responding with RESP2 $-1\r\n and *-1\r\n instead of using RESP3 _\r\n.
Is KeyDB going to switch to RESP3 protocol or is it going to stay on RESP2?

Each connection needs to manually let the server know it speaks RESP 3 by sending:
HELLO 3
The default behaviour is to use RESP 2

The HELLO command seems to be missing form the docs. Am I wrong?


Dynamic x-values are not plotted properly

I'm trying to display yearly data (12 months) in a sliding window manner i.e. it can be anything among the 12 months that shifts each month in a forward manner such as,

const xValues = [5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4] - from May (2019) to April (2020)
const xValues = [6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5] - from June (2019) to May (2020)

I'm using the tickValues prop in the Line component to set xValues, and tickCount to 12 (since the number of months will always be the same irrespective of the sliding manner) so that the data will be displayed in the above said manner. But this seems not to be working. I've ignored the xDomain prop in Chart component since I've provided the data in Line component.
                  <HorizontalAxis
                      tickValues={xValues}
                      tickCount={12}
                      includeOriginTick={true}
                      theme={{
                        axis: {
                          stroke: {
                            color: '#030303',
                            width: 1,
                          },
                        },
                        ticks: {
                          dy: responsiveHeight(-0.9),
                          length: responsiveHeight(1),
                          stroke: {
                            width: 1,
                            color: '#030303',
                          },
                        },
                        labels: {
                          label: {
                            dy: responsiveHeight(-2.5),
                            fontSize: responsiveFontSize(1.35),
                            fontWeight: 500,
                          },
                          formatter: (xValue) =>
                            this.getMonth(xValue).slice(0, 3),
                        },
                        grid: {
                          visible: false,
                        },
                      }}
                    />

Note: getMonth() returns the name of the month based on the index passed ranging from 1 to 12
Thanks in advance!

Hi @techinsider99, what exactly are you seeing? Can you provide a minimal example? (You can just alter the source file of the Demo app slightly)

Hi @N1ghtly, here is the screenshot of the plotted chart

The given data passed for tickValues prop in HorizontalAxis component is,

const xValues = [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

The above values are being passed into a helper function (getMonth()) to display the x values as months.
The data that is passed into the Line component is,

const data = [{"x": 12, "y": 0}, {"x": 1, "y": 0}, {"x": 2, "y": 0}, {"x": 3, "y": 0}, {"x": 4, "y": 0}, {"x": 5, "y": 0}, {"x": 6, "y": 0}, {"x": 7, "y": 0}, {"x": 8, "y": 0}, {"x": 9, "y": 0}, {"x": 10, "y": 0}, {"x": 11, "y": 5}]

                 <Chart
                    yDomain={{min: 0, max: yAxisThreshold}}>
                    <VerticalAxis
                      tickCount={5}
                    />
                    <HorizontalAxis
                      tickValues={xValues}
                      tickCount={12}
                      includeOriginTick={true}
                     />
                    <Line
                      data={data}
                      tooltipComponent={
                        <Tooltip />
                      }
                      smoothing="cubic-spline"
                    />
                  </Chart>

Thanks!

Ahh I see what you are doing now! This is actually expected behaviour, if it wouldn't be like this, we would not be following the laws of mathematics. We can't render a data point with x = 12 on x = 1! You should solve this by always using 1-12 as X values, and using the formatter prop to show the correct month.
Eg, if you have this data:

Nov
Dec
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct

5
10
2
0
3
4
8
12
9
7
6
0

We convert it to these data points:

0
1
2
3
4
5
6
7
8
9
10
11

5
10
2
0
3
4
8
12
9
7
6
0

Now, in order to show the correct month label, we modify our formatter:
formatter: (xValue) => this.getMonth((xValue - 2) % 12)
where getMonth(0) === January.
I hope this is clear :)


Print tensor dimensions

This may be useful to debug a model. The format looks like this:
q8_0 tensor token_embd.weight @1806176, 131072000 weights, dims [2560,51200], 139264000 bytes

Let me know if you prefer dimensions or shape instead of dims.

Great idea, indeed. Appreciate.


b:changedtick can be “unlocked”

Under vim-8.0.342 consider the following code:
echo islocked('b:changedtick')
unlockvar b:changedtick
echo islocked('b:changedtick')

This will yield 1 then 0. This still will not make one able to edit or delete this variable though. Previously trying to unlock b:changedtick was an error.

Nikolai Pavlov wrote:

Under vim-8.0.342 consider the following code:
echo islocked('b:changedtick')
unlockvar b:changedtick
echo islocked('b:changedtick')

This will yield 1 then 0. This still will not make one able to
edit or delete this variable though. Previously trying to unlock
b:changedtick was an error.

Yeah, previously it didn't work at all.  It's the same for some other
builtin variables. Might as well give a nice error message.
--
An alien life briefly visits earth.  Just before departing it leaves a
message in the dust on the back of a white van.  The world is shocked
and wants to know what it means.  After months of studies the worlds
best linguistic scientists are able to decipher the message: "Wash me!".
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Add more switcher script aliases

An attempt to really nail down #27.
Again, open to improvements.

Looks very good. A few minor Hlint style changes, but happy to merge as is I you'd prefer.

@ndmitchell Rebased in some changes. Happy to make further improvements as you see fit.

Looks good. One thought, is the Arch abbrev constant now redundant? (I'm on holiday with a mobile so can't see if it's still there)

Indeed it is. Good catch.

Fixed. Good Good Friday to you. Indeed this is a holy-day. :)

Where I am is the Russian orthodox so Easter is a week later :). Thanks for all te changes, they look great.

Sorry, I had a memory of clicking merge on my mobile, so either it was my phone or my brain had an off day. Now merged. Thanks!


Comparison with httptools

In your readme you say you attempted a cython wrapper around http-parser, which appears to have been done now: https://github.com/MagicStack/httptools
Do you have any points of reference on performance, ease of use, or other points between the two libraries?

It's not really an apples-to-apples comparison. httptools is substantially lower-level -- it just provides a parser, while h11 implements a complete model of the HTTP request/response cycle. Potentially h11 could be adapted to use httptools internally for parsing, but I don't think it would be very useful. Currently h11 is pure Python, but httptools requires a C compiler, which adds operational complexity. Normally this is offset by C code being faster, but in my benchmarks, h11's parser isn't the bottleneck anyway, so optimizing it wouldn't get you much.
httptools is definitely faster -- but AFAICT that's mostly because it does less. There are a lot of fiddly bits required to correctly implement HTTP, and those have a cost, which h11 pays. If you don't care about handling the edge cases correctly (which is a totally valid situation to be in!) and need Ultimate Speed, then implementing something on top of httptools is probably a better starting point than h11; if you don't want to read RFCs then h11 handles a lot of picky junk for you, and is probably "fast enough".
(For reference, on my laptop, h11 handles the protocol parts of doing a request/response cycle in ~0.2 milliseconds on CPython, and ~0.04 milliseconds on PyPy. So if you're implementing an HTTP server and need, say, 10 ms to actually generate your response -- doing database calls, filling in templates, etc. -- then h11's overhead is very small in relative terms.)
CC: @1st1 in case he has a different perspective he'd like to bring in :-)


API Backend Feature: SSO login

Issue is to track SSO implementation efforts.

https://adrianroselli.com/2024/08/things-to-do-before-asking-is-this-accessible.html?utm_source=substack&utm_medium=email


Add doctoc support

DocToc support would be a super useful feature

What's the difference between using DocToc and using [TOC] in stackedit?

[TOC]  is only understood by stackedit.

I see.
Stackedit render Markdown to HTML, while DocToc changes the original input. I don't think automatically generating TOC is good. When you break the generated code occasionally, there will be duplicated TOC and it is difficult to resture. When do you think is the proper time to generate this DocToc style TOC?

I think there should be a TOC/DOCTOC button in the toolbar.

If you want the RESULT of using [TOC], just do the following:

Add [TOC], so that StackEdit generates the Table of Contents.
Copy the HTML of the generated TOC.
Use StackEdit’s Convert HTML ▶ Markdown feature, overwrite the original [TOC] from Step 1 with the conversion result.

(Not as easy as what you want, I realize—just a workaround, if you really hate using [TOC].  Perhaps somone could write a StackEdit extension to automate these steps…)

The HTML code generated is kind of crappy...

Support for [toc] has been dropped in the v5 (https://stackedit.io/app). Please use handlebars templates and helpers to make exotic tocs in your exports.


chore: Restructure package scripts

Purpose
When I added the svelte-query adapter, there many things about Svelte that didn't integrate nicely into the existing tools, including as rollup (svelte-query uses svelte-package), jest (svelte-query uses vitest) and tsc (svelte-query uses svelte-check). Because I wanted to avoid touching other packages as much as possible, I adapted it as best as I could for the time, but planned to come back and restructure some of the package scripts.
Changes

Most scripts can now run on windows in addition to linux
Removed pnpm --no-bail flag as this is true by default
test:jest has been renamed to test:lib, with test:lib:dev for watch mode and test:lib:publish for the CI step without coverage reports
typecheck has been renamed to build:types, and a separate test:types has been added (which runs tsc for most packages, and svelte-check for svelte-query)
rimraf added to replace rm -rf
../../node_modules/.bin/ were removed as these aren't required (maybe this was from pre-pnpm?)
prettier-plugin-svelte has been added to parse svelte files (I ran it when writing my PR, but didn't add it to the project)
Unused jest config removed from query-broadcast-client-experimental (jest throws an error when no tests are present)
build:copyTypes removed from root and moved into react-query-devtools
react-query codemod tests merged with the main lib tests (adding the --collectCoverage flag was causing an error when pnpm tried to run on pnpm run test:codemod && jest --config ./jest.config.ts)

Codecov Report
Base: 96.36% // Head: 91.32% // Decreases project coverage by -5.03% :warning:

Coverage data is based on head (ed2ad33) compared to base (eab6e2c).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4779      +/-   ##
==========================================
- Coverage   96.36%   91.32%   -5.04%
==========================================
  Files          45      110      +65
  Lines        2281     4116    +1835
  Branches      640     1057     +417
==========================================
+ Hits         2198     3759    +1561
- Misses         80      336     +256
- Partials        3       21      +18

Impacted Files
Coverage Δ

src/react/setBatchUpdatesFn.ts

src/react/utils.ts

src/core/focusManager.ts

src/core/infiniteQueryObserver.ts

src/core/hydration.ts

src/react/reactBatchedUpdates.ts

src/core/mutation.ts

src/core/infiniteQueryBehavior.ts

src/react/useQueries.ts

src/devtools/styledComponents.ts

... and 145 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@TkDodo I think this works even though the tests are occasionally failing on react-query - the first commit failed, the second commit passed, and the third one failed again but on a different test

are we sure that tasks that run with pnpm --filter are still being run in parallel ? I can't really tell locally or on CI. But it also might not matter given that the times look identical 🤷

@TkDodo yep quite sure, pnpm runs 4 tasks simultaneously by default. You can see below how it starts the solid-query test, reports progress for some other packages, then reports solid-query as done later.
packages/solid-query test:types$ tsc
.../query-broadcast-client-experimental test:types: Done
packages/svelte-query test:types$ svelte-kit sync && svelte-check --tsconfig ./tsconfig.json
packages/query-persist-client-core test:types: Done
packages/vue-query test:types$ tsc
packages/svelte-query test:types: ====================================
packages/svelte-query test:types: Loading svelte-check in workspace: /home/runner/work/query/query/packages/svelte-query
packages/svelte-query test:types: Getting Svelte diagnostics...
packages/solid-query test:types: Done