Inactivity timeout crashes openvpn but container does not exit

When running the container for ~ 8 hours without using it, Inactivity timeout (--ping-restart), restarting happens and the openvpn tries to reopen the TUN device, failing as it does not use root. This should be investigated. Logs follows:
2020-02-11T12:38:07.588Z        INFO    openvpn: Tue Feb 11 12:38:07 2020 OpenVPN 2.4.8 x86_64-alpine-linux-musl [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Jan  5 2020
2020-02-11T12:38:07.589Z        INFO    openvpn: Tue Feb 11 12:38:07 2020 library versions: OpenSSL 1.1.1d  10 Sep 2019, LZO 2.10
2020-02-11T12:38:07.590Z        INFO    openvpn: Tue Feb 11 12:38:07 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.xxx:1197
2020-02-11T12:38:07.590Z        INFO    openvpn: Tue Feb 11 12:38:07 2020 UDP link local: (not bound)
2020-02-11T12:38:07.590Z        INFO    openvpn: Tue Feb 11 12:38:07 2020 UDP link remote: [AF_INET]xxx.xxx.xxx.xxx:1197
2020-02-11T12:38:07.590Z        INFO    openvpn: Tue Feb 11 12:38:07 2020 NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
2020-02-11T12:38:07.601Z        INFO    openvpn: Tue Feb 11 12:38:07 2020 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
2020-02-11T12:38:07.759Z        INFO    openvpn: Tue Feb 11 12:38:07 2020 [3976a944111aadb23fbf2330fb93add5] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:1197
2020-02-11T12:38:09.023Z        INFO    openvpn: Tue Feb 11 12:38:09 2020 TUN/TAP device tun0 opened
2020-02-11T12:38:09.023Z        INFO    openvpn: Tue Feb 11 12:38:09 2020 /sbin/ip link set dev tun0 up mtu 1500
2020-02-11T12:38:09.024Z        INFO    openvpn: Tue Feb 11 12:38:09 2020 /sbin/ip addr add dev tun0 local <IP_ADDRESS> peer <IP_ADDRESS>
2020-02-11T12:38:09.026Z        INFO    openvpn: Tue Feb 11 12:38:09 2020 UID set to nonrootuser
2020-02-11T12:38:09.026Z        INFO    openvpn: Tue Feb 11 12:38:09 2020 Initialization Sequence Completed
2020-02-11T21:03:18.097Z        INFO    openvpn: Tue Feb 11 21:03:18 2020 [3976a944111aadb23fbf2330fb93add5] Inactivity timeout (--ping-restart), restarting
2020-02-11T21:03:18.105Z        INFO    openvpn: Tue Feb 11 21:03:18 2020 SIGUSR1[soft,ping-restart] received, process restarting
2020-02-11T21:03:28.087Z        INFO    openvpn: Tue Feb 11 21:03:28 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.xxx:1197
2020-02-11T21:03:28.087Z        INFO    openvpn: Tue Feb 11 21:03:28 2020 UDP link local: (not bound)
2020-02-11T21:03:28.087Z        INFO    openvpn: Tue Feb 11 21:03:28 2020 UDP link remote: [AF_INET]xxx.xxx.xxx.xxx:1197
2020-02-11T21:03:28.248Z        INFO    openvpn: Tue Feb 11 21:03:28 2020 [3976a944111aadb23fbf2330fb93add5] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:1197
2020-02-11T21:03:34.382Z        INFO    openvpn: Tue Feb 11 21:03:34 2020 Preserving previous TUN/TAP instance: tun0
2020-02-11T21:03:34.383Z        INFO    openvpn: Tue Feb 11 21:03:34 2020 NOTE: Pulled options changed on restart, will need to close and reopen TUN/TAP device.
2020-02-11T21:03:34.386Z        INFO    openvpn: Tue Feb 11 21:03:34 2020 ERROR: Linux route delete command failed: external program exited with error status: 2
2020-02-11T21:03:34.386Z        INFO    openvpn: Tue Feb 11 21:03:34 2020 ERROR: Linux route delete command failed: external program exited with error status: 2
2020-02-11T21:03:34.387Z        INFO    openvpn: Tue Feb 11 21:03:34 2020 ERROR: Linux route delete command failed: external program exited with error status: 2
2020-02-11T21:03:34.387Z        INFO    openvpn: Tue Feb 11 21:03:34 2020 ERROR: Linux route delete command failed: external program exited with error status: 2
2020-02-11T21:03:34.387Z        INFO    openvpn: Tue Feb 11 21:03:34 2020 /sbin/ip addr del dev tun0 local <IP_ADDRESS> peer <IP_ADDRESS>
2020-02-11T21:03:34.387Z        INFO    openvpn: Tue Feb 11 21:03:34 2020 Linux ip addr del failed: external program exited with error status: 2
2020-02-11T21:03:35.423Z        INFO    openvpn: Tue Feb 11 21:03:35 2020 ERROR: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1)
2020-02-11T21:03:35.423Z        INFO    openvpn: Tue Feb 11 21:03:35 2020 Exiting due to fatal error

Solutions to implement:

~Exit Go program when openvpn process fails (that should be done anyway), and leave the restart to the Docker daemon~
Either disable this activity timeout OR do a ping github.com every hour to prevent the inactivity timeout

any workaround ahead of a fix?

I believe it should now crash the container if openvpn fails, allowing Docker to restart it.
There is also the regular ping setting now enabled in the mullvad branch, which I'll merge in the latest docker tag in a few minutes.
Do you mind sharing your log or describe what problem you have in more details (as I'm not encountering the problem myself anymore). Thanks!

Problem still not fixed. Latest image.
 2020-03-18T22:13:00.181Z	INFO	openvpn: Wed Mar 18 22:13:00 2020 [3a51ae90324bcb0719cb399b650c64d4] Inactivity timeout (--ping-restart), restarting, 2020-03-18T22:13:00.183Z	INFO	openvpn: Wed Mar 18 22:13:00 2020 SIGUSR1[soft,ping-restart] received, process restarting, 2020-03-18T22:13:10.190Z	INFO	openvpn: Wed Mar 18 22:13:10 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]<IP_ADDRESS>:1197, 2020-03-18T22:13:10.190Z	INFO	openvpn: Wed Mar 18 22:13:10 2020 UDP link local: (not bound), 2020-03-18T22:13:10.190Z	INFO	openvpn: Wed Mar 18 22:13:10 2020 UDP link remote: [AF_INET]<IP_ADDRESS>:1197, 2020-03-18T22:13:11.033Z	INFO	openvpn: Wed Mar 18 22:13:11 2020 WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1570', remote='link-mtu 1542', 2020-03-18T22:13:11.034Z	INFO	openvpn: Wed Mar 18 22:13:11 2020 WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher BF-CBC', 2020-03-18T22:13:11.034Z	INFO	openvpn: Wed Mar 18 22:13:11 2020 WARNING: 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA1', 2020-03-18T22:13:11.034Z	INFO	openvpn: Wed Mar 18 22:13:11 2020 WARNING: 'keysize' is used inconsistently, local='keysize 256', remote='keysize 128', 2020-03-18T22:13:11.034Z	INFO	openvpn: Wed Mar 18 22:13:11 2020 [3a51ae90324bcb0719cb399b650c64d4] Peer Connection Initiated with [AF_INET]<IP_ADDRESS>:1197, 2020-03-18T22:13:17.241Z	INFO	openvpn: Wed Mar 18 22:13:17 2020 Preserving previous TUN/TAP instance: tun0, 2020-03-18T22:13:17.241Z	INFO	openvpn: Wed Mar 18 22:13:17 2020 NOTE: Pulled options changed on restart, will need to close and reopen TUN/TAP device., 2020-03-18T22:13:17.259Z	INFO	openvpn: Wed Mar 18 22:13:17 2020 ERROR: Linux route delete command failed: external program exited with error status: 2, 2020-03-18T22:13:17.262Z	INFO	openvpn: Wed Mar 18 22:13:17 2020 ERROR: Linux route delete command failed: external program exited with error status: 2, 2020-03-18T22:13:17.266Z	INFO	openvpn: Wed Mar 18 22:13:17 2020 ERROR: Linux route delete command failed: external program exited with error status: 2, 2020-03-18T22:13:17.268Z	INFO	openvpn: Wed Mar 18 22:13:17 2020 ERROR: Linux route delete command failed: external program exited with error status: 2, 2020-03-18T22:13:17.269Z	INFO	openvpn: Wed Mar 18 22:13:17 2020 /sbin/ip addr del dev tun0 local <IP_ADDRESS> peer <IP_ADDRESS>, 2020-03-18T22:13:17.272Z	INFO	openvpn: Wed Mar 18 22:13:17 2020 Linux ip addr del failed: external program exited with error status: 2, 2020-03-18T22:13:18.330Z	INFO	openvpn: Wed Mar 18 22:13:18 2020 ERROR: Cannot ioctl TUNSETIFF tun: Operation not permitted (errno=1), 2020-03-18T22:13:18.330Z	INFO	openvpn: Wed Mar 18 22:13:18 2020 Exiting due to fatal error, 2020-03-18T22:13:18.337Z	ERROR	exit status 1
If you need anything more @qdm12, just let me know; happened to me couple of times today.

It might be related to this issue on Reddit, probably a problem on PIA's side not answering pings for whatever reason.
Plus

Pulled options changed on restart, will need to close and reopen TUN/TAP device

seems to point out PIA changed their config on their server... 😕
So now there are two options:

ideally, you set the restart Docker option to always but then I assume your other containers would lose their connection right?
set (back as it existed before) an environment variable to run openvpn as root such that it can do root things (ip routing, tun device etc.) if the timeout occurs.

Please confirm if 1 does not work and I will implement 2 (relatively quickly)

Yeah, that’s what I thought – a permissions issue.
Can confirm that 1st option results in other containers losing connection.
In the 2nd option – how would that work in case of saving a forwarded port to a file? Right now I have a script that reads the file and puts the port in the config when the other container is starting, so I guess it would have be changed to read the file periodically?
Thanks!

Indeed, what you can do is something similar to this which should be working, I don't really see an alternative as the port forwarded previously will probably no longer work.
I'll start changing the code now.

Done 😉  It's building here or you can build it yourself if you're impatient docker build -t qmcgaw/private-internet-access https://github/qdm12/private-internet-access-docker.git
And then set the environment variable OPENVPN_ROOT=yes

Thanks so much! Will give it a spin tomorrow! :)


:memo: Change Description to "Next-Gen" instead of "Fast"?

Potential replacements:

Next-Gen / Next Generation
Simple
For Humans
Easy
Painless

Or "Simple"?

Also, refer to neoclient as a "framework", rather than a "library"

Closing as won't do for now as it doesn't bother me enough to change it


useProfile not responding with data from observerid

Describe the bug
I have an observerdId in my UseProfile hook like this:
const { data, loading, error } = useProfile({
handle: handle as string,
observerId: currentClubProfileId?._hex as ProfileId,
})
Expected result is that it should give me the data back from the profiled in my observerId. But it doesn't.
To Reproduce
Follow a profile on lenster, useProfile for that profile and insert your profileId as observer and see if isFollwedByMe returns true. cause for me it doesnt.
Expected behaviuor
It should reflect the data from the observerProfile
Version of the packages you are using
"@lens-protocol/react-web": "^1.0.1",
"@lens-protocol/wagmi": "^1.0.1",
Additional context
Here is a link to a demo of the issue:
https://drive.google.com/file/d/1GPH4hBF7Ckvu__6xeOJUVeTjhOIghqpc/view?usp=sharing

Hi @chazzaoui thank you for taking the time to document this.
When you said:

Expected result is that it should give me the data back from the profiled in my observerId.

If I understand correctly you are expecting the useProfile to return profile data of the profile specified as Observer ID.
Expected result is that it should give me the data back from the profiled in my observerId.
I totally understand this is not fully documented yet, but the observer ID does not serve this purpose. The Observer ID is the profile that is, sort to say, "watching the data". This is necessary in order to customize some of the fields so that they show the relationship between the observed profile (the one we are aiming to retrieve) and the profile that observes it (usually the logged-in user profile).
Think of it as the subject that is watching the data.
Since v0.6.0 we auto-wired the current Active Profile ID into it [^1].
So with exception of very rare use cases you should not worry about providing an observerId.
We didn't get yet to fully document the useProfile hook, but in the reference you will find that several other hooks do accept the observerId, take for example useExplorePublications for which we already have comprehensive reference documentation here.
Coming back at your query, what you want to use here is profileId:
const { execute, error, isPending } = useProfile({
  profileId: currentClubProfileId?._hex as ProfileId
})

Bear in mind that useProfile accepts profileId OR handle, it will throw a dev friendly error to let you know that are mutually exclusive. So you don't need the handle at all.
[^1] there is a relatively new documentation page explaining the Active Profile and how it works with the current logged-in wallet: https://docs.lens.xyz/docs/profile-management

Thank you for the thorough response!
I think I failed to convey my issue in my original post. I believe I understand correctly that the observerId is meant to customize some of the fields to show the relationship between the observed profile and the profile that observes it, but in this case, it does not work as expected. Could this be a bug?
Additionally, I want to clarify that we do not use the API to authenticate, which is why we need to use the observerId to force the perspective.
const { data, loading, error } = useProfile({
        handle: 'bugsmasher.lens',
        observerId: '0x01a572' as ProfileId
    })
// `data.isFollowedByMe` should be true, but it isn't

Ah ok, thank you for clarifying, and I fully understand the issue now. I can see you do have a good grasp of the SDK and APIs, so I hope you don't mind the proper explainer.
I hope I can give you enough context so we can find a solution that works in you case and hopefully make things better for others as well.
Present: Wallets-follow-Profiles
In the current version of the Lens Protocol the actor who follows is technically a Wallet and not a Lens Profile. This is due to the underlying nature of a follow relationship, which is modelled as an NFT. NFTs are hold into the user's wallet. Profile are also NFTs hold into user's wallet. This was a decision made back in the days to stay true to the underlying NFT spec (i.e. ERC-721).
The implications of this is that Wallet is currently a central part to the definition of a social graph on Lens. A Wallet can hold 1 or many Lens Profile. A Wallet can hold 1 or many Follow relationships (NFT) with Lens profiles and conversely a Lens Profile
can be followed by many Wallets [^1].
(Near) future: Profiles-follow-Profiles
We think this is not ideal, and that profiles-follow-profiles is a better way to express the relationship in a social graph. We are working on making this possible at the Lens Protocol level. We will make clear communication once this is possible.
In the meantime
In the meantime we made some adjustments a the Lens API and Lens SDK level so to start bridging the gap between the current Lens protocol constraints and the future iteration.
The "observer" concept in the Lens SDK is part of this. Currently for profile queries it does impact just one edge called isFollowingObserver which returns true if the observed profile (the wallet owner of the observed profile to be precise) is following the observer profile.
The isFollowedByMe instead, is still surfacing the underlying wallets-follow-profiles. I understand this is not ideal. It basically tells you if the authenticated wallet is following the observed profile.
I can see 2 way to address this:
a) can your UX change so to login the user (via the useWalletLogin)? This will work out of the box and the isFollowedByMe  edge will return true as you expect it (you won't need to provide an observerId as per my previous comment).
OR
b) we need to create a new field (e.g. isFollowedByObserver) which does what is says on the tin.
What do you think? If you have any other ideas/suggestion, please let me know.
[^1]: You might have noticed some Lens API features that foes under the label "default profile". This was and interim attempt to overcome the fact that, although profiles are followed by wallets, any meaningful UI wants to show a profile. So the default profile feature was meant to allow UIs to build a way for user's to define the default profile to show when an action is associated with their wallet  (follow, but also collect). Since then we are progressing the Lens Protocol so that Lens profile will be the "actor" of those actions so the "default profile" feature will be decommissioned at some point. It's not even exposed directly by the Lens SDK cause it will become obsolete soon, so we just didn't want to promote it.

Thank you for the suggestions! And for helping make this better for the developers building on top of lens.
The following helped to figure this out for us:

This is due to the underlying nature of a follow relationship, which is modelled as an NFT. NFTs are hold into the user's wallet. Profile are also NFTs hold into user's wallet.

Since we are directly talking to the lens contract, we will just read through the follow NFTs and check whether the observer is a holder.


Keys Create API

What is the current behavior?

What's happening that seems wrong?

Calling into the keys.create API with a set of values that I thought would work (works when manually POSTing using the requests library) seems to silently fail.
Steps to reproduce
initialized deepgram client:
dg = Deepgram({"api_key": "xxxx", "raise_warnings_as_errors": True})

calling into the API
# no expiration date, with ttl
In [33]: await dg.keys.create(proj, "hihi", ["usage:write"], [], None, 500)
# 0 ttl, with expiration date
In [34]: await dg.keys.create(proj, "hihi", ["usage:write"], [], "2023-11-24", 0)
# none ttl, with expiration date
In [35]: await dg.keys.create(proj, "hihi", ["usage:write"], [], "2023-11-24", None)

Expected behavior
~Expected a response, or heck even a DeepgramApiError would be nice.~
Okay well, it seems like a few things were off with the shape:

empty list for tags needed to be None
expiration date needed more specificity (time/tz), which is not intuitive since the API sandbox seems to offer just the date as an example payload

So really the expected behavior would be to get some error with the messaging from the API response.
eg. b'{"category":"INVALID_JSON","message":"Invalid JSON submitted.","details":"Json deserialize error: input is not enough for unique date and time at line 1 column 103","request_id":"93edab6f-2873-4e6d-9610-259fd82f0a17"}'
Tangential, but IMO, optional kwargs would be more intuitive than expecting to pass None (at least, typing it as Optional[xxx] would be nice instead of just guessing that I'm supposed to pass None)
All in all, figured it out, so I'm all good here, so just want to provide this feedback to help anyone in the future setting up! Thanks y'all
Please tell us about your environment

Operating System/Version: MacOS Sonoma 14.1
Language: Python
deepgram-sdk==2.12.0

Best to take a look at the documentation
https://developers.deepgram.com/reference/create-key
{
  "scopes": [
    "admin"
  ],
  "comment": "My comment"
}

@ac50934 were you able to get this working? If you use the 3.0.0 release, there are input classes to help you out with this and no longer need to interact with json directly.

@dvonthenen thanks for the reply, I got it working as mentioned, the 2 concerns were:

it was unclear from the docs how to handle optional API parameters (but are required by the Python client)
it would have been helpful to figure out the above issue ^ if the client was raising the INVALID_JSON errors from the API

Perhaps these are fixed with the upcoming release, but I just wanted to share those pieces of feedback is all :) Thanks!


[Bug Fix]show partitions add absence column for filter columns check

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

[FE PR Coverage Check]
:heart_eyes: pass : 10 / 10 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/ShowStmtAnalyzer.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/analysis/ShowPartitionsStmt.java
8
8
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 8 / 8 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/ShowStmtAnalyzer.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/analysis/ShowPartitionsStmt.java
6
6
100.00%
[]

run starrocks_admit_test


[FEAT] Schedule to the hour / minute / second level

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context or screenshots about the feature request here.

I need  1m 6m 10m....

Currently, I'm forced to select if the card was hard / normal / easy. However, very often, I'd like to replay all my cards in the deck. > But, even if I choose hard, I should wait some days. What if I don't want to wait at all?
Current workaround: remove the  lines from the source. But it's a pain.
Request: next to hard / normal / easy, there should be a "Next" button that doesn't register anything in the .md source code. This way the deck could be replayed immediately, without waiting.

For the love of god, this needs to be implemented. One solution would be to allow changing the interval from hard to hours, minutes, or even seconds.
Waiting a whole day is so painful and unproductive.

Comments from closed issue

Waiting one full day before re - reviewing flashcards is too much. It would be much better if again = 1 min and hard = 10 min. It's the one thing, that prevents me from using this otherwise awesome plugin.

Comment from #502 discussion

this is very much needed and the only reason why I sometimes switch back to Anki to more out of my cards without having to delete a line to review it every single time.
I really hope this will be a feature in the coming updates.
Thanks for this wonderful plugin by the way!

THIS HAS TO HAPPEN URGENTLY!
Sorry you're all very kind and lovely people, this got me just a bit aggressive though.  Now open main.js, than go to line 1882 or search for:
due = window.moment(Date.now()+ interval * 24 * 3600 * 1e3);
This variable sets the time when this card should be revisited. Now remove the second summand like:
due = window.moment(Date.now());
Save the file, and if you had Obsidian open, restart it.
You will notice that the html comment that is inserted after every question will have the date of today. However, the plugin kinda has a second way of saving when the questions are due, so this will work only one time in a Obsidian Session. However this memory will be deleted when Obsidian is closed.
Still, this works a bit better than going through the files and removing every comment.
Waiting for a official solution, please!

I'm happy to announce that this feature is now available as a Beta. The feature is still in early stages, and I'm looking for beta users to help validate functionality / try and break it. Specifically, there are several types of flashcards (i.e. Clozes, Card contexts, images, etc.) that I don't use. Therefore, it would be much appreciated if someone who uses those types regularly can vet the feature's functionality. Of course, being in the beta stage, there will likely be bugs. Please be sure to back up your vault before using this feature, or just make a separate vault to experiment with.
Special thanks to AB1908 for all their help in getting the feature ready for release as a beta.
The plugin must be installed manually or from BRAT with this link: https://github.com/psaunderualberta/obsidian-spaced-repetition/. Installing should work, but please message me if it doesn't.

Great to see that this feature is in Beta! May I ask if this is approaching readiness for wider release?

You can subscribe to the thread regarding this pull request https://github.com/st3v3nmw/obsidian-spaced-repetition/pull/569

Any updates on this feature request? This is the only functionality needed for me to swap entirely from Anki to this plugin for my use cases.


CI build failed.

See https://circleci.com/gh/monya-wallet/monya/516 .

cp: cannot stat 'docs/wallet/*': No such file or directory

It was caused by copying files in the removed directory, even though I have no idea why previous builds are succeeded.

Thanks.
Fixed in this commit
https://github.com/monya-wallet/monya/commit/6dc27ea9154048df0f74ea82f8e046d5f4540326


feat(no-touch): add no-touch class if not on mobile

（：。）ミ
^ i shall call him squishy and he shall be mine and he shall be my squishy
fixes #55

ready for review!


pip install cogsworth[all]  - zsh: no matches found: cogsworth[all]

Which documentation page is causing an issue?
Please include the URL of the page
Gaia colour-magnitude diagram
A colour-magnitude diagram using simulated photometry for Gaia.
https://cogsworth.readthedocs.io/en/latest/auto_examples/plot_cmd.html#sphx-glr-auto-examples-plot-cmd-py
What is the problem?
Please quote the section and explain either what is misleading/unclear or point out the mistake
ImportError: isochrones required for observables predictions with cogsworth
Either install this package directly, or install all optional cogsworth dependencies with pip install cogsworth[all]
Suggested solution (optional)
Suggest how this problem would be solved
Either install this package directly, or install all optional cogsworth dependencies with pip install cogsworth[all]

I'm going to close this since it appears to be the same issue as #135 so we can track it there.


.NET Core Sdk app/lib require a build before intellisense works

Opening a new project, or cloned, or just restored, the intellisense doesnt work.
Affect projects created with the .NET Core Sdks:

project.json based (preview2, preview2.1)
msbuild based, so fsproj (preview3, preview4, ..)

Repro
dotnet new -l fsharp
dotnet restore
code .

Expected
Intellisense works
Actual
Intellisense doesnt work.
Workaround
Do a dotnet build BEFORE opening VS Code.
So the following works:
dotnet new -l fsharp
dotnet restore
dotnet build
code .

Why/TODO
That happen becauseFSAC read the response file generated after build to initialize FCS.
So no build, no response files.
Ideas for minor improvements /cc @Krzysztof-Cieslak @cloudRoutine for ideas

[ ] watch after build if the response file exists, and reload it ?
[ ] reinitialize FCS after build ?
[ ] watch the response file found, and reinitialize if changed?

I figured I would comment here rather than xunit/xunit#859 since it seems more appropriate, but I upgraded dotnet core to preview4-004233 and did dotnet restore and dotnet build before opening vscode, but it still is showing errors where there is none, mainly references to packages or modules within the root namespace. Is there a step I am missing?
Additional Info:
VS Code Version => 1.8.1
Ionide-fsharp Version => 2.14.0
dotnet version => preview4-004233
OS => macOS Sierra 10.12.1

@czifro can you check your fsproj is similar to these generated by dotnet new -l fsharp ? Or can i see the proj?

Here is my fsproj: https://github.com/czifro-tech/mudt/blob/master/fsharp/src/MUDT.fsproj

Problem is you are using an fsproj for preview3.
Please change it like preview dotnet new -l fsharp -t lib ( so Sdk attribute, no imports and use fsharp.net.sdk 1.0.0-beta-*)
I'll try to fix it tomorrow If you cannot

That fixed it. Thank you!

Done! fixed with 2.25.1
just dotnet restore is required.


Delete unneeded line for Faker::Internet.password

There is a bug in Faker::Internet.password.
#password method receives min_length and max_length parameters.
But max_length is disabled and password length is forced to min_length because of this line.
temp = temp[0..min_length] if min_length > 0

After deleted this line, generated password length become random. And all tests have passed.
It is difficult to add test about this issue because of randomness.

:+1: I just spotted the same. Actually it forces it to be length min_length or min_length + 1 but still clearly not the intended behaviour.


Should tslib be in peerDependencies or just dependencies when building a library?

I am building nodejs typescript library.
What is the official recommendation of where to put tslib: peerDependencies or dependencies and why?

dependencies. If you are building a TS package and enable importHelpers, then tslib is a hard dependency and must be installed for those using your package, as though you had imported it yourself like any other library.

@jakebailey Just to be clear, is this the official recommendation even in the monorepo context as well? Say I have a monorepo with 2 projects that are shipped to end-users: P1, P2 and libraries in the monorepo, used by those projects: L1, L2. Everything is written in TypeScript, libraries are not published in NPM, same TS/tslib version everywhere.
My approach so far has been:

P1, P2 list tslib in dependencies
L1, L2 list tslib in peerDependencies (and sometimes devDependencies, if the library has tests and is compiled independently in CI to run the tests)

Feels like this is similar to e.g. react or express in shared libraries — we need them in runtime, but it's the consuming package that needs to provide those peerDependencies. Otherwise (i.e. listing tslib in dependencies might easily result in multiple copies of tslib in the bundle in the frontend code).
TL;DR: I think that it makes sense to keep tslib in peerDependencies when building a library (especially in the monorepo context, where you control all versions of TS etc.)

I don't think it makes more sense, no. My personal mental model of peer deps is "this package augments or plugs into this other package". Some package managers (like yarn) don't auto install peers, shifting the burden of installing them onto downstream users. But, ideally, no user should ever be able to observe that you're using tslib or not; it's just a choice when compiling the code to share the helpers. It may even be the case that some package needs one version, while another package needs a different one. If they are the same, package managers are smart enough to dedupe (and usually it's only a v1/v2 thing).
Of course, in your private monorepo, you are free to do whatever you want. You can control the versions and the package manager.


Tobits deprecation

Fixes last deprecation existing in chiselTests
Fixes issue #202 and #149

LGTM. Though you do have to make it merge-able again...
It would be nice if we could give a better description of asUInt, especially with regards to ordering in an Aggregate to UInt conversion.


CIS-5.7.3 - wrong fix path capabilities.drop

Actual:
securityContext:
    capabilities:
        drop: NET_RAW

Expected:
securityContext:
    capabilities:
      drop:
        - NET_RAW

It also removes the previous values.
Playground screenshot

fixed in #230


Override getNextValue function

What would the code for this machine look like if it were written without using the generateOutput function?
This means we must override the getNextValue function.
Please make separate branch for this to compare the efficiency with current method.
Find a way to preserve the error handling.
Rebase for any updates on the main branch

when we use the full override of the getNextValue function the try and except in that override prevents the raised exceptions detected by the test.
This is because the exception is being handled by the try-except :
Options:

change the test requirements
or cancel the total override of the getNextValues

The original getNextValues can still raise the exception because the ones expecting them is their super class function.


Docker trigger shouldn't block

The docker trigger was blocking until "openstack-mkcloud" succeeded.
That doesn't currently happen to often and in that case the docker
trigger was blocking the slave "cloud-trackupstream-sle12".
That slave is also used for pr testing which doesn't work then.

I believe if it doesn't block then it doesn't report the status - which was the thing that we wanted to have :/

Right, it needs to block in order to report the status.
I am solving this issue differently now by introducing a new worker VM that 'only' runs triggers (50 to 100) which can block.
Therefore I give this PR:  :-1:

@jdsn ok. thanks for solving that!

triggers have been moved to a dedicated node now - so this issue is fixed (differently)


enable renderdoc capture cause steam game "Shadow of the Tomb Raider" rendering corruption on RADV driver

Description
different version of renderdoc behavious diffenrently on this issue, version 1.25 simply doesn't show capture options. I have to use 1.18 to enable capture.
Steps to reproduce

start a terminal on Ubuntu 22.04.
export ENABLE_VULKAN_RENDERDOC_CAPTURE=1
start steam in the same terminal. choose the game.
select the "Manage---> Properties--->Compatibility---> Force the use of a specific SteamPlay compatibility tool"
check the "Force the use of specific Steam Play compatibility tool" box and select the Proton version -> "7.0-6"
close the window and the game should Update automatically, if not manually click the updated bottom of the game
once the game finishes update, start the game, in the launch menu go to options and  Unselect DirectX12
to start the benchmark: "Options->  Display and Graphics -> "Run Benchmark'/ or Press "R"
you will notice the corruption.

Environment

RenderDoc version: 1.18
Operating System: ubuntu22.04
Graphics API: DX11 over Proton

I'm using 6900XT on this issue, amdvlk driver always render corrupted looks similar to how renderdoc enabled on RADV, but without renderdoc enabled RADV renders correctly, you can also use the vulkan version(default option on ubuntu without enable proton) of the game to see the correct rendering. also please make sure "DX12" unselect in the game panel, it crashes on both RADV and AMDVLK. if you are busy, please share you idea, I'd like to understand the issue in renderdoc

RenderDoc is only intended for capturing your own programs. Capturing programs that are not your own is not endorsed or allowed for any reason, and I will provide absolutely no support for it.


Set up a workflow to publish the source files as a web site

@kezhenxu94 Could you add a quick summary about the this workflow?
I cannot find the website from alc-beijing.github.io.

This workflow builds and uploads the generated html files into the branch gh-pages in this repo, which automatically serves as the web site, we don't need to care about alc-beijing.github.io any more, and it should be deleted now

How can we access the website?

Thx for the information, just a quick question.
How can we access the website?

https://alc-beijing.github.io/alc-site/


Pedigree chart

Can drawio support pedigree chart? It is important in medical.

It's not natively supported, no.


(jenkins) Adds Jenkins package

Description
This migrates the jenkins package to the community packages GitHub repository.
It also has some odd upgrade logic within the package, due to the changes to the MSI installer in the meantime. This should be reviewed carefully.
The single most annoying part of this change is that we have moved from an embedded version of JRE to requiring a separate install - however, we feel that we cannot enforce a single specific dependency. We have ensured that the package will fail if we can't find a version of JRE, but this may still result in unexpected failures in upgrade all scenarios that are pointing at CCR.
I'm very happy to discuss this further, though the way it is now reflects a lot of offline conversation.
Motivation and Context
This package migrates a "critical Chocolatey Software package" to this community maintained repository.
Adds to #1904
This PR replaces #2064 which couldn't be reopened due to my rebase / force-pushing.
How Has this Been Tested?

Tested the update script locally
Tested installing the upgrade package over the last available CCR version
Tested installing the package clean

Types of changes

~[ ] Bug fix (non-breaking change which fixes an issue)~
~[ ] New feature (non-breaking change which adds functionality)~
~[ ] Breaking change (fix or feature that would cause existing functionality to change)~
[x] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[x] My change requires a change to documentation (this usually means the notes in the description of a package).
~[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).~
~[ ] I have updated the package description and it is less than 4000 characters.~
[x] All files are up to date with the latest Contributing Guidelines
[x] The added/modified package passed install/uninstall in the chocolatey test environment.
[x] The changes only affect a single package (not including meta package).

Original Location

Original Repository: Chocolatey Internal Automatic Packages Repository
[x] Internal: Please see !13
[x] The migration guidelines have been followed

:white_check_mark: Package verification completed without issues. PR is now pending human review

Tested this package internally with a Quick Start Guide test VM. Was able to upgrade Jenkins successfully as well as install Jenkins from scratch successfully using this package.

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review

:white_check_mark: Package verification completed without issues. PR is now pending human review


Fix #132 module_file() freeze

@zchee Ping.

@RageYL Please test it.

I can confirm the issue has been fixed ! Thanks

Rebased.
@zchee Ping

@Shougo I’ll check it tomorrow, thanks.

@zchee Ping.

What issue is this about?
@Shougo
Can you link to or provide a test case?

Ah, https://github.com/zchee/deoplete-jedi/issues/132.
Since it is confirmed by the reporter I think we should merge it.

OK.  I will merge it later when flake8 error is fixed.

Merged.


make undo and redo buttons work

Change Summary

Connect editor's undo and redo with the menu-bar buttons [ resolves #108 ]
Connect editor's cut and copy to the menu bar buttons [ resolves #111 ]

paste can't work for web. even though I remember in google we solved it somehow. still need to investigate.

Implemented a loading splash screen with kibibit's logo :-) [ resolves #110 ]

More info
Later, this will be inside the stateService object, which will save the current state (and won't be saved to the server like the settingsService should)

[x] did you link this PR to an issue?
[x] did you lint your changes to both javascript and scss?
[x] "I'm pretty sure I'll be able to read and understand this PR, even if I wasn't the author." - said the PR author

BASE DEMO: https://kibibit-demo.herokuapp.com/
MODIFIED DEMO: https://kibibit-demo-pr-109.herokuapp.com/

This change is

what about the [still need to open a bug for this!] comments? ;-)

@ortichon , that's because it was added later since you took your time with the code-review... 😝

LGTM


Hide CachedArtifactError to users

For example, currently on https://huggingface.co/datasets/ProGamerGov/synthetic-dataset-1m-dalle3-high-quality-captions
Cannot load the dataset split (in streaming mode) to extract the first rows.

Error code:   StreamingRowsError
Exception:    KeyError
Message:      'jpeg'
Traceback:    Traceback (most recent call last):
                File "/src/services/worker/src/worker/job_runners/split/first_rows.py", line 322, in compute
                  compute_first_rows_from_parquet_response(
                File "/src/services/worker/src/worker/job_runners/split/first_rows.py", line 88, in compute_first_rows_from_parquet_response
                  rows_index = indexer.get_rows_index(
                File "/src/libs/libcommon/src/libcommon/parquet_utils.py", line 640, in get_rows_index
                  return RowsIndex(
                File "/src/libs/libcommon/src/libcommon/parquet_utils.py", line 521, in __init__
                  self.parquet_index = self._init_parquet_index(
                File "/src/libs/libcommon/src/libcommon/parquet_utils.py", line 538, in _init_parquet_index
                  response = get_previous_step_or_raise(
                File "/src/libs/libcommon/src/libcommon/simple_cache.py", line 591, in get_previous_step_or_raise
                  raise CachedArtifactError(
              libcommon.simple_cache.CachedArtifactError: The previous step failed.

              During handling of the above exception, another exception occurred:

              Traceback (most recent call last):
                File "/src/services/worker/src/worker/utils.py", line 96, in get_rows_or_raise
                  return get_rows(
                File "/src/libs/libcommon/src/libcommon/utils.py", line 197, in decorator
                  return func(*args, **kwargs)
                File "/src/services/worker/src/worker/utils.py", line 73, in get_rows
                  rows_plus_one = list(itertools.islice(ds, rows_max_number + 1))
                File "/src/services/worker/.venv/lib/python3.9/site-packages/datasets/iterable_dataset.py", line 1816, in __iter__
                  for key, example in ex_iterable:
                File "/src/services/worker/.venv/lib/python3.9/site-packages/datasets/iterable_dataset.py", line 238, in __iter__
                  for key_example in islice(self.generate_examples_fn(**gen_kwags), shard_example_idx_start, None):
                File "/src/services/worker/.venv/lib/python3.9/site-packages/datasets/packaged_modules/webdataset/webdataset.py", line 115, in _generate_examples
                  example[field_name] = {"path": example["__key__"] + "." + field_name, "bytes": example[field_name]}
              KeyError: 'jpeg'

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

better!
Before

After


ci: enable all tests and cache artifacts

This is great.
I will be taking care of the failing tests today. We can keep this open until they are all taken care of. Or, we can merge it and I'll take care of the failing tests after.
I'm okay with any.

I will be taking care of the failing tests today. We can keep this open until they are all taken care of. Or, we can merge it and I'll take care of the failing tests after.

Saw your comment too late.
I now just removed the failing tests.
Let's add equivalent ones as we go :)

I will be taking care of the failing tests today. We can keep this open until they are all taken care of. Or, we can merge it and I'll take care of the failing tests after.

Saw your comment too late.
I now just removed the failing tests.
Let's add equivalent ones as we go :)

Sounds good!


Add app builder

@atoulme Can you bump the version here as well so I can publish the fix to hex?

Added as separate commit just now.

https://hex.pm/packages/libsecp256k1


Consider Timeout Settings

There are two ways to integrate the tracking client. One way is as an npm install script. For example:
https://github.com/cloudant-labs/location-tracker-nodejs/blob/master/package.json#L8
In this scenario, if the Deployment Tracker service is unavailable then I believe that the Node.js script will block until the the request times out. This could slow down deployments when/if the Deployment Tracker service is unavailable. Consider setting a low timeout (e.g. 5 seconds) on the HTTP request to the Deployment Tracker service (https://github.com/IBM-Bluemix/cf-deployment-tracker-client-node/blob/master/tracker.js#L40).

Passing a value of timeout (say 30000) into Restler will allow the library to fail gracefully if the tracking service is slow or unavailable. You can also listen for a timeout event emitted by the library, but I would recommend failing silently - the user of our apps would not necessarily concerned if the tracking service had timed out!.


404 page

Is your feature request related to a problem? Please describe.
Whenever we enter a route which doesn't exists then the page is shows only navbar and search bar and remains blank below it.
Describe the solution you'd like
I think we need to tell user that the page they are referring doesn't exists.
So i would like to build 404 page which tells user that the page doesn't exists.
Describe alternatives you've considered
And i have an idea to show random recipes to the user on this 404 page.
Additional context
This is how it looks as of now when page doesn't exists -

You can work on this @s-vamshi Thanks for your interest in this project!

@roopeshsn
This is how 404 page looks in desktop -

And in mobile -

Is this ok?

Hi, @s-vamshi This 404 page looks cluttered and aligned to our application theme. It will be good if you adopt a minimal design.

Hi, @s-vamshi This 404 page looks cluttered and aligned to our application theme. It will be good if you adopt a minimal design.

And should I remove the random dishes component or should i make any changes to it?, any thoughts on this?

@roopeshsn got it and working on it.

Is it ok?
Desktop view -

Mobile view -

It will be nice if it was at the center of the page. Also the font weight of the "Take me home" text can be reduced.

I have made the changes can you please check?


Incorrectly reports that docker is not found on docker-container error

Are you certain it's a bug?

[X] Yes, I'm using the latest plugin release

Is there an existing issue for this?

[X] I have searched existing issues, it hasn't been reported yet

Issue description
Currently, if an error is raised within a docker container (such as missing python bin), then the error raised to the user is docker not found! Please install it even if it exists.  Found by referencing a python3.9 image while using serverless file configured for python3.8.
This error is misleading, as it leads a developer to investigate getting the docker CLI onto their path within their development environment, rather than correctly investigating the issue within the container.
Service configuration (serverless.yml) content
service: aws-python-rest-api

frameworkVersion: '3'

plugins:
  - serverless-python-requirements

custom:
  pythonRequirements:
    usePipenv: true
    usePoetry: false
    dockerImage: public.ecr.aws/sam/build-python3.9:latest-x86_64
    dockerizePip: true

provider:
  name: aws
  runtime: python3.8

functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: /
          method: get

Command name and used flags
serverless package
Command output
Run serverless package --verbose

Packaging aws-python-rest-api for stage dev (us-east-1)

Generating requirements.txt from Pipfile
Parsed requirements.txt from Pipfile in /home/runner/work/example/example/.serverless/requirements.txt
Installing requirements from "/home/runner/.cache/serverless-python-requirements/487616df2faf4e5d7376ec4f48b2975119acdddd9b98f821e416bc7e8e11d57f_x86_64_slspyc/requirements.txt"
Docker Image: public.ecr.aws/sam/build-python3.9:latest-x86_64
Using download cache directory /home/runner/.cache/serverless-python-requirements/downloadCacheslspyc
Running docker run --rm -v /home/runner/.cache/serverless-python-requirements/487616df2faf4e5d7376ec4f48b2975119acdddd9b98f821e416bc7e8e11d57f_x86_64_slspyc\:/var/task\:z -v /home/runner/.cache/serverless-python-requirements/downloadCacheslspyc\:/var/useDownloadCache\:z public.ecr.aws/sam/build-python3.9\:latest-x86_64 /bin/sh -c 'chown -R 0\\:0 /var/useDownloadCache && python3.8 -m pip install -t /var/task/ -r /var/task/requirements.txt --cache-dir /var/useDownloadCache && chown -R 1000\\:1000 /var/task && chown -R 1000\\:1000 /var/useDownloadCache && find /var/task -name \\*.so -exec strip \\{\\} \\;'...
Environment: linux, node 20.5.1, framework 3.33.0 (local), plugin 6.2.3, SDK 4.3.2
Credentials: Local, environment variables
Docs:        docs.serverless.com
Support:     forum.serverless.com
Error:
docker not found! Please install it
Bugs:        github.com/serverless/serverless/issues

Environment information
Framework Core: 3.33.0 (local)
Plugin: 6.2.3
SDK: 4.3.2

Seeing the same issue with python3.11, but I think it may be the python-requirements plugin responsible?

I have exactly the same error using Ubuntu and MacOS


Cloud support deltalake

This PR pulls in updates from delta-rs that fixes: (missing support for cloud storage) mentioned here: https://roapi.github.io/docs/config/dataset-formats/delta.html. I had to remove the custom implemented object store registry. This functionality interferes with how delta-rs is implemented. I also do not think it is necessary any longer to have this custom implementation. From what I can tell it was only done as a convenience/workaround. My change registers object stores as tables are loaded for any table provider that has a URI. Hopefully this look OK to the maintainers.
I'm new to Rust but managed to use the linters/formatters to get the checks to pass. However, if I've made any blunders, please let me know.
I'm excited about this PR and it is working well for me in my testing. We have a deltalake on Azure and I was able to register several tables and execute streaming queries that were complex including joins and aggregations. It was enough to get a good sense of where the limits will be for our architecture.

Thank you @afterthought for the feature, this is very high quality first time Rust code :P


Full Screen Images

Hi Having issues getting full screen images. it pulls images perfectly for google but I'm left with large black borders around any image that is displayed. squared landscaped and portrait. Is there any way to have it fill 95% of the screen Hight and Width.
{   module: "MMM-GooglePhotos",   position: "fullscreen_below",   config: {                 albums: ["School Pictures"], // Set your album name. like ["My wedding", "family share", "Travle to Paris"]                 updateInterval: 1000 * 60, // minimum 10 seconds.                 sort: "new", // "old", "random"                 uploadAlbum: null, // Only album created by create_uploadable_album.js.                 condition: {                         fromDate: null, // Or "2018-03", RFC ... format available                         toDate: null, // Or "2019-12-25",                         minWidth: null, // Or 400                         maxWidth: 8000, // Or 8000                         minHeight: null, // Or 400                         maxHeight: 8000, // Or 8000                         minWHRatio:  null,                         maxWHRatio:  null,                         // WHRatio = Width/Height ratio ( ==1 : Squared Photo,   < 1 : Portraited Photo, > 1 : Landscaped Photo)                 },                 showWidth: 1080, // These values will be used for quality of downloaded photos to show. real size to show in your MagicMirror$                 showHeight: 1920,                 timeFormat: "YYYY/MM/DD HH:mm", // Or relative` can be used.
}
},

Lets start with some easy things first:
The values in your showWidth/showHeight are the default values. Have you tried changing these to match your screen?
Have you tried either of the following in your css/custom.css

To cover whole region with image : Add this into your css/custom.css.
#GPHOTO_CURRENT {
background-size:cover;
}
To shrink image and be fully visible on smaller screens : Add this into your css/custom.css.
#GPHOTO_CURRENT {
background-size:contain;
}


vsimporter warns about PBXShellScriptBuildPhase?

This is what I get when trying to use vsimported against my project:
[W] Ignoring unsupported PBXShellScriptBuildPhase in "XXXX" target.
Opening the generated solution and trying to build later fails with:
Error		'FBSDKShareKit/FBSDKShareLinkContent.h' file not found
so not sure if the above warning is really legit to ignore or not?

This is due to a difference in the way Xcode and Visual Studio search for headers. VS doesn't have a notion of frameworks like Xcode does. We are working on a fix for this and hope to have it ready soon.

I could not reproduce the "Ignoring unsupported PBXShellScriptBuildPhase" warning with any of the July releases or the current implementation of vsimporter. @VishalAgarW, if this is still an issue I can take a look at it if you can provide me with a project that can reproduce the warning.

Cannot reproduce, closing.


Question: dnf separate or included?

Sorry for wiping the template but this isn't really a traditional issue.  =D
Anyway, this plugin "almost perfectly" works just fine with RHEL8's (and later Fedora's) dnf replacement for yum since the configs and such are more or less drop-in replacements.  But clearly there are -some- differences here and there.  For example clean_old_kernels doesn't work, plugin package names are different slightly, etc.
I had considered "copy forking" and s/yum/dnf/ and releasing another sister module on PuppetForge, but this is so close to working out of the box, I'd like to ask y'all's thoughts on it.
Basically, would y'all prefer:
Scenario A: We will never suppor dnf formally in the yum module
In which case, it makes more sense for me to fork-copy like I was thinking about doing.
Scenario B: Make tweaks necessary to yum module and officially support dnf
In which case it could be added to the module's description, added as formal support, and with what I believe will be a very simple list of changes, we could support both in tandem.
I'm happy to do the work to make either of these scenarios happen.  What are y'all's thoughts?  Alternatively do you already have something in mind and I should just exercise patience?  ;)

(fwiw dnf is considered to be yum 4.0 so I'd prefer to offer scenario B)

I'm going to go with -- PRing this module.  I'll submit some PRs when things seem calm.


Support out of source BLT with BLT_SOURCE_DIR

It would be useful if you supported out of source BLT instances. Here is an example of how to do so:
################################
BLT
################################
if (DEFINED BLT_SOURCE_DIR)
Support having a shared BLT outside of the repository if given a BLT_SOURCE_DIR
if (NOT EXISTS ${BLT_SOURCE_DIR}/SetupBLT.cmake)
message(FATAL_ERROR "Given BLT_SOURCE_DIR does not contain SetupBLT.cmake")
endif()
else()
Use internal BLT if no BLT_SOURCE_DIR is given
set(BLT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/cmake/blt" CACHE PATH "")
if (NOT EXISTS ${BLT_SOURCE_DIR}/SetupBLT.cmake)
message(FATAL_ERROR
"The BLT submodule is not present. "
"Run the following two commands in your git repository: \n"
" git submodule init\n"
" git submodule update" )
endif()
endif()
include(${BLT_SOURCE_DIR}/SetupBLT.cmake)

that is some interesting code formatting... sorry

We fixed this 😄 , closing.


indent / unindent via touch

I will make it possible for a swipe on a row to right or left to indent / unindent.
@qyloxe

@qyloxe
Done!
check out the latest demo page now with swipe right/left to indent/unindent! ❤
https://quasar-app-extension-draggable.netlify.com/#/
--If this library helped you in any way you can support me by buying me a cup of coffee. ☕

Looks cool!
One situation (all with mouse, default settings - F5):

select Introject
drag before Nova
drag left Introject. Nova is selected, too.
drag Oracles right (without select).
Oracles disappears.

Effect is like this:


Merge branch-24.08 into main [skip ci]

Merge branch-24.08 into main
Note: merge this PR with Create a merge commit to merge

build


fix: DirectoryStats Obsidian total files calculation error

Fixes Issue
DirectoryStats Obsidian Total Files Calculation Error #7

Changes proposed

[x] Adding excludedDirs to select which folders should not be counted.

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] My change requires changes to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots
--
Note to reviewers
--

code change looks good, merged 🎉


Does not work for the dlssg-to-fsr3 frame gen mod in dragon's dogma 2

hi could you help to make REFramework works for the dlssg-to-fsr3 frame gen mod? it is currently cconflicting with this REFramework thing: https://www.nexusmods.com/site/mods/738?tab=description&BH=0

it works just needs the right setup and config.


Add upper bound to errors dependency

errors-2.0 will switch to use ExceptT instead of EitherT.  If that will break your package then add an upper bound of errors < 2.0 to your dependencies.

Does this mean that you are already errors-2.0 compatible?

I guess so? Looks like I only use hush there too.

Yeah, then you are errors-2.0-compatible.  Thanks! :)


Indexing error leads to crash when maximum of G is the first value

I wanted to run the script on my data but always got the error
"ValueError: zero-size array to reduction operation minimum which has no identity" in line 107 of ampd.py
The issue is that the largest value in G (for my data) is the first one and thus
l_scale = np.argmax(G)
leads to l_scale = 0
In line 107 the array LSM is reduced to
LSM[0:l_scale, :]
But as l_scale = 0 this leads to an empty array and an error when trying to to use np.min on it.
I think line 107 should be
pks_logical = np.min(LSM[0:l_scale+1, :], axis=0)

The same indexing errors appear in the other functions as well.
x[0:1] only contains the first entry! Not the first 2.

The same indexing errors appear in the other functions as well.
x[0:1] only contains the first entry! Not the first 2.

Issue is already mentioned in Issue #6

Issue is already mentioned in Issue #6


Grunt task

I just wrote a grunt task for typings. It's very basic though, no options or any choice of command yet. Just a plain install for use in CI.
Are you interested in having the repo transfered to your domain since there is already a gulp task?
https://github.com/sebastianhaas/grunt-typings - not published yet.

I'm happy to endorse plugins for Typings, but I don't think there's a need to move it here until they're more mature.
I haven't seen a gulp task yet, which were you referring to?

I just published a somewhat working version to npm. No options or configuration yet, it will just update typings according to a typings.json. I guess it can be useful though.
https://www.npmjs.com/package/grunt-typings
Re gulp task: Actually I can't find it anymore so maybe I just imagined that.

Hey! If you're interested in maintaining it, we can certainly move it into Typings and add you as the package owner.

It's a very useful grunt task for CI. Thank you, @sebastianhaas!

@blakeembrey Yes, I should be able to find time for that.
@bravemav Thanks, please let me know if you have any suggestions.


Update README.md

add boostd config, enable localIndexDirectory.Leveldb

as a new user of boostd v2.1.0, it is necessary to run the boostd


Can't edit a  tag in HTML

OS: ArchLinux x86_64
I am facing a problem where selecting on <video> tag in HTML select the closing </video> tag as well without pressing any other key.
For example:

Did you see this section of the 1.41 release notes?
https://code.visualstudio.com/updates/v1_41#_html-mirror-cursor

Oops! I thought it's a weird bug!


Allow dots in value of public option

This fixes https://github.com/zeit/serve/issues/421.
This passes all tests.
It will still have problems with filenames that have no extension, but it addresses not allowing dots in the "public" folder setting.

@andyburke Hey there, thanks for the patch! Do you think we could add a regression test for this?

Thank you!


Enable use of Kotlin Flow as return value

Using ReactiveAdapterRegistry when handling return values from annotated controller methods such as @SchemaMapping, @BatchMapping, and @GraphQlExceptionHandler would enable use of Kotlin's Flow.

Also need to enable Flow in Subscription, and batch data loader(instead of CompletableFuture).

@SubscriptionMapping is just a shortcut annotation for @SchemaMapping(typeName="subscription"), but I confirm it will support subscriptions.

I tried to update my example project to use Flow.
@QueryMapping
fun allPosts(): Flow<Post> = postService.allPosts()// remove .toList() to return Flow type directly

But run the following tests in the QueryTests.
@Test
  fun `get all posts`() = runTest {
      coEvery { postService.allPosts() } returns
              flowOf(
                  Post(
                      id = UUID.randomUUID(),
                      title = "Post 1",
                      content = "Post 1 content",
                      status = PostStatus.DRAFT,
                      createdAt = LocalDateTime.now()
                  ),
                  Post(
                      id = UUID.randomUUID(),
                      title = "Post 2",
                      content = "Post 2 content",
                      status = PostStatus.DRAFT,
                      createdAt = LocalDateTime.now()
                  )
              )
      val query = "{ allPosts { title content }}"
//         graphQlTester.document(query).execute()
//             .errors().satisfy { it.forEach { error -> log.debug("error message: ${error.message}") } }
      graphQlTester.document(query)
         .execute()
         .path("data.allPosts[*].title")
         .entityList(String::class.java).hasSize(2).contains("POST 1", "POST 2")

      coVerify(exactly = 1) { postService.allPosts() }
  }

And I got the error [TypeMismatchError{path=[allPosts], expectedType=[Post!]}].
The example project here: https://github.com/hantsy/spring-graphql-sample/tree/master/spring-graphql-rsocket-kotlin-co

@hantsy is your postService.getPosts() defined as suspend fun? Then that might be the problem, because returning a flow doesn't require the method to be a suspend fun, only the consumer of the flow needs to be in a coroutine context.

@koenpunt Check here, https://github.com/hantsy/spring-graphql-sample/blob/master/spring-graphql-rsocket-kotlin-co/src/main/kotlin/com/example/demo/Services.kt#L52

Created an new issue for this.


Add Identity to Task

These changes include support for PUT/PATCH, as well as a new identity command group.
This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[ ] I adhere to the Command Guidelines.

This PR is to allow other members of the team to test Identity for Task. Since we cannot published the new SDK until we release a new API version, the local SDK is temporarily checked in here to allow for testing.


Block system overhaul

This has previously come up repeatedly with @immortius mentioning a desire to redo blocks as full prefabs. I realized that should probably be covered before we go alpha as I'm sure it'll be a breaking change.
I figure it might also result in less separation between blocks (primitive) and items (entities) - such as in the console (giveBlock vs giveItem) and in inventory handling (making @MarcinSc sad)
Some of that may be speculation, however :-)

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/1612335-block-system-overhaul?utm_campaign=plugin&utm_content=tracker%2F5279&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F5279&utm_medium=issues&utm_source=github).

Closing this as outdated. The exact ideal definition of blocks vs. prefabs is still somewhat unclear, but it isn't being actively worked on nor an obstacle or part of a plan. Probably better to wait till a point in the future after gestalt-entity has been extracted to see how the world looks like then.


command to check current user in lakectl

Closes #8313
Change Description
Added functionality to check the user currently configured in lakectl
Background
see https://github.com/treeverse/lakeFS/issues/8313
New Feature
The new command prints the user info. The info consists of user id, email (only in case exists) and user creation date
Testing Details
Added tests esti tests to check both cases of existing and non existing email
Additional info

@ItamarYuran @arielshaqed  why is this a top level command? Why not put it under auth?


bug: anyOf / oneOf with objects and default values

Hello,
When mixing several objects with anyOf or oneOf, default values may be wrongly applied and interfere the validation.
Cf attached file for a simple use case that where used.
testSchemaValidator.zip
Here a first output example:
input value: {
    "b": 2
}
schema: {
    "anyOf": [
        {
            "required": [
                "a"
            ],
            "properties": {
                "a": {
                    "type": "integer"
                },
                "aDefault": {
                    "type": "integer",
                    "default": 1
                }
            },
            "type": "object",
            "additionalProperties": false
        },
        {
            "required": [
                "b"
            ],
            "properties": {
                "b": {
                    "type": "integer"
                },
                "bDefault": {
                    "type": "integer",
                    "default": 2
                }
            },
            "type": "object",
            "additionalProperties": false
        }
    ]
}
/aThe property a is required
The property b is not defined and the definition does not allow additional properties
The property aDefault is not defined and the definition does not allow additional properties
Failed to match at least one schema
output value: {
    "b": 2,
    "aDefault": 1,
    "bDefault": 2
}

result should be valid and { "b": 2,  "bDefault": 2}

Note that order is important: if input value is 'a', it's working as expected
input value: {     "a": 1 } schema: {     "anyOf": [         {             "required": [                 "a"             ],             "properties": {                 "a": {                     "type": "integer"                 },                 "aDefault": {                     "type": "integer",                     "default": 1                 }             },             "type": "object",             "additionalProperties": false         },         {             "required": [                 "b"             ],             "properties": {                 "b": {                     "type": "integer"                 },                 "bDefault": {                     "type": "integer",                     "default": 2                 }             },             "type": "object",             "additionalProperties": false         }     ] } value is valid output value: {     "a": 1,     "aDefault": 1 }

@kroc702 thanks for the extensive information. I’ll see what I can find from te above or did you already did some debugging and perhaps and close to a PR?
One question I still have is which version of this library are you using? As that would be very informative in the context of this bug.

I forget to mention version:
            "name": "justinrainbow/json-schema",
            "version": "v5.2.13",
            "source": {
                "type": "git",
                "url": "https://github.com/justinrainbow/json-schema.git",
                "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793"
            },

And no I didn't debug this code yet. I'll add info here if I take the time to do it.


[Bug] 1.2.0 breaks Nextjs/Yarn 3 PnP/Zero Install

Bug report
Hate to open this! I love swr and it usually works great. But I just did an upgrade and it broke my build 😢 Repo branch that repros it.
I upgraded from 1.1.2 to 1.2.0 and my NextJS/Yarn 3 project with PnP and zero install active broke. yarn next dev or yarn next build errors because it can't find the swr module at all as this shows:

I think I narrowed it down to this commit. It changes the exports swr provides and landed between beta 0 and beta 1 of 1.2.0. Consequently, installing version 1.2.0-beta.0 works perfectly, but version 1.2.0-beta.1 breaks it (albeit with a slightly different error, but still one about not being able to resolve swr).
Description / Observed Behavior
Getting this error with swr 1.2.0:
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'swr' imported from /Users/dgattey/checkouts/dg/.next/server/pages/index.js

Expected Behavior
For SWR to be able to be resolved into a real package location.
Repro Steps / Code Example
Check out the broken/swr branch of this repo. Happy to give access if useful/explain anything.

Oh no! I’m taking a look, thanks for opening this!

OK did some testing with npm, pnpm, Yarn 1 and all seem to be good. This feels like an issue with Yarn PnP (I can reproduce with your repository).

@dgattey I release a patch for fixing this yarn pnp issue, could you try<EMAIL_ADDRESS>to see if it works? If it's good we'll get it released into stable patch asap

Well, fixes the serverside error in the console when running yarn dev, but now I'm getting an error about the .cjs file in the browser that I wasn't before. Also getting the same cjs error on yarn build. The branch I linked above has the upgrade changes.
Error: Cannot find package 'swr' imported from /Users/dgattey/checkouts/dg/.next/server/pages/_error.js
Did you mean to import swr-virtual-c677ae8285/0/cache/swr-npm-1.2.1-experimental.0-925e0e326c-4df3d54390.zip/node_modules/swr/dist/index.cjs?

@dgattey I tested<EMAIL_ADDRESS>it works with yarn pnp + create-next-app.
I still couldn't run your project, could you provide a minimal reproduction that's easy to test?

@huozhi Oh, @shuding said they could reproduce with my repo. I don't have time this week to try to repro in a different setup. Did you run yarn with yarn 3 installed and then try yarn build? All off the dependencies should be there minus some keys

@huozhi @shuding Got a minimal repro going on at https://github.com/dgattey/dg/tree/broken/swr - I deleted everything that wasn't needed to cause it to error. App is my configs + one single page that tries to useSWR and fails. Nothing crazy. yarn dev or yarn build both show the error here.
This is upgraded to 1.2.1

Looks like it's a yarn issue, check this next.js issue comment
I followed the comment here from this yarn issue and then run yarn install.
Clean the .next folder, run yarn dev, it works.


:godmode:

Fixes #13 by checking commit messages against list of valid github markdown emoji.

 You want to rebase and fix that commit message before we merge this?

@Scotchester I'm cool leaving it how it is. @higs4281 submitted #14 so that it's no longer showing in the GH UI.

It still does if you go to https://github.com/cfpb/CFPBot/commits/master

@Scotchester Good point. Squashed it.

Problem:
------------------------------------------------------------------------------------------ 10:13:17
~/Projects/CFPBot contolini-verify-commits ⚓ node test
module.js:338
    throw err;
          ^
Error: Cannot find module 'request'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/cranfills/Projects/CFPBot/test/index.js:1:77)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
------------------------------------------------------------------------------------------ 10:13:26
~/Projects/CFPBot contolini-verify-commits ⚓

@Scotchester my bad. npm i and try again.

Oh, uh, just realized it was already listed in dependencies; I just hadn't run npm install at all. Do we still want to add it as a devDependency, or is that redundant?

Yeah, leave it to denote it's needed for testing. Whatever prod feature uses it might get removed some day.

Also, we have another problem. The badge will never show passing, because as soon as a merge happens, Travis will run against the merge commit.
See: https://travis-ci.org/cfpb/CFPBot/builds

@Scotchester :expressionless:

@Scotchester The test is now rewritten so that it works locally. Travis is failing because it's testing master which has the bad emoji in it. I'm going to merge this and if Travis continues to fail we can start a separate issue.

So... what happened here, buddy? :)


Feature: Category and tag filter as bread-crumbs for topics filtering in group-assigned page

@Ahmedgagan I tried this out locally but it doesn't seem to be working quite right. When I visit the group assigned page, all categorized topics are missing from the list. I only see uncategorized topics and PMs. The URL in my address bar is
http://localhost:3000/g/trust_level_4/assigned/everyone

In dev tools I can see it is loading data from
http://localhost:3000/topics/group-topics-assigned/trust_level_4.json?order=&ascending=false&category=&tags=&no_tags=null&search=

So maybe because it is sending category= without a value, it is only looking for topics with no category?

@Ahmedgagan I tried this out locally but it doesn't seem to be working quite right. When I visit the group assigned page, all categorized topics are missing from the list. I only see uncategorized topics and PMs. The URL in my address bar is
http://localhost:3000/g/trust_level_4/assigned/everyone

In dev tools I can see it is loading data from
http://localhost:3000/topics/group-topics-assigned/trust_level_4.json?order=&ascending=false&category=&tags=&no_tags=null&search=

So maybe because it is sending category= without a value, it is only looking for topics with no category?

Sure, ill take a look 😃

Hi @davidtaylorhq can you please have a look at it again whenever you get time? It's been long 😀

It seems to be working better with categories now, but I think there is the same issue with tags. If I have 'all tags' selected, then it only showing 'untagged' topics. I have to select the tag before they appear.

Thanks for the commits @Ahmedgagan, I will take another look and hopefully merge later this week

There's a small thing left in this, adding a commit in a bit

@Ahmedgagan @davidtaylorhq should this PR be updated or closed?

@Ahmedgagan @davidtaylorhq should this PR be updated or closed?

If the feature seems acceptable to you guys, i can update the PR.

I think there would be quite a few changes required to make this ready for merging (rebasing onto latest main, adding JS tests, etc.). So I think we should close for now - we haven't had any requests for this feature, and I think the API gem work is higher priority. We can always re-open in future.


Filter DrexHD Vanished players from the !playerlist discord command

I saw that DrexHD's Vanish mod was recently integrated into the mod in #104, and found an issue where players could still see the vanished players online if they used the !playerlist command on Discord. This PR fixes that, by filtering out all player names for vanished players. It does not require that Vanish be installed, and nothing will be different if it isn't.

Thank you!


Chat quality: apply PromptMixin to first human message with context

Updated defaultMixin in PromptMixin to inject a clear instruction to the LLM when the context is included in the current prompt.
This change unblocked the chat-quality tests that were previously skipped because of the undesired response:

@zoekt describe my code
Is my codebase clean?
Why does this project use the MIT license?
Explain the logic in src/agent.go

Also updated all the agent recordings that are affected by this change.
Test plan

Green CI.
Verify the updated test files are correct, especially for the tests that were previously skipped in agent/src/chat-response-quality.test.ts.

I just tried this prompt and it seems to work well. For the Claude models, there are no hallucinations or access issues, and the responses are short and to-the-point:
const CONTEXT_PROMPT = ps`The provided codebase context are the code you need and have access to. Do not make any assumptions. Ask for additional context if you need it. Question:`

It also works well for gpt-4-turbo, but doesn't work perfectly for gpt-3.5-turbo. But I don't think it's worth optimizing for gpt-3.5-turbo (like you mentioned over Slack, it's not really meant for Chat, and we should switch to gpt-4-turbo in tests) Let me know what you think!

But I don't think it's worth optimizing for gpt-3.5-turbo

@jtibshirani Thanks for the review! I agree it's not worth optimizing for gpt-3.5-turbo as it's not meant for chat and we should switch to gpt-4-turbo in a follow-up instead 👍

@jtibshirani I've updated the prompt to address some regression i noticed. I think it looks a lot better now but let me know if you notice other unexpected change in the response quality 😄

@abeatrix did you see my comment here about a simpler prompt I tried that worked well? https://github.com/sourcegraph/cody/pull/4516#issuecomment-2159433642

@abeatrix did you see my comment here about a simpler prompt I tried that worked well? https://github.com/sourcegraph/cody/pull/4516#issuecomment-2159433642

I missed it!! Would you like to update this PR with your change directly to see how it works compared to the updated one? We can always revert it!

I just pushed some changes to prompt-mixin.ts, including the tweaked prompt.
I noticed there are still changes in snapshots for things like 'document code' -- but I thought there shouldn't be any, because we aren't applying this change to commands.

I noticed there are still changes in snapshots for things like 'document code' -- but I thought there shouldn't be any, because we aren't applying this change to commands.

It's because we made changes to them at the beginning of the PR. I just reset the recordings before running them again and all of them are reverted to match main now 😄
Custom commands were affected because of an exisiting issue but it should now be fixed in the latest commit

I just pushed a simple multi-turn chat test. We aren't including the preamble for previous chat questions... here's an excerpt from the recording:
speaker: assistant
                text: Ok.
              - speaker: human
                text: explain @README.md
              - speaker: assistant
                text: The README.md file provides ...
              - speaker: human
                text: "The provided codebase context are the code you need and have access to.
                  Do not make any assumptions. Ask for additional context if you
                  need it. Question: what does @limit.go do?"
              - speaker: assistant

I don't have a strong opinion, but it seems like the old messages should match what we actually sent to the LLM. What do you think?
Also, @abeatrix and I discussed on Slack and decided to put this behind a feature flag so we can back it out if there's any unexpected problem.

We aren't including the preamble for previous chat questions.

That was intentional, or we will have to display the preamble to the users in the UI because of how we store the chat messages. What do you think?

That was intentional, ...

It seems to work okay in our quality tests, so that works for me! It also cuts down on tokens sent to LLM. We can always revisit if we notice a problem.

@jtibshirani I've updated to only set context preamble for users with the CodyChatContextPreamble feature flag enabled.
It's also always enabled during testing and dev mode


Binary serialize/deserialize inconsistency of enums with skipped fields

When running tests on this snippet:
use serde::{Serialize, Deserialize};

#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)]
enum Abcd {
    A,
    #[serde(skip)]
    B,
    C,
    D,
}

#[cfg(test)]
mod tests {
    use super::*;
    #[test]
    fn bincode() {
        let c = Abcd::C;
        let serialized = bincode2::serialize(&c).unwrap();
        let deserialized: Abcd = bincode2::deserialize(&serialized).unwrap();
        assert_eq!(deserialized, Abcd::C);
    }

    #[test]
    fn postcard() {
        let c = Abcd::C;
        let serialized = postcard::to_allocvec(&c).unwrap();
        let deserialized: Abcd = postcard::from_bytes(&serialized).unwrap();
        assert_eq!(deserialized, Abcd::C);
    }
}

both of them fail, because deserialized is a variant D.
This seems to be a serde_derive problem: when expanding macro, the serialization the value index of C variant is 2:
// ...
        fn serialize<__S>(&self, __serializer: __S) -> _serde::__private::Result<__S::Ok, __S::Error> where __S: _serde::Serializer, {
            match *self {
                Abcd::A => _serde::Serializer::serialize_unit_variant(__serializer, "Abcd", 0u32, "A" ),
                Abcd::B => _serde::__private::Err(_serde::ser::Error::custom("the enum variant Abcd::B cannot be serialized")),
                Abcd::C => _serde::Serializer::serialize_unit_variant(__serializer, "Abcd", 2u32, "C" ),
                Abcd::D => _serde::Serializer::serialize_unit_variant(__serializer, "Abcd", 3u32, "D" ),
            }
        }
// ...

While the FieldVisitor in derived Deserialize expects C being represented by 1u64 if I read code correctly:
// ...
struct __FieldVisitor;
            impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
                type Value = __Field;
                fn expecting(&self, __formatter: &mut _serde::__private::Formatter) -> _serde::__private::fmt::Result { _serde::__private::Formatter::write_str(__formatter, "variant identifier") }
                fn visit_u64<__E>(self, __value: u64) -> _serde::__private::Result<Self::Value, __E> where __E: _serde::de::Error, {
                    match __value {
                        0u64 => _serde::__private::Ok(__Field::__field0),
                        1u64 => _serde::__private::Ok(__Field::__field2),
                        2u64 => _serde::__private::Ok(__Field::__field3),
                        _ => _serde::__private::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value), &"variant index 0 <= i < 3" )),
                    }
                }
// ...

And indeed, when I implement Deserialize by hand changing only those values, the tests pass.
I'd expect that when both Serialize and Deserialize are derived, then serializing and then deserializing a value always gives same value, regardless of the data format.

I dived into the code and seemingly the problem is that we lose information about actual variant index around here: https://github.com/serde-rs/serde/blob/360606b9a63ba4e594dc20ddf0e20228b60b34cb/serde_derive/src/de.rs#L1217
Here the enumerate is properly called before filter, but the index is used only to construct fieldX identifier.
Then in https://github.com/farmaazon/serde/blob/360606b9a63ba4e594dc20ddf0e20228b60b34cb/serde_derive/src/de.rs#L1339 the fields are enumerated again, this time without the skipped variant.


New API for asynchronous offset commit

This new API allows to ack and commit offsets independently.
Rationale: subscribers may want to implement their own buffering logic independent from brod, while still benefiting from brod's group offset management and load balancing. With the current approach it's troublesome: brod consumer message buffer should be made very large, leading to all kinds of problems.
There's a known quirk in the current PR, though: when group_subscriber is started with begin_offset=latest and restarts before committing anything, it will be restarted from the latest offset. Probably it's not the most obvious behavior, though formally correct

Pull Request Test Coverage Report for Build 887

22 of 23 (95.65%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.08%) to 78.949%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/brod_group_subscriber.erl
22
23
95.65%

Totals

Change from base Build 886:
0.08%

Covered Lines:
1969

Relevant Lines:
2494

💛  - Coveralls

Applied the remark and squashed


Placing in the air

Current behavior:
The ar-placement attribute has only 2 possible values: "floor" (default) and "wall".
It's impossible to rotate and leave the model the way user want.
The 3D model is constantly turns bottom down.
The 3D model constantly falls to the floor.
This is only good for large objects like furniture. But it's not very convenient to view small 3D models like a mixer if they always fall on the floor. Users can still view small 3D models by twisting the arm (sometimes into an unnatural position), but as soon as user stops holding the trigger on the controller, the 3D model will fall to the floor.
Expected behavior:
The ar-placement attribute supports a new 3rd possible value: "air".
The 3D model stays exactly in the position (location and rotation) in the air where the user left it.
E.g., kids can leave in the air some 3D model such as a human heart or a complex animated mechanism with gears in their desired position, and they can walk around it and look at it from all sides, including from the bottom.
Related issues:
In this case, the Hit Test API is optional, not required.
See also #4959 and #4960.

Maybe you could elevate the model in the 3D software? Or increase its Y position through code? (also on iOS there is a built in behaviour to elevate the model by dragging upwards with two fingers)

I meant viewing 3D models in MR mode on XR headsets like Meta Quest. See video in https://x.com/modelviewer/status/1849483226324349082.

That sounds reasonable - I might call it "float" instead of "air". Do you want to send a PR?


Moving linting to ruff

Replacing the formatting and linting by ruff to simplify the setup.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 85.71429% with 1 line in your changes missing coverage. Please review.

Project coverage is 98.82%. Comparing base (28faec5) to head (c10149e).
Report is 1 commits behind head on main.

Files with missing lines
Patch %
Lines

dike/_retry.py
50.00%
1 Missing :warning:

Additional details and impacted files

Files with missing lines
Coverage Δ

dike/__init__.py
100.00% <ø> (ø)

dike/_batch.py
100.00% <100.00%> (ø)

dike/_limit_jobs.py
100.00% <100.00%> (ø)

dike/_retry.py
93.33% <50.00%> (ø)


Client can't connect to the service hosted inside nested iframe and that listens on parent window

See demo at: http://nga-crash-tests.github.io/bridge-iframe-service/
See source at: https://github.com/nga-crash-tests/bridge-iframe-service

Discussed offline. This is difficult as the parent window is attempting to connect to an iframe service that has not yet loaded. Adding support for this inside Bridge will add complexity with questionable value.
Options:

A. Wait for iframe to load before attempting to client.connect() or calling client.method() or client.on()
B. Keep manually calling .connet() until the iframe service is loaded and receives the connect requrest. This could be built as a Client plugin.
C. Get a handle on the iframe and use standard syntax: var client = bridge.client('my-service', iframe)

Please re-open if you feel this should be fixed inside bridge core :)

C. Get a handle on the iframe and use standard syntax: var client = bridge.client('my-service', iframe)

Seems we'll have the same problem with this approach if iframe hasn't created service yet. If I'm not mistaken little-browser uses exactly the same approach - it's supposed to create iframe with bridge service inside which client is inside top window :/ @wilsonpage would it work if we use postMessage instead of dispatchEvent? If so is it possible to allow bridge consumer to configure this behavior with something like sync: false option that will use postMessage instead?
In the meantime will try A and B that you proposed above.

Bridge.js will attempt to connect as soon as the iframe has loaded. It will not wait until after that point. This means that you need to create your service ASAP inside the iframe. Not async.

@wilsonpage would it work if we use postMessage instead of dispatchEvent? If so is it possible to allow bridge consumer to configure this behavior with something like sync: false option that will use postMessage instead?

There is a chance due to the async nature of postMessage that this would extend the period of time in which you can get your service started, although this sounds racy. I think we should have the option to opt-in to sync messaging and default to normal postMessage. I don't have the time right now to build this feature though.


[BUSINESS PROCESS]: Review and approve invoices

Contact details
<EMAIL_ADDRESS>Organization type
Parnter / ISV / Independant consultant
End-to-end business process
Procure to pay
Which business process area is this article related to?
Process vendor invoices
Enter the name of the business process you are starting work on
Review and approve invoices
Enter any additional comments or information you want us to know.
Comments go here
Specify the date you expect the article to be completed and ready for review.
01/24/2024
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thank you for your interest in contributing to the procure to pay business process. Looking forward to the document in line with our discussion


Does this SPP library support BLE?

A BLE device do not need to pair. However, I found that this library only can connect to device which is paired.
So I want to ask whether this library can support BLE devices and how to connect to BLE devices using this SPP library.
Thanks for any reply for you all.

No


Linking on "About" page

On https://tbtc.network/about the mentions of Keep, Summa, and Cross Chain group should be hyperlinked. It's good for SEO. They should link to tbtc.network too!

The names are hyperlinked in the intro paragraph and then each section has a corresponding “Go” link; are you referring to the big names on the left side also being linked (left of the blurbs about each entity)?