bunsen-configs-base: name and version clash with BunsenLabs package

About two weeks I ran the BunsenLabs Carbon-wayland netinstall script  on a Debian Trixie CLI install. At that point there were no wayland related configs and I got an X-based "base" install of BL with no problems. Adding this repository also went without issues.
Unfortunately the recent addition of an upgraded Wayland version of bunsen-configs-base to this repo means that an apt upgrade will pull that in over my current BunsenLabs package.
john@trixie-tester:~$ apt policy bunsen-configs-base
bunsen-configs-base:
  Installed: 13.0-1
  Candidate: 13.0.2-0.3
  Version table:
     13.0.2-0.3 500
        500 https://01micko.github.io/debian carbon-trixie/main amd64 Packages
 *** 13.0-1 500
        500 https://pkg.bunsenlabs.org/debian carbon/main amd64 Packages
        100 /var/lib/dpkg/status

This is only a testing VM so I will now do an apt upgrade to see what happens, but expect some fairly drastic changes, which even a testing user might not anticipate.
I suggest renaming the Wayland version of bunsen-configs-base to something which will not clash with the current BunsenLabs package (eg bunsen-configs-wbase). A new (or renamed) stanza in debian/control, additions to the Replaces: and Conflicts: lines, along with a new set of files in debian/ should do it.

Ah, yes, see the other issue where I suggest that! https://github.com/01micko/01micko.github.io/issues/6#issuecomment-2226807947
Will do.

A new package name will avoid the clash, and version number will also become irrelevant. Cool.
Later we can cherry-pick the necessary bits into the official BL package - once that final structure is sorted out. Needn't be in such a hurry as long as we've got your experimental packages to work with.

I will now do an apt upgrade to see what happens

What happened is that dpkg reported an error running bunsen-configs-base post-installation script.
The only change you made is at the bottom:
GREETD="/etc/greetd"

    # fix ownership of introduced files, allow showing graphical login
    if [ -d "$GREETD" ]
    then
        chown -R _greetd:_greetd "$GREETD"
	usermod -a -G video _greetd
    fi

Tried that chown command in a terminal to be told chown: invalid user '_greetd:_greetd'
and usermod: user '_greetd' does not exist
I guess if there's no user _greetd then chown and usermod will fail. Certainly not in /etc/group.

Hmmm.. should I add a condition... yes methinks
groups _greetd >/dev/null 2>&1 && do it || fail

That looks good. Did you think of testing with 'groups' or is that a standard way of testing if a user exists?
Debian maintainer scripts must not return 1 or else dpkg goes into a sulk, so in fact || true is a safer way to end a line that might fail.
Anyway I only did that apt upgrade to see what got broken, and the good news is the X session still worked fine. The lightdm login had a new "Bunsen Wayland Session" item, which didn't work, but the new stuff in "staging" might well put that right. (Systemd did have something to say about a service symlink which already pointed to lightdm.)

I just thought about the 'groups' command, probably the least convoluted way of doing it.
Also, for now I've purged 'bunsen-configs-base' from the repo. (about to push)

A new package name will avoid the clash, and version number will also become irrelevant. Cool.

I can add it back later and I think using 'wbase', my original thought that has the least possible chance of causing conflicts.
I'll start a new branch - 'staging0' or something forked from yours, start again, but not too much work, mainly debian/*  files.

Just pushed to staging0 @johnraff
Note that I had to use debian revision -1.1 to build. See changelog in stagin0 branch
Here's the tree of produced debian stuff
├── bunsen-configs_13.0-1.1_all.deb
├── bunsen-configs_13.0-1.1_amd64.build
├── bunsen-configs_13.0-1.1_amd64.buildinfo
├── bunsen-configs_13.0-1.1_amd64.changes
├── bunsen-configs_13.0-1.1.debian.tar.xz
├── bunsen-configs_13.0-1.1.dsc
├── bunsen-configs_13.0.orig.tar.gz -> bunsen-configs-13.0.tar.gz
├── bunsen-configs-13.0.tar.gz
├── bunsen-configs-base_13.0-1.1_all.deb
├── bunsen-configs-lite_13.0-1.1_all.deb
└── bunsen-configs-wbase_13.0-1.1_all.deb

All should be fully reproducible. I will rebuild with just wbase in the control file so I can upload otherwise they would all get uploaded. Even though they would conflict (1.1 > 1) it shouldn't matter. More soon.

Note that I had to use debian revision -1.1 to build. See changelog in staging0 branch

I see you still have no "non-maintainer upload" line in the changelog. That might be why you needed to go to -1.1.
See my comment about control and changelog in the previous (now purged) package. If you're using dch to write the changelog you can pass the option -n and get that automatically.
But as long as you don't upload any bunsen-configs packages whose names clash with official packages it should be OK anyway.

I will rebuild with just wbase in the control file so I can upload otherwise they would all get uploaded.

Sounds good.

Even though they would conflict (1.1 > 1) it shouldn't matter.

Yeah, not quite sure about that. Let's play safe.

I think it's all sorted now so closing. See the repo tree here.
├── bunsen-configs_13.0-1.1_amd64.build
├── bunsen-configs_13.0-1.1_amd64.buildinfo
├── bunsen-configs_13.0-1.1_amd64.changes
├── bunsen-configs_13.0-1.1.debian.tar.xz
├── bunsen-configs_13.0-1.1.dsc
├── bunsen-configs_13.0.orig.tar.gz -> bunsen-configs-13.0.tar.gz
├── bunsen-configs-13.0.tar.gz
└── bunsen-configs-wbase_13.0-1.1_all.deb

I'm afraid I might have given you some bad advice. As long as you don't upload any other of the packages that the bunsen-configs source package generates I think we should be safe though. The thing is, you've added some files into the source directory outside debian/ so the whole package version number needs to change. You see, bunsen-configs_13.0.orig.tar.gz is no longer the same as the bunsen-configs_13.0.orig.tar.gz on the BL server. There is a potential clash if any utility tries to access that file from one or the other of the two servers. It's probably OK right now, but might be safer if you updated your version from 13.0-1.1 to eg 13.0.1-0.1 with a new changelog entry, so it's clear the two orig files are different. Then I'll be careful when I eventually merge your code to use a version number which is higher than yours.
I'm not quite sure, to be honest, just what the fully Standards Compliant way to do this would be. We want your code to remain in a fork of the BL git repo so that it can be merged easily. I now think I should merge your current code into a new branch of the BL bunsen-configs repo before doing any restructuring of that package, rather than after. Pull Requests can be initiated from my end as well as yours, so I don't think there's anything you need to do for that.

The only things that really need merging are:

bunsenlabs-session
bunsenlabs-wayland-session (symlink)
bunsenlabs-wayland.desktop
skel-wbase/skel/.config/bunsen/autostart

The rest is fluff. I can put essential stuff in nestinstall or create my own custom packages unrelated to configs.
I'm going to try my best to get my finicky HP to login from lightdm - but I still don't like the idea that it drags in X. That will probably change in time.
I can create a PR for the above items only if you like.

Right, the key stuff is what sets up the session. That will be needed for people to have the option to start a labwc session.
The "fluff" is of course quite important for inexperienced users, but as you say it can probably be easily added via the netinstall script at this stage.
Please see my recent comments about the session though:
https://forums.bunsenlabs.org/viewtopic.php?pid=136072#p136072
https://forums.bunsenlabs.org/viewtopic.php?pid=136086#p136086
Essentially I'm suggesting adding a second user autostart file ~/.config/bunsen/wayland-autostart which will need some changes in the two BL session scripts. I think it will make things easier for users.
If you like, I could sketch out suggested modifications for bunsenlabs-session, bunsen-autostart, autologin and wayland-autologin.
I could even send a PR against your repo...
I've also started a thread about possible reorganization of bunsen-configs:
https://forums.bunsenlabs.org/viewtopic.php?id=9072
If we end up splitting off a separate bunsenlabs-session package, that's where your files above will need to go.
I don't think there's anything difficult about any of this, but you might want to wait a bit to see how it works out.

Re lightdm and lightdm-gtk-greeter, I just did a dummy install --without-recommends and it didn't want to bring in any X packages. Whether it would work like that is another question...
(xwayland already brings in xserver-common)

I've modified the session files so that they should work on both X and Wayland, adding ~/.config/bunsen/autostart-wayland
Now I can launch eg lxpolkit from autostart-wayland, and the excess conkys from the X11 autostart are not started up.
No time now because without a Trixie spice-vdagent I can't just copy-paste the files into the Real World, and I'm away 3 days from tomorrow, but I'll post something ASAP.

PR sent.
https://github.com/01micko/bunsen-configs/pull/1

Hi @01micko sorry I've been neglecting this issue, distracted by various other stuff.
What I now think I'd like to do is get the six session-related files:
bin/bunsenlabs-session
bunsen-autostart
skel-wbase/skel/.config/bunsen/autostart
skel-wbase/skel/.config/bunsen/autostart-wayland
skel-wbase/skel/.config/bunsen/environment
skel-wbase/skel/.config/bunsen/environment-wayland

Merged into the regular Carbon branch of bunsen-configs, not a future Wayland branch.
The idea being to provide a connecting point where an upcoming bunsen-configs-wayland-base package can plugin if the user installs it. As discussed here: https://forums.bunsenlabs.org/viewtopic.php?id=9081
nwg-hello+cage+greetd looks as if it will work well for choosing X11/Wayland sessions (although not as pretty as lightdm) but anyway the final choice of windowing-system-agnostic Display Manager can be shelved for a while.
I'd like to get the session files settled in first, and the remaining small rough edges smoothed over.
I wonder if you could make a new PR against bunsen-configs/carbon which pushes just the above six files?
Would that be a lot of extra work for you?

No problem @johnraff
I ~will~ should tweak autostart-wayland with pretty much what I have in my current skel/.config/labwc/autostart. As well as ~/.config/labwc/rc.xml as we are at 0.7.4 now.
I'll fix up the nwg-hello config to start with cage too.
I'll do that and do up a PR this week end, or I can leave nwg-hello for later, but I think it's best dealt with now.

There will be some things to consider (later):

labwc installs the wayland-sessions/labwc.desktop file so it becomes available in the greeter. It will start the native /etc/xdg/labwc/autostart I think and use the user configs. Should we care about this? Maybe not?
what to put in environment-wayland? (we can figure it out later)
what default apps?

I think a clipboard manager is essential, and while I use nwg-clipman it might be better to use a 'launcher'; think a wayland dmenu clone, bemenu, rofi, wofi, tofi. I'm leaning toward wofi as they can all be used to display clipboard contents and double up as launchers of apps or commands - with keyboard short cuts. See my PR for labwc.github.io which I'll fix up tonight
I already have a cut down conky-wl (wayland specific) - mainly because conky-all has been broken since the version I have in the 01micko/debian/carbon repo, should we include it - even in wbase? I have some decent configs too.
sfwbar is a given since I can make it look very similar to tint2 and if we decide to change orientation for carbon, no problem I can mimic the look and feel.

there will be others!

First, sorry to change my thinking again - could you please drop bunsenlabs.desktop, bunsenlabs-wayland.desktop, autostart-wayland, environment and environment-wayland from this PR, leaving only these three files:
bin/bunsenlabs-session
bunsen-autostart
skel/.config/bunsen/autostart

And note that the modified bunsen/autostart should go into bunsen-configs/carbon in the regular skel/ directory, not into any skel-wbase directory, which does not exist yet.
The idea is that these modified files will be enough that bunsen-configs will be able to coexist with a subsequently installed bunsen-configs-wbase. Those three files should be able to recognize a Wayland session if it exists and act accordingly, otherwise X11 life will continue as normal.
I think bunsenlabs.desktopand environment are already OK the way they are, and those other Wayland-related files can be packaged in that future bunsen-configs-wbase (or whatever name we give it).
Packages can't overwrite each other's files, so if we want bunsen-configs and bunsen-configs-wbase to be able to co-exist then those three files in bunsen-configs need to be already in shape to handle a Wayland session (without messing with X11). I think they should be OK.

I ~will~ should tweak autostart-wayland with pretty much what I have in my current skel/.config/labwc/autostart. As well as ~/.config/labwc/rc.xml as we are at 0.7.4 now.

I'll fix up the nwg-hello config to start with cage too.
I'll do that and do up a PR this week end, or I can leave nwg-hello for later, but I think it's best dealt with now.

Yes, please put all these things in a new BL package. If you like I can set up the framework inside the bunsen-configs source so you can populate it with PRs. Just let me know when you're ready to send stuff and I'll make sure the structure is in place, and let you know where things should go (perhaps everything in a Wayland/ subdirectory).

* labwc installs the `wayland-sessions/labwc.desktop` file so it becomes available in the greeter. It will start the native `/etc/xdg/labwc/autostart` I think and use the user configs. Should we care about this? Maybe not?

I think it's OK like that - it won't be labelled "BunsenLabs". Openbox does the same and people who want a "pure" Openbox experience can use it.

* what to put in `environment-wayland`? (we can figure it out later)

Later, sure. I expect there will be things to put there, and anyway we can just have an empty file for now.

https://github.com/BunsenLabs/bunsen-configs/pull/133
The autostart files had no differences, so no need to add to PR


Multi-platform CI

What was changed

Add build script with support for check, unit test, integration test (including w/ dev server), and coverage helpers
Change CI to run on all three of ubuntu, mac, and windows

Coverage only on Ubuntu + Go 1.21
Docker compose only on Ubuntu + Go 1.21, dev server on all

Change code here and there for multi-platform and dev server support on integration tests
Delete Makefile

When ready to merge, will change the required build targets in GH branch protection
Checklist

Closes #1098

I have to go mod tidy some stuff and maybe fix other things w/ remove-gogo merge before CI passes, but won't merge w/out re-review if I have to alter anything serious.


Modification: logo overlay

Good hours)
I use the video player to play streaming video.
And when I need to play over video overlay logo (on the lower left). I downloaded the source code, and was able to compile in the SWF file. But I have no idea where to "slightly" to add the code that was added to the logo on top of the stream.
Thanks in advance for your help!

use ads plugin to add logo, scroll down in advertisements section
http://osmfhls.kutu.ru/docs/grind/#ads

kutu, I is not displayed on the main page "advertisements section". Also, the link does not go to this section. The page does not display information between sections "Subtitles" and "Thumbnails" in different browsers.

adblock?

kutu, Thank you very much, without you would not have guessed)

As I understand it to this function should be called the function specified in parameter "javascriptCallbackFunction" referred to in item "Embed". I have for some unknown reason to me, this function is not called. Checking through console.log.
Formation "Embed":
function osmf_hds_player(element) {
debug("player: osmf_hds_player");
var srcurl = urlWithToken(url+pathHDS(), token);
var width = "100%";
var height = "100%";

use_default_osmf_bridge(element);

var flashvars = {
  src : srcurl,
  autoPlay: {{autoplay}},
  poster: stream_preview_url(),
  javascriptCallbackFunction: 'onJSBridge'
};
document.getElementById(element).innerHTML = "

";
var paramObj = {allowScriptAccess : "always", allowFullScreen : "true", allowNetworking : "all", wmode: "opaque", playerId: element};
swfobject.embedSWF("/flu/GrindPlayer.swf", element+"-flash", width, height, "10.3", "/flu/expressInstall.swf",
  flashvars, paramObj, {name: "StrobeMediaPlayback"});

}
onJSBridge code:
var player;
function onJSBridge(playerId, event, data) {
console.log("TEST"); <-- Even this event is not executed
switch(event) {
case "onJavaScriptBridgeCreated":
// reference to player
player = document.getElementById(playerId);
break;
default:
console.log(event, data);
break;
}
}


fix tests often stuck and failing

issue on scaling down, slow pod termination :arrow_right: push with zero instances from beginning
issue of wrong patterns to match for zero-instance app :arrow_right: fix patterns

Codecov Report
Base: 52.23% // Head: 58.31% // Increases project coverage by +6.08% :tada:

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

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1725      +/-   ##
==========================================
+ Coverage   52.23%   58.31%   +6.08%
==========================================
  Files         170      170
  Lines       12874    12874
==========================================
+ Hits         6725     7508     +783
+ Misses       5247     4343     -904
- Partials      902     1023     +121

Flag
Coverage Δ

acceptance-api
?

acceptance-apps
37.29% <ø> (-0.44%)
:arrow_down:

acceptance-cli
57.01% <ø> (?)

unittests
8.75% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

 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.


Inquiry Regarding Supervised Fine-Tuning with AlpacaFarm Framework for Pythia Models

Hi,
I'm reaching out because I'm eager to utilize the AlpacaFarm framework for supervised fine-tuning of the Pythia models, specifically EleutherAI/pythia-1.4b, on the 10k SFT dataset.
During my initial exploration, I've identified that I may need to make modifications to the make_generative_lm function located at line 94 within src/alpaca_farm/common.py. Could you kindly confirm if this is the correct approach for fine-tuning Pythia models using your framework?
Additionally, I'd appreciate guidance on any other code modifications or adjustments that might be necessary to successfully train the Pythia-series models using the AlpacaFarm framework.
Thank you for your assistance and support.
Best regards,
Hank

I just give up since there're some issues about extreme high loss after modification. I modified the example script from trl instead and it works.


DNN-6199  Html Module UX Optimization

Things to improve :

You need always to scroll to find the save button
you have sometimes 2 vertical scrollbars (editor + popup)
you have secondary information which disturb the main functionality

Solutions :

put the buttons in a fixed part at the bottom
never show the scollbars of the popup (auto resize of the editor - Responsive Editor in popups )
hide publish information for "Direct publish"
replace preview and version history sections with a "render mode" = Edit | preview | version history (buttons)
put the Basic / rich text bow radios button in on the button line as combox

Implementations details :

the auto resize is implemented for RadEditor, CKEditor and Basic Text box (implemented by javascript hacks)
the auto resize is only active in popups

(printscreen in attachment in dnntracker)

What needed to be done to include the fix ?

What needed to be done to include the fix ?

Or to remove it from this reease ?

Or to remove it from this reease ?


[FEATURE] Add support for other ArgoCD application types (e.g. kustomize)

Is your feature request related to a problem? Please describe
Targeting Helm by default is understandable for the feature set and flexibility that a project like this needs to provide, but it can make things overly complex due to the multiple layers of indirection, especially when it is not always required.
It would be really nice to be able to add ArgoCD applications via this mechanism that utilize other tools that ArgoCD natively supports, like kustomize.
Describe the solution you'd like
I'd love to be able to define a block like the following, that defines the type of application (helm maybe being the default) and have it work.
  argocd_applications = {
    ...
    "internal-workloads-${var.zone}" = {
      path     = "workloads/envs/overlays/${var.zone}"
      repo_url = local.addon_repos.internal_addons.url
      project  = "default"
      type = "kustomize"
    }
  }

Currently, this will result in an error:
Chart.yaml: no such file or directory
because of the way the ArgoCD application is defined (as being a Helm-based application)
Describe alternatives you've considered
I can just wire this manifest in myself, but then there are just more ways to install things. If one is to go this route, then it would be nice to use this to seed all the initial apps, but use the underlying tool that keeps the implementation as simple as possible for the usecase.
Additional context
I could probably help write up a PR, if there is interest.

Hi @spkane, great call out! If you want to contribute this feature, we would definitely welcome the PR.

I am going to take a stab at this afternoon.
I'll probably try and use a simple manifest apply for the customize-based Argo Application manifests, but it is worth noting that this also exists:
https://github.com/oboukili/terraform-provider-argocd

Closed in #640 - thank you again @spkane !


Features and improvements pack

Close TODOs in Dockerfile (COPY chown)
Improve performance of concurrency tools (concurrent-ruby-ext gem providing native concurrency C extension)
Add support to NewRelic Application Performance Monitoring (we prefer this over Scout)
AMQP: Add ability to configure auto_delete option, queue length and pass custom arguments (at last max queue length is required to make sure RabbitMQ doesn't crash in case lot of messages are being stuck)
Close TODOs in User API JWT authenticator (use UID instead of email)
Drop unused CSS classes
Add specs to Operations. build_account_number
Add hot reload to Workers:: Daemons:: Blockchain (close TODO)
Enable JS compressor (it was disabled)
Use optimized JSON parser in Grape (20-50% improvement), allow to customize
Add specs to Ethereum::Wallet#prepare_deposit_collection (close TODO)
Fixed few errors in words and few code formatting issues

Hey there
We recently started with Peatio deployment and found few things which could be improved.

Attaching RSpec logs
Randomized with seed 54586
.......................................................................................................................................................................................................*............................................................................................................................................................................................................................................**.*..............****...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................***......................................................................................................................................................................................................................................................................................................................*.................................................................................................................................................................................................................................................................................................................................

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) Admin::MarketsController#update updates market attributes
     # Temporarily skipped with xit
     # ./spec/controllers/admin/markets_controller_spec.rb:63

  2) Withdraw coin withdraw #audit! should accept withdraw with clean history
     # Temporarily skipped with xit
     # ./spec/models/withdraw_spec.rb:64

  3) Withdraw coin withdraw #audit! should be rejected if address is invalid
     # Temporarily skipped with xit
     # ./spec/models/withdraw_spec.rb:29

  4) Withdraw coin withdraw #audit! sum less than quick withdraw limit should approve quick withdraw directly
     # Temporarily skipped with xit
     # ./spec/models/withdraw_spec.rb:72

  5) Withdraw CashAddr valid CashAddr address
     # Temporarily skipped with xit
     # ./spec/models/withdraw_spec.rb:590

  6) Withdraw CashAddr valid legacy address
     # Temporarily skipped with xit
     # ./spec/models/withdraw_spec.rb:603

  7) Withdraw CashAddr invalid legacy address
     # Temporarily skipped with xit
     # ./spec/models/withdraw_spec.rb:608

  8) Withdraw CashAddr invalid CashAddr address
     # Temporarily skipped with xit
     # ./spec/models/withdraw_spec.rb:595

  9) API::V2::Account::Deposits GET /api/v2/account/deposit_address/:currency successful return cash address
     # Temporarily skipped with xit
     # ./spec/api/v2/account/deposits_spec.rb:149

  10) API::V2::Account::Deposits GET /api/v2/account/deposit_address/:currency successful doesn't expose sensitive data
     # Temporarily skipped with xit
     # ./spec/api/v2/account/deposits_spec.rb:144

  11) API::V2::Account::Deposits GET /api/v2/account/deposit_address/:currency successful return legacy address
     # Temporarily skipped with xit
     # ./spec/api/v2/account/deposits_spec.rb:154

  12) Admin::WalletsController#update updates wallet attributes
     # Temporarily skipped with xit
     # ./spec/controllers/admin/wallets_controller_spec.rb:50

Finished in 18 minutes 21 seconds (files took 2.81 seconds to load)
1648 examples, 0 failures, 12 pending

Randomized with seed 54586```

Hey guys
Any updates? Why it's taking so long to merge small PR?
@mod @ysv @mnaichuk @chumaknadya

@baturich Hello can you contact me on telegram: t.me/modhelios

@akulakovaa can you rebase, remove new_relic, oj/grape changes,


(Re-)Add stats for posts

Hey there,
Loving the project so far! I was thinking it would be cool to have some more stats displayed. Things like:

Upvotes
Comments
Post Time

I’m curious what you think of this addition.

I didn't want to include them because they are fundamentally ephemeral data, and embeds are heavily cached. Which means the stats you see are almost always outdated, it's better to just open the link to see live stats.

Fair point. I just thought it would have a more vanilla feeling as it would be closer to the original reddit embed, as this also includes stats. And maybe it would better align with the other embed fix tools like:

As these also include stats. But this is just a thought I got.


Why not set a non-privileged user in systemd unit file?

ie something like
User=nobody
Group=nobody

in Service section?

https://github.com/systemd/systemd/commit/bed0b7dfc0070e920d00c89d9a4fd4db8d974cf0

This is not safe. The [nobody] user's main purpose on Linux-based
operating systems is to be the owner of files that otherwise cannot be mapped
to any local user. It's used by the NFS client and Linux user namespacing,
among others. By running a unit's processes under the identity of this user
they might possibly get read and even write access to such files that cannot
otherwise be mapped.

It is strongly recommended to avoid running services under this user identity,
in particular on systems using NFS or running containers. Allocate a user ID
specific to this service, either statically via systemd-sysusers or dynamically
via the DynamicUser= service setting.

Good point - but it should not left as it is as it's currently root

I mean, it looks to me that "nobody" was chosen as an example... couldn't we just make an "endlessh" user for this?
That way if some exploit does make it's way out, they'll have access to that user instead of root, which is the whole point of this suggestion(IMHO).

I mean, it looks to me that "nobody" was chosen as an example... couldn't we just make an "endlessh" user for this?
That way if some exploit does make it's way out, they'll have access to that user instead of root, which is the whole point of this suggestion(IMHO).

if anything, DynamicUser=yes would be the best option, it temporarily allocate a uid for the time the process is alive

if anything, DynamicUser=yes would be the best option, it temporarily allocate a uid for the time the process is alive

For me the following service configuration works:
[Unit]
Description=Endlessh SSH Tarpit
Documentation=man:endlessh(1)
Requires=network-online.target

[Service]
Type=simple
Restart=always
RestartSec=30sec
ExecStart=/usr/bin/endlessh
KillSignal=SIGTERM

# Stop trying to restart the service if it restarts too many times in a row
StartLimitInterval=5min
StartLimitBurst=4

StandardOutput=journal
StandardError=journal
StandardInput=null

PrivateTmp=true
PrivateDevices=true
ProtectSystem=strict
ProtectHome=true

PrivateUsers=true
DynamicUser=true

NoNewPrivileges=true
ConfigurationDirectory=endlessh
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
ProtectClock=true
ProtectKernelLogs=true
ProtectProc=true
ProtectHostname=true
LockPersonality=true
MemoryDenyWriteExecute=true
RestrictRealtime=true

SystemCallFilter=@system-service

[Install]
WantedBy=multi-user.target

closing


Addressing issue #41 - Allow config of maxSyncConcurrency

Fixes #41
Motivation

This commit allows users to specify an env variable MAXSYNC which overrides DefaultConcurrency in rosetta-sdk-go.
Solution

The solution was to add a field to the Configuration struct in the same way as Mode and Network. Then used this value when constructing the syncer to override defaults.
Open questions

MaxSync should never be less than DefaultSync ie. 4 but if it is in {1,2,3} it will be adjusted but syncer.Sync.


[AsyncMultiTree] duplicate render calls (twice) when a tree node is set to expand

Describe the bug
When IndexTreeModel.setCollapsed() to expand, two rerender calls happens inside the function IndexTreeModel.__setCollapsed():
1st - __setTreeNodeCollapsed() -> onDidChangeCollapseState event will fire and AsyncMultiTree will response to it and rerender the tree.
2nd - __updateListNodeCollapsed() -> this._view.splice() and this will rerender the list view (tree) in a second time.

This issue is misunderstood and will be closed.
In this situation, when expanding, since the internal tree structure in IndexTreeModel is old, the actual deleting items and deleting count will be empty and zero. The rendering process will not be processed inside ListWidget.
The only rendering call will be inside AsyncMultiTree.
See related commit 4ac25a900594323a96253b2974ae4c9195f3df59


FW_SWFBridge_ffmpeg.swf tried to access incompatible context (AIR Desktop or iOS build)

Get this error when trying to launch the app in AIR Desktop mode or iOS debug mode.
When switching to Web mode (Flash player) everything works fine.
The project is being launched on IDEA. Pure AS3. Flex sdk 4.14 air sdk 18.
FWVideoEncoder with h264.
[trace] *** Security Sandbox Violation ***
[trace] SecurityDomain 'file:///d:/MyApp/FW_SWFBridge_ffmpeg.swf?v=24' tried to access incompatible context 'app:/MyApp.swf'
[Fault] exception, information=SecurityError: Error #2070: Security sandbox violation: caller file:///d:/MyApp/FW_SWFBridge_ffmpeg.swf?v=24 cannot access Stage owned by app:/MyApp.swf.
at flash.display::Stage/get stageWidth()
at com.rainbowcreatures::FWVideoEncoder/start()
at com.rainbowcreatures.swf::FWVideoEncoder/start()[C:\wamp\www\flashywrappers_svn\FW_src_stable\FlasCC\SWFBridge\com\rainbowcreatures\swf\FWVideoEncoder.as:181]
at Main/onStatus()[D:\MyApp\src\Main.as:84]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.rainbowcreatures.swf::FWVideoEncoder/onEncoderLoaded()[C:\wamp\www\flashywrappers_svn\FW_src_stable\FlasCC\SWFBridge\com\rainbowcreatures\swf\FWVideoEncoder.as:132]

Are you using ANE's when launching in AIR Desktop / iOS. I see its trying to use SWFBridge_ffmpeg.swf which indicates you are using SWC, which you shouldn't do.


how to handle vpc dns options?

I have issues
I'm submitting a...

[ ] bug report
[ ] feature request
[ x] support request
[x ] kudos, thank you, warm fuzzy

I'm working with a VPC that has dhcp options setup with multiple domain names.  In my case I have 2 domains in the search path

us-east-2.compute.internal
mycorp.internal

The problem I run into, is that according to:  aws docs,
"Some Linux operating systems accept multiple domain names separated by spaces. However, other Linux operating systems and Windows treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name."
This appears to be the case with the amazon linux eks ami - I get a hostname that looks like this: ip-10-0-1-199.us-east-2.compute.internalmycorp.internal.  This is a problem, because in our case, it exceeds the 63 character limit for the kubernetes hostname metadata tag, and nodes cannot join the cluster.
Has anyone dealt with this, or has suggestions work workarounds?

Hi @hhuuggoo! Have you found a workaround?

How this is related to terraform-aws-eks module ? This module will only deploy EKS.

@okgolove / @hhuuggoo cross check your DHCP options set in AWS for multiple domain-name options ... I think its a limitation in the AWS EKS AMI ...

@diclophis I think this is kubelet feature, not EKS. I've checked kubelet cloud code related to AWS and nodename is requested from EC2 metadata if you use --cloud=aws. And you can do nothing to that. 🤷♂


Custom matcher

There was some issues and requests to have more simple matchers like password min length.
In my opinion this is nothing this library should handle because zxcvbn is intended to get rid of the old paradigm  "passwords must contain three of {lower, upper, numbers, symbols}"
On the other hand i know people will still add those checks in addition to zxcvbn. Therefore we could simplify things and add an option to add custom matchers.

This is another feature I wanted to support in nbvcxz.
For nbvcxz, each "match" has to implement this interface: https://github.com/GoSimpleLLC/nbvcxz/blob/master/src/main/java/me/gosimple/nbvcxz/matching/match/Match.java
and each "matcher" has to implement this one: https://github.com/GoSimpleLLC/nbvcxz/blob/master/src/main/java/me/gosimple/nbvcxz/matching/PasswordMatcher.java
So anyone can pull in nbvcxz and implement a custom matcher / match type that does whatever specific thing I didn't think of, and calculates entropy whatever way the user makes it work. They just need to use the configuration to specify that custom matcher should also be used, as by default we only run with the matchers provided with nbvcxz.
I specifically didn't make it easy to do things like a "min length", but it is still possible to do if they wanted to. You could just specify a "MinLengthMatcher" that will match to whole passwords if they are < some length, and a corresponding "MinLengthMatch" that calculates 0 (or some really low) entropy value.
After typing all this out, I see you already have a PR that you have done a good bit of this work. So likely this info is unnecessary =).

Hey thanks for the insides anyway :)
Here it will be fairly easy to use custom matcher because everybody could just add more matchers in an array :D
In a perferct wolrd i would like to let the users use the custom matcher without adding a scoring to their matchers. This way they could add feedback for the password without changing the scoring but this seems to be a bit difficult.
When i have time again, i will probably fix the types in my PR and merge it.


Add a warning that ipfs is not anonymizing

This issue is part of Epic 3A: Fixes from user feedback/other metrics.
Please add a conspicuous warning on https://ipfs.io/ saying that ipfs alone is not anonymizing.
I don't know how many people, or if any at all, might get confused, but it's generally good to be on the safe side.

We've just finished documenting the IPFS Open Problem: Preserve full users' privacy when providing and fetching Content

Awesome - let's build this discussion into whatever artifact we build to address this on the site!

@jessicaschilling not sure how useful this is, but IPFS Companion's Privacy Policy tries to warn users about lack of anonymity by listing what type of data is shared or can be logged by other peers.

@lidel It's SUPER useful. 🙏


[windows][test] Ensure the ordering of stdout and stderr messages.

It is possible that the rest of the platforms are relying in some not
clearly documented behaviour that the stdout is flushed before stderr
can be used, or something similar. Windows didn't seem to like that, and
was sometimes outputting the stderr messages interlaced with the stdout
messages (specially in the Azure testing for VS2017). The initial
solution was adding -DAG to some CHECK lines, but that doesn't cover all
the possibilities, and wasn't enabled for all the checks.
I tried to fix it in several ways, but none of them were perfect, and
many of them were deadlocking. There's a fundamental difference between
others and Windows and that is that for others stdout seems to have a
little bit of an edge in being treated first. I tried to get the Windows
code closer to that idea, but I have no luck. Some of the approaches
were using the main thread to read from the threads reading stdout and
stderr; using only the main thread and IOCP on the pipes reading from
the child process; and flushing after every output to stdout. None of
them were perfect.
The final solution is a hack, but it seems to not fail when I run the
test repeatedly in my machine, while other approaches were failing at
least once before I discarded them. The solution is including a small
sleep (1 millisecond) in the Windows code. This should yield the
execution time slice to other thread/process, which seems to do the
trick and keep the stdout before the stderr.
Hopefully this fixes the errors in Azure, and doesn't affect the rest of
the testing machines. Being a really small sleep also should not affect
the duration of the test itself.

@swift-ci please test Windows platform

@swift-ci please smoke test

Sigh. It was expected. The other test that's flaky in Windows.
@swift-ci please test Windows platform

@swift-ci please test Windows platform

Funny thing. Seems that windows-2019-2 machine in CI didn't refreshed the environment variables and was never going to pass that test.
@swift-ci please test Windows platform

@swift-ci please test Windows platform

@swift-ci please smoke test

@compnerd: do we still want this? It will solve one of the problems in https://dev.azure.com/compnerd/windows-swift/_build/results?buildId=5744&view=results

This is horrible, but, if it makes the 2017 tests reliable, lets do it.


Builds API

Hello,
Looks pretty cool for my next project, any chance of including the build api?
https://docs.gitlab.com/ce/api/ci/builds.html
Regards

Hi @JanStevens, thanks for your interest! On builds I'm accepting PRs! Personally I don't see me doing this anytime soon. I'm probably going to focus on Pipelines first for my own project.
If you run into anything, feel free to ask!

Allright, I was looking for finding the coverage of gitlab builds, but the build API itself is pretty useless (since a pipeline contains x builds and only one of them echo's the coverage). Filtering on builds is also not possible (for example filtering on name).
I'm now looking into pipelines but again this is useless, I hoped a pipeline would have a coverage (as it does in the UI but it apparently just takes all the builds and finds the one with the coverage)

Please create a new issue on gitlab-ce at gitlab.com. Would you be so kind to mention me there (@zj)? These are use cases that should be supported, but I hope you understand sometimes use cases are overlooked.

Also, @JanStevens, it seems that if coverage is reported by the build and the regex is set, it is exposed by the API. Please take a look at the response examples in the GitLab docs you linked. 😄

It's only exposed in the build API, for a project we have one pipeline with 18 builds (parallel specs and so on) only one of them has coverage

Gitlab CE Issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/24801

@JanStevens Now that issue is closed, and RC1 will be deployed soon on GitLab.com, would you be willing to implement these changes?

It's merged on master but not in any release, so no point in doing this yet I assume

@JanStevens It should be in 3 releases already, could you elaborate?

My bad, its there indeed


Assertion method expected and actual parameter orders should be predictable

Description
Assertion method parameter orders should be predictable. I have hard time following if expected is first or second parameter.
equal:
parameters[0]: actual
parameters[1]: expected
includeOrderedMembers:
parameters[0]: expected
parameters[1]: actual
Package version
"@japa/preset-adonis": "^1.0.15",
"@japa/runner": "^2.0.7",

Nevermind, this is already correct.
Reason this confused me is this:
I have a paginated endpoint and wanted to check if the returned array is subset.
But the returned array (the actual) is the smaller array. So it feels awkward to put it on second parameter like this:
assert.includeDeepMembers(prefetchedResourcesBeforeSendingRequest, response.body().data)

So are we all good here?

All good, thanks


account for resource_action in a dialog_field on update

This was brought to my attention by @romanblanco who found this error when using the API.
The update of a dialog_field needs to account for a resource_action: if an id is provided, update the resource_action; if no id is provided, set the resource action to a new one
@miq-bot add_label bug
@miq-bot assign @gmcculloug

Tested the API with dialog editor, fixes the issue 👍
Thank you, @jntullo :blush:

@jntullo Is this needed in the Euwe release?

@gmcculloug yes we should get it into Euwe

This PR isn't needed in Euwe as https://github.com/ManageIQ/manageiq/pull/11527 is euwe/no


Issue with other mods relying on GuiIngameForge.right_height

Hello,
I'm the author of the mod Vampirism and recently had a report about an compat issue with this RPG-Hud mod (https://github.com/TeamLapen/Vampirism/issues/220).
Vampirism replaces the food bar with a blood bar by canceling the food render event and rendering the blood bar very similar then.
Canceling still works fine with your mod, however the rendering itself does not work correctly.
The placement of the GUI element relies on GuiIngameFore.right_height (static) which is used by Vanilla to make sure food, air bubbles and mount health are not rendered on each other if all are displayed.
int top = event.getResolution().getScaledHeight() - GuiIngameForge.right_height;
 GuiIngameForge.right_height += 10;

The RPG-HUD does not use this (which is probably fine), but it also never resets it as vanilla (GuiIngameForge#renderGameOverlay) does. So it is increased to insane values.
Simplest solution would be to just do the same and reset GuiIngameForge.right_height (and GuiIngameForge.left_height) to 39 during each overriden #renderGameOverlay
Thx

Thanks for informing me. I'll look into it!

Not completely sure, but it looks like you are reseting the right_height of your own class GuiIngameRPGHud. Since this is a static field this does not affect the static field in the vanilla GuiIngameForge
Since Vampirism does not know about your custom class it can only access the static field GuiIngameForge.

eh. you're right. WHy did I make a new one. the normal one is public static o.o
Let's eh. not talk about this ever again.
Will be fixed with the upcoming bugfix version.

Thx


[Help] HubConnection (client) dependency injection

Hello. I would need some help with Hub Client implemented in C#. I made HubClient which can connect to the hub server and listen/receive messages. I am trying to inject it into MyClass which should be able to send and receive message. I can send message but I can't figure out how to receive message in MyClass.
To make things more clear, I have single instance of HubClient that will live for ever. And I have multiple classes that have to process messages received from the hub. How can those classes know about received message and process it accordingly?
services.AddSingleton<IHubClient>(new HubClient(Configuration["App:Hub"]));

public class HubClient : IHubClient
{
    private HubConnection hubConnection;

    private async Task ConnectAsync()
    {
        // Connect

        hubConnection.On<string>("Broadcast", OnBroadcast);
    }

    public async Task Send(string message)
    {
        await hubConnection.SendAsync("method", message);
    }

    private void OnBroadcast(string message)
    {
        // Received message
    }
}

public class MyClass
{
    private readonly IHubClient hubClient;

    public MyClass(IHubClient hubClient)
    {
        this.hubClient = hubClient;
    }

    public Task Send(string message)
    {
        // Sending message to the hub works
        await hubClient.Send(message);
    }

    // How can I process received messages here?
}

You need to expose that event from your IHubClient interface somehow. One option would be to expose an event that maps to the specific messages you'd like to expose:
public interface IHubClient
{
     event Action<string> OnBroadcast;
     Task Send(string message);
}

public class HubClient : IHubClient
{
    private HubConnection hubConnection;

    public event Action<string> OnBroadcast;

    private async Task ConnectAsync()
    {
        // Connect

        hubConnection.On<string>("Broadcast", OnBroadcast);
    }

    public async Task Send(string message)
    {
        await hubConnection.SendAsync("method", message);
    }

    private void OnBroadcast(string message)
    {
        // Call subscribers
        var event = OnBroadcast;
        if (event != null)
        {
             event(message);
        }
    }
}

public class MyClass
{
    private readonly IHubClient hubClient;

    public MyClass(IHubClient hubClient)
    {
        this.hubClient = hubClient;
        this.hubClient.OnBroadcast += OnBroadcast;
    }

    public Task Send(string message)
    {
        // Sending message to the hub works
        await hubClient.Send(message);
    }

     public void OnBroadcast(string message)
     {
     }
}

Just remember to consider the lifetime of MyClass, who ever adds an event handler needs to remove it.

It works. Thank you.


Getting events but not attendees still leads to "system is ready"

For reference, something just broke rfidera, but regme still claims to be ready for use. Regme says so because it got the events, but the attendees aren't there, so we need to handle this case as an error. Sort of kind of critical, as this could cause mass confusion during an event. Considering the mail feedback we got from bedkom and fagkom, I believe this might actually have happened already.

Fixed


Akhalkalaki Georgia

Activity
Show details
Write a comment…
Diana Pushkina Feb 9, 2021 1:47 PM (edited)
in progress


Format Dockerfiles at TRAMP mode

What did you expect to happen?
I am editing a Dockerfile through SSH on the server, and whenever I save the file I get the "please pass in dockerfile" error from dockfmt. The path is not passed correctly.
What actually happened?
I am editing a Dockerfile through SSH on the server, and whenever I save the file I get the "please pass in dockerfile" error from dockfmt. The path is not passed correctly.
Describe your attempts to resolve the issue
None, sorry.
Steps to reproduce
I am editing a Dockerfile through SSH on the server, and whenever I save the file I get the "please pass in dockerfile" error from dockfmt. The path is not passed correctly.
System Information
https://pastebin.com/

related: https://github.com/jessfraz/dockfmt/issues/19


Fix typos in react-query doc

Hello :)
I just fix 2 typos in the @ts-rest/react-query doc.
Have a nice day

Hey @romain-trotard, I appreciate the PR, nice catch ;) The docs need some love so this is awesome.


BSD compatibility

WIP: OpenBSD 6.1

https://github.com/WyldePointer/enocrypt/commit/1923da836967ff64fb89482fadc0449d527961af


bug: error during binary extraction on start/stop/change node

error during binary extraction
Error: package does not exist: https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.8.25-14ae1246.tar.gz

After starting package, stop, downloading different one, starting different
might even happen if only downloaded and started. Also happens if restarted Grid
Worth noticing the url presented actually works.

Closed by https://github.com/ethereum/grid-ui/commit/c4d687c6f9437d22e01f0c102a1d135a51b6b30c


Print Complement test failures at the bottom of the test output

Skipped tests too. Credit is not mine, just duplicating what I saw in the Synapse repository.
Fixes #589
Pull Request Checklist

[x] Pull request includes a sign off

Signed-off-by: Jason Little<EMAIL_ADDRESS>

Where is this in the Synapse repository?

Where is this in the Synapse repository?

The file layout is the same. The template is in .ci and the gotestfmt wrapper script is is .ci/scripts. Here's the permalinks:

complement_package.gotpl
gotestfmt

Sorry for making extra directory's. The only other script place I saw was for build scripts, which this didn't feel right for.


Issue on the bash major version check

Hi sdkman-cli team,
I've received a message from the sdk tool about my outdated version of bash. It seems strange to me since I'm using a recent version of Lubuntu (16.04).
It seems a localization problem in the code inside sdkman-utils.sh file, line 108:
-z "$(bash --version | grep 'GNU bash, version 4..*')"

Infact, the actual message given by my bash --version is slightly different because of the Italian localization:
GNU bash, versione 4.3.48(1)-release (x86_64-pc-linux-gnu)

confirmed, make sure to put  a "export LC_ALL=C" inside a bash script to make it independent of current environment. "export TZ=UTC" is usually a good idea, too.

Same problem here, czech version.

The fix has been merged and is available on the beta channel for testing. If I get the thumbs up I'll release it to stable.

This was released as 5.6.4 and resolves the problem so closing this issue.


not startable.

when i clone the repo and do pnpm i and then pnpm dev i'll get this:
event - compiled client and server successfully in 570 ms (2663 modules)
warn  - Fast Refresh had to perform a full reload due to a runtime error.
[next-auth][warn][EXPERIMENTAL_API]
`getServerSession` is used in a React Server Component.
https://next-auth.js.org/configuration/nextjs#getServerSession}
https://next-auth.js.org/warnings#EXPERIMENTAL_API
[next-auth][warn][NEXTAUTH_URL]
https://next-auth.js.org/warnings#nextauth_url
[next-auth][warn][NO_SECRET]
https://next-auth.js.org/warnings#no_secret
error - TypeError: fetch failed
error - TypeError: fetch failed
digest: "2809600469"

on render...

Have you added the correct environment variables?
https://github.com/vercel/nextjs-planetscale-nextauth-tailwindcss-template/blob/main/.env.local.example

Hi @leerob ,
thanks for the response! No I didn't. Thanks for the Advice!
Maybe some documentation on how to deploy it would be great in general. In the readme or something... :)


add git helper to installer build

also delete some old scripts.
Built + tested.
@keybase/react-hackers

it works! Successfully built + tested https://ci.keyba.se/job/windows-installer/lastSuccessfulBuild/artifact/src/github.com/keybase/client/packaging/windows/jenkins-windows-installer-1073/Keybase_1.0.32-20170928125708+226bd28.386.exe

I'd test various git apps to see if this works

[ ] github
[ ] git bash
[ ] others?

code seems fine but we should test the various clients

Didn't work with the git shell that comes w/ github for me

git bash doens't work for me either


logos for collectives

Some collectives do have a logo but it doesn't look good on the collective page, and some others have it on twitter/facebook but not in OC, im going to keep a track of these collectives and vectorise their logos so we can make all collectives look great 👌
feel free to give me a heads up to any collective that can benefit of this.

https://opencollective.com/cutestrap
cutestrap.svg.zip
  << png

https://opencollective.com/lesbarbares
les barbares.svg.zip << png


using which function can I plot Optimal Classification Trees?

Could you give me some advice about which function can I plot Optimal Classification Trees?

Sklearn provides plot_tree for decision tree visualization. However, I have no plan to add this feature in OCT. I am highly encouraged you and others contribute to the visualization.


ifft functions or ifft mode in our current functions?

In making an example, I found myself requiring an ifft equivalent. This can be achieved with our current functions by flipping the isign and adding a normalization of the output. This is a bit obscure to obtain and maybe we need a shortcut for it

I think it would be fine to write these as small extra functions (which I prefer to adding more arguments to the existing) that call the primary implementations


Add the mean reduction for mse_loss

Description
Add the mean reduction for mse_loss solves issue https://github.com/OpenMined/SyMPC/issues/176
Affected Dependencies
List any dependencies that are required for this change.
How has this been tested?
complete the already exist test file
Checklist

[x] I have followed the Contribution Guidelines and Code of Conduct
[x] I have commented my code following the OpenMined Styleguide
[x] I have labeled this PR with the relevant Type labels
[x] My changes are covered by tests

Also run pre-commit hook.

It's Ok now

there is no  len method for torch.tensor, is there any design consideration. i just open one issue: https://github.com/OpenMined/SyMPC/issues/182


[Linux 14-LTS] pm2: not found

PM2 is nota available in Linux Web App, with node 14-LTS stack (appsvc/node:14-lts_20210226.3)
With version 12-LTS it is available (appsvc/node:12-lts_20210226.3)

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

ID: 896b5d4c-ac3b-f0a2-5102-9e59bbe2ed48
Version Independent ID: 32fd9660-0d08-205c-c7f3-57b00f35e667
Content: Configure Node.js apps - Azure App Service
Content Source: articles/app-service/configure-language-nodejs.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@albertomusetti Thanks for the feedback! We are currently investigating and will update you shortly.


fix #528

@dszczyt very nice.
But how would you prevent the original reason of the check to happen?
also, can you add tests that cover issue 528?
thanks!

Don't merge... It breaks other things, and I don't know why. My original issue was : in a controller, when we run "subscribe" with "scope.getReactively" parameters initialized juste before, subscription doesn't "see" the values in the scope. Wrapped it with a $timeout and it works. Ugly but efficient. I will try to write a test case for this issue. Thanks.

@dszczyt ok, waiting for your test so we can have a closer look.
Thanks


Power Toys keeps crashing my games

Microsoft PowerToys version
0.86.0
Installation method
Microsoft Store
Running as admin
Yes
Area(s) with issue?
General
Steps to reproduce
I am not sure whats the trigger other than having power toys running and playing any slightly or very demanding game.
I do have a suspicion that it has to do with fancy zones, since the last thing I see every single crash is the a fancyzones "Columns" template. Before the pc restarts and freezes a grey screen with the outlines of the zone appears.
This report is from right after the PC crashed and restarted.
PowerToysReport_2024-11-05-11-46-10.zip
✔ Expected Behavior
Not crashing...
❌ Actual Behavior
Games crash randomly when running Power Toys at the same time.
Other Software
The most recent game that's been causing this is Dragon Age Veilguard and its been causing it A LOT more than other games I've played. Basically every play through crashes. Another recent one was Baldurs Gate but dragon age crashes more.  Ones that have crashed before once of twice are games like League, Minecraft, COD6, Risk or Rain.

Hi @TophC7, I'm looking into your report.
To ensure we're searching for the root of the problem in the right direction, could you please confirm if disabling FancyZones in the settings stops games from crashing?
The report shows that FancyZones detected Dragon Age The Veilguard, but it seems that it did nothing with that window.
/needinfo

So I did try PowerToys on with FancyZones off and it did not Crash as fast as it did with FZ on (5-10 min) but it still crashed like maybe 20-30 mins in. The game has crashed well over 10 times with PT, FancyZones or not, sometimes just cuz I forget to turn exit PW but yeah

So I did try PowerToys on with FancyZones off and it did not Crash as fast as it did with FZ on (5-10 min) but it still crashed like maybe 20-30 mins in. The game has crashed well over 10 times with PT, FancyZones or not, sometimes just cuz I forget to exit PW but yeah

Thank you for providing that clarification. Since you have continued to experience crashes even with FancyZones disabled, it appears that FancyZones is not causing the issue.
To further investigate the issue related to PowerToys, I would like to ask if it can be reproduced without PowerToys running. If the issue does not occur without PowerToys, I suggest exploring the modules one by one to identify the exact cause. Thank you!
/needinfo


feat: analyst dashboard frontend

Implements # 639

Padding isn't working correctly on your table rows. Might need to add it on the td elements instead.


File is not a valid cf CLI plugin binary (CF-CLI v8.6.1 / Docker)

Hey there,
I got the following issue with the docker image cloudfoundry/cli:8 (v8.6.1+b5a352a.2023-02-27). Am I missing something or isn't this supposed to run with this version?
Using Kubernetes executor with image cloudfoundry/cli:8 ...

$ cf --version
cf version 8.6.1+b5a352a.2023-02-27

$ cf install-plugin -r CF-Community "multiapps" -f
Searching CF-Community for plugin multiapps...
Plugin multiapps 3.0.2 found in: CF-Community
Attention: Plugins are binaries written by potentially untrusted authors.
Install and use plugins at your own risk.
Starting download of plugin binary from repository CF-Community...
 0 B / 15.44 MiB    0.00%
 15.44 MiB / 15.44 MiB  100.00% 0s
fork/exec /root/.cf/plugins/temp1[31] 5574591/1195806702: no such file or directory
File is not a valid cf CLI plugin binary.
FAILED

BR
Lexip

Hello Lexip,
You see this issue because the artifacts uploaded in GitHub and in the CF-Comunity repo are not statically built and the image that cloudfoundry/cli:8 is based on is alpine which does not have the required C libraries.
We are considering to upload statically built artifacts in GitHub.
As of now I can suggest to clone the project, and run the "build.sh" script. This will generate the statically built artifacts in the newly created "build" directory. Then you can copy and install it during the Dockerfile build:
COPY ./multiapps-plugin-static.linux64 ./
RUN cf install-plugin "multiapps-plugin-static.linux64" -f
Best regards,
Ivan

Good morning @IvanBorislavovDimitrov,
thanks for your reply and the suggested solution. Nevertheless, I would appreciate a working and up-to-date Docker image in general, as it currently uses v8.6.1.
BR
Lexip


HDF5 intermittent failure 2

Traceback (most recent call last):
  File "/p/gpfs1/brace3/src/DeepDriveMD-pipeline/deepdrivemd/models/aae/train.py", line 390, in <module>
    main(cfg, args.encoder_gpu, args.generator_gpu, args.decoder_gpu, args.distributed)
  File "/p/gpfs1/brace3/src/DeepDriveMD-pipeline/deepdrivemd/models/aae/train.py", line 259, in main
    cms_transform=False,
  File "/p/gpfs1/brace3/src/DeepDriveMD-pipeline/deepdrivemd/models/aae/train.py", line 118, in get_dataset
    cms_transform=cms_transform,
  File "/p/gpfs1/brace3/src/molecules/molecules/ml/datasets/point_cloud.py", line 62, in __init__
    with open_h5(self.file_path, 'r', libver = 'latest', swmr = False) as f:
  File "/p/gpfs1/brace3/src/molecules/molecules/utils/read_file.py", line 20, in open_h5
    return h5py.File(h5_file, mode, **kwargs)
  File "/g/g15/brace3/.conda/envs/conda-pytorch/lib/python3.7/site-packages/h5py/_hl/files.py", line 408, in __init__
    swmr=swmr)
  File "/g/g15/brace3/.conda/envs/conda-pytorch/lib/python3.7/site-packages/h5py/_hl/files.py", line 173, in make_fid
    fid = h5f.open(name, flags, fapl=fapl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5f.pyx", line 88, in h5py.h5f.open
OSError: Unable to open file (file is already open for write (may use <h5clear file> to clear file consistency flags))

Happens during distributed training

Happens during distributed training

Potential cause:
Each rank was creating it's own virtual h5 file with the same file name for training. One rank was likely writing while the other was reading.
Solution:
Create virtual h5 file on rank 0 and broadcast to the rest.

Potential cause:
Each rank was creating it's own virtual h5 file with the same file name for training. One rank was likely writing while the other was reading.
Solution:
Create virtual h5 file on rank 0 and broadcast to the rest.

The above solution fixed the problem.

The above solution fixed the problem.


chore(main): release audit 1.53.1

:robot: I have created a release beep boop
1.53.1 (2023-09-15)
Bug Fixes

composer audit issue (912148f)
only scan root vulns when name&version exist (6d89eee)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/sandworm-hq/sandworm-audit/releases/tag/audit-v1.53.1 :sunflower:


MaterialTable.detailPanel should work via func and object (aka { render: foo })

Per https://github.com/material-table-core/core/issues/70#issuecomment-761712368
@pbr0ck3r

I was getting this issue after upgrading to 2.3.7 when I built my code for production and it was live, but running locally not it ran just fine did not show any errors.
const details = (rowData) => {
     bob
}
<MaterialTable
        columns={columns}
        data={data}
        title=""
        detailPanel={details}
        options={options}
        onRowClick={(event, rowData, togglePanel) => {
          togglePanel(rowData.tableData.id);
        }}
      />

Once I added the render in the detailPanel it worked just fine before build and after. Would be nice to throw a error if you are forgetting to pass in render. Code after looked like this:
<MaterialTable
        columns={columns}
        data={data}
        title=""
        detailPanel={[{ render: details }]}
        options={options}
        onRowClick={(event, rowData, togglePanel) => {
          togglePanel(rowData.tableData.id);
        }}
      />

Looks to be resolved in 2.3.7

Looks to be resolved in 2.3.7


root access + 3rd usb ethernet adapter support on USBC

Sadly you prematurely closed my request for root access. https://github.com/iRobotEducation/create3_docs/issues/221
@alsora suggested "Could you give us more details on your specific use-case and why you would need ssh access? I'm sure we can find a solution that does not involve that."
While I wait for the legal department to learn how GPL works (https://github.com/iRobotEducation/create3_docs/issues/225), lets walk through your scenario above:
I would like to plug a USB ethernet device into the USBC port, and use it to connect the bot to a local ethernet network.
CONFIG_USB_USBNET should handle it... sadly because you don't share the kernel a) I can't see the kernel config. b) even if you do have it enabled you've given me no way to act as the network administrator of my own linux box inside the Create 3 platform. As such I can't manually use ifconfig to assign an IP address range.
So... short of telling me "no, you can't use USB ethernet cuz our linux is a black box", your option is to ensure that CONFIG_USB_USBNET is compiled in the next kernel update? and to expose something in the web interface for me to edit the options?

Oh man... the crows sure came home to roost here eh!? Have the security and legal team re-watch this talk from Patrick Doyle in full, from this point on: https://youtu.be/t54T9uemiRU?t=1662

I would greatly appreciate root access to the create. I would like configure the chrony service on the create3. So I do not need to restart the robot numerous in the hope it might time sync to the connected raspberry pi.
Sadly the solution in the documentation is not effective.

Note that if there is a large jump in the time, the Create® 3 may not accept it until its next reboot. This can be verified by checking the Create® 3 robot's log for a line like
user.notice ntpd: ntpd: reply from <IP_ADDRESS>: delay ### is too high, ignoring
If this happens, simply restart the robot (not just the application) via the webserver over the USB network connection.

They won’t give it out… they are afraid. I forced them to share the GPL buildroot, but they won’t even give instructions to compile it and flash your own firmware. Soooo open!!!

So I am forced to play reboot roulette to time sync... damn.

Here are the open source repos that they were reluctant to give out.
https://github.com/iRobotEducation/meta-irobot-common
https://github.com/iRobotEducation/meta-mediatek-mt7688
https://github.com/iRobotEducation/meta-irobot-mt/
Until @irobot-ros @iRobotEdu stops ignoring the request for more documentation, yes.
https://github.com/iRobotEducation/meta-irobot-mt/issues/1


added new sections to README

Sections added: prerequisites, installation, contributing and support
Didn't change the structure of the file or deleted any of what was written before just added content.
Thought about adding something about branches on the installation part, maybe it could be added in the future, this could be a start.

Great features @glopzel .
Thanks for contributing💯🔥


UART de-initilisation and re-initilisation

Is your enhancement proposal related to a problem? Please describe.
I would like to during run time de-initialize (de-configure) the uart, and later re-initilise (re-configure) the uart. Initilisation of uart seems to be done on startup and there does not seem to be any api to allow de-configuring and re-configuring the uart after boot.
My reason for this is that I am implementing SDI-12 and which mostly resembles standard serial however has specific periods where the line must be held in a specific state (eg logic low for 12ms). These special periods I'm hoping to deconfigure the uart, reconfigure as GPIO, manually set state, wait for a period of time, and then deconfigure GPIO and return to uart mode.
Though I am working on an nrf52840, I know from previous use of STM32 devices that some devices effectively disconnect the physical pin from the GPIO and attach to an "alternate" peripheral (the uart) and as such, the reconfiguring between the uart and gpio is required (as opposed to setting up as a uart and then trying to write gpio out while in uart mode).
Describe the solution you'd like
Functions to de-initialize (de-configure) the uart, and later re-initilise (re-configure) the uart. Also these should cope with changing out of other modes if in those (specifically the GPIO mode).
Describe alternatives you've considered
Bit banging... I've considered bit banging the SDI-12 interface (it's 1200 baud so quite slow), but it would be cleaner to do in hardware (specially if can use DMA).
Additional context
For SDI-12 specification, please see http://www.sdi-12.org/current_specification/SDI-12_version-1_4-Jan-10-2019.pdf. Section 4.0 has the details on the protocol including the "break" (the 12ms logic low). Section 4.1 has the uart specifics. I'm planning on implementing the start bit as the first bit of an 8 bit uart frame.

I've found that sending breaks is actually a standard use of UART in some circumstances and so probably this could be implemented instead (modorator's may want to change the issue title?).
According to this post in Nordic's devzone (https://devzone.nordicsemi.com/f/nordic-q-a/51615/send-uart-break), one way to do this (without requiring a reconfigure of the pin), is to set the baud quite low (depending on break length), disable parity and stop bits and then send a byte of 0x00. The other option discussed is the implementation discussed in my initial post.
I'm not sure if the above is the neatest way of implementing a break, but may be the most universal method and doesn't require significant effort to provide de-initilisation and re-initilisation of peripherals.

Does your UART controller allow you to hold the UART pins in certain state? If so, the current line control API might work for your use case in the mean time while we figure out how to do de-/re-init.


Incorrect rule activation for complex nested negations with insert-unconditional

I'd expect the following test to pass:
(deftest test-complex-nested-truth-maintenance-with-unconditional-insert
  (let [r (dsl/parse-rule [[Cold (= ?t temperature)]
                           [:not [:or [ColdAndWindy (= ?t temperature)]
                                  [Hot (= ?t temperature)]]]]
                          (insert-unconditional! (->First)))
        q (dsl/parse-query [] [[First]])

        empty-session (mk-session [r q])]
    (is (= (-> empty-session
               (insert (->Cold 10) (->Hot 10))
               (fire-rules)
               (query q))
           []))))

Instead, it fails:
expected: ({})
  actual: []

expected: nil to be an instance of clojure.lang.PersistentVector
     was: nil is an instance of nil
       nil

However, if I change insert-unconditional! to insert! it passes.  I believe the root cause
of the failure here is that [1] propagates the exact salience from the original rule to the extracted negation rule.  Thus, the remainder of the original rule (without the extracted negation condition) can fire even if the extracted rule fires as well.  When using truth maintenance, any facts
inserted by the original rule should be retracted in the end, but if the salience ordering
is such that the negation condition should match something before the rule in question fires
at all it seems that Clara should prevent that RHS from ever firing.  Having ordering guarantees
like this change based on the type of constraint seems undesirable.
This can be fixed by assigning the extracted rule a higher salience than the original rule.
However, it shouldn't take on a salience that prioritizes it above another rule provided by the user
that has higher salience than the original rule.  That is, if we had a rule R1 with salience 1 and R2 with salience 2 we wouldn't want a rule extracted from R1 to have salience greater than 2.  The compiler might be able to use some spacing strategy to guarantee this, but I believe the simplest way to accomplish this would be to use an activation-group-sort-fn [2] that sorts first based on the user-provided salience (as defined by the user-provided sorter) and then based on an internal Clara parameter.  The internal Clara salience would only be considered if the user-provided function considered two rules to have equal salience.  The compiler would turn salience into tuples like [user-salience internal-salience].  So, for example, in the case before, we'd have
R1 salience: [1 :default]
R1 extracted rule salience: [1 :extracted-negation-rule]
R2 salience: [2 :default]
To be clear, the user wouldn't see any of this; user-written rules would still provide salience
in the same way as currently.  The sorting function would, after wrapping, consider the first element of the tuple (the user-provided salience) first and then use the second element as a tiebreaker using an ordering defined in the compiler.  This would also have the benefit of being easily extensible to any other rule extraction the compiler might do in the future.
Thoughts?

https://github.com/rbrush/clara-rules/blob/0.10/src/main/clojure/clara/rules/compiler.clj#L899
https://github.com/rbrush/clara-rules/blob/0.10/src/main/clojure/clara/rules/compiler.clj#L1483

Would there be any visible, negative impact if the extracted negation is fired before another user rule? Since the inserted NegationResult fact uses truth maintenance, it seems like this shouldn't have any visible impact and we could just increment the salience by 1. This seems like the simpler fix (although it does seem a bit arbitrary and hack-ish).
However, I still think your proposal has merit. The internal, secondary salience you suggest could be useful for other things as well. For instance, I think Drools attaches an implied salience to rules based on the order they appear in a file. We could do the same by having a [user-salience internal-salience] tuple. So I'd support going down that route if it seems worthwhile.

I think you're correct that making the ordering be "incorrect" in that way wouldn't actually
produce incorrect outcomes, assuming that additional rules don't use the fact type
that the extracted rule inserts and that the LHS code is pure (both of which should be true).
I believe the only impact would be on performance; Clara would effectively be creating an ordering
different from that provided by the user in some cases, which could potentially perform worse than the user-provided ordering.  This would happen if you had a sequence of events like this:
R1 = rule with salience 1
R2 = rule with salience 2

Extracted rule from R1 fires.
R2 fires, inserting something invalidates the above insertion.
Step 1 is retracted.

In the simple case this is trivial, but in principle I think you could create some
pathological scenarios.  For example, the extracted negation condition could have an accumulator
that would be forced to repeatedly reevaluate.  That likely falls well into edge case territory
though and might not be worth worrying about until/unless such a use case comes up.
However, there is also another problem that just occurred to me this morning.  I mentioned spacing logic - that is, choosing a numerical salience less than the next greatest salience - as a possible solution before.  So for example, if we had rules with salience with 1, 1.5, and 2, and we needed to extract a negation condition from the rule with salience 1.5, the Clara compiler would choose a value greater than 1.5 but less than 2 for the auto-generated rule.  I don't think that is actually possible in general.  If the user provides a custom activation-group-sort-fn [1] it is possible that the salience may not even be numeric.  Since that comparison function is a black box as far as Clara is concerned, I don't see a way that Clara can "add" to that salience in general.  This is also a problem for the approach of just adding some arbitrary number to the salience of the extracted negation rule to which I see no solution.
Another issue here that @mrrodriguez pointed out to me is that currently the salience used for sorting is actually generated by the activation-group-fn each time an activation is added to the memory. [2, 3]  Thus, as the memory is written now the "internal" salience would need to be retrieved separately
rather than just folded into a new salience comparison function on tuples.  I believe this would be relatively easy to change though; since the salience is pulled from the production it would be valid to just compute the salience for each production in the compiler and have the memory just look up a key rather than call a function every time.  That seems like a cleaner way to generate the salience anyway to me and would probably perform slightly better since it would eliminate repeated calls to that function during rules execution (although the default is a cheap function so in the default case it probably doesn't matter much perf-wise).
I do see a disadvantage to the multi-level salience approach though in that the activation sorting would become more expensive.  My guess is it wouldn't be by much if it was done carefully, but it would be something to be mindful of.  On the other hand, eliminating per-activation calls to the activation-group-fn might end up being a net perf gain (although probably a tiny one).
Regarding ordering based on positions in a file, that is something we've been thinking about as well.  We're looking at moving some rules we currently have in Drools to Clara, and the fact that Clara doesn't order based on position and Drools does presents potential performance problems, but in our testing so far Clara has been faster anyway.  Such ordering might make Clara even faster though or more resilient to problematic data scenarios.

https://github.com/rbrush/clara-rules/blob/0.10/src/main/clojure/clara/rules/compiler.clj#L1483
https://github.com/rbrush/clara-rules/blob/master/src/main/clojure/clara/rules/memory.cljc#L331
https://github.com/rbrush/clara-rules/blob/0.10/src/main/clojure/clara/rules/compiler.clj#L1487

Alright, you've convinced me that some form of internal salience invisible to the user that is used as a tiebreaker is the way to go. (I'm not worried about the performance cost of activation sorting...that will almost certainly be negligible when compared to the activations themselves.)
I haven't thought much about the mechanics of how we'd introduce this, but I'd be happy to make this change myself. However, if you're looking at it and were interested and able to take a pass, then please feel free to do so.

I can take care of this sometime over the next week or two.  I don't actually think it should take too long; I've sketched out the implementation already.  Thanks for your responsiveness to issues on this project!

Sounds great, Will, and thanks!
Let me know if you want to kick around a strategy for this, or if something comes up and you aren't able to jump into it soon. (Translation: I wrote this bug and while I'm happy to accept contributions to fix it, I don't want you to feel obligated to do so.)

I have an initial draft of this at https://github.com/WilliamParker/clara-rules/commit/871c77d368dd9bc9b502ceec93cb96947e981ef7
Overview:
The activation-group-fn now produces a tuple of [rule-salience internal-salience] and that tuple is what is then compared in the activation map, using the rule-salience first.  I added testing for various combinations of different manual and default activation-group-fn and activation-group-sort-fns to validate that this doesn't break existing functionality.  Everything passed on https://travis-ci.org/WilliamParker/clara-rules/builds/114818074
There is part of this that I wanted to ask about.  I see that assemble-session at [1] pretty much duplicates the functionality in the compiler for creating these functions [2].  I could just copy the new functions over to assemble-session as well, but I wonder if the better solution would be to put them someplace common in a .cljc file.
Other notes:  I was initially going to move the salience into a field on the ProductionNode so that it wouldn't need to be recalculated but it looks like that may be a bit tricky due to the need to support ClojureScript session creation and I think some compiler function signatures might need to change.  It would probably be achievable, but I think I agree that it wouldn't be a likely hotspot and I actually profiled something fairly similar in our codebase recently and the cost wasn't noticeable.  I thought that part would be a very easy enhancement, but I think I was mistaken on that point.  I also switched the functions in the session options (salience functions, alphas-fn, and the ancestors-fn) to be like
(or (get options :keyword)
      default-fn)

instead of
(get options :keyword default)

The difference here is that the "or" version will use the default if you give an explicit nil value.  Nil will just blow up with an NPE, so I don't see a valid use-case for wanting to actually use it, and when creating sessions with arguments constructed dynamically it seems easier/more consistent with Clojure conventions to me to allow a nil value under the key than requiring the caller to remove the key.
Also, I looked at the way comparisons are done in Clojure [4] and ClojureScript [5], and it looks like it is the same, so I think the same activation-group-sort-fn logic can just be reused for both.  (As opposed to needing to write different Clojure and Clojurescript functions).

https://github.com/rbrush/clara-rules/blob/0.10/src/main/clojure/clara/rules.cljc#L221
https://github.com/rbrush/clara-rules/blob/0.10/src/main/clojure/clara/rules/compiler.clj#L1475
https://github.com/rbrush/clara-rules/blob/0.10/src/main/clojure/clara/rules/memory.cljc#L297
https://github.com/clojure/clojure/blob/clojure-1.7.0/src/jvm/clojure/lang/AFunction.java#L46
5.https://github.com/clojure/clojurescript/blob/f58dcdf4dc37ef52d4eb1e2b7c994282bf6351f5/src/main/cljs/cljs/core.cljs#L2171

Great! The overall approach looks good.
As for the redundancy around assemble-session, I think it does make sense to refactor the common parts now that it's getting more complicated. The ClojureScript code can't depend on anything from clara.rules.compiler, but we could add something like a rulebase-and-options-to-session function in clara.rules.engine that does as much common work as possible, including all of the logic around activation sorting.
Some logic -- I think most things up to creating the rulebase itself -- will need to be separate in the Clojure and ClojureScript worlds to work around ClojureScript's lack of eval. But the salience functions should be able to move. clara.rules.engine is a good place to put this since it's common between the platforms and does not need anything that uses eval.
Thanks for working on this!

I have created a pull request for this at https://github.com/rbrush/clara-rules/pull/176
I moved the activation group and activation group sort function generators into the engine;
they take the session options as a parameter and return the function that should be used.
The same functions are called in compiler/mk-session* and rules/assemble-session, which should limit
the ability for those to diverge. Regarding the ClojureScript side, I see that according to this comment [1] salience is not supported in the ClojureScript version.  I don't see a reason for this to be the case; is this no longer accurate or am I missing something?  If there is salience in the ClojureScript version now
I can add a test in test_rules.cljs if desired; the current overall pattern appears to me to rely primarily on the Clojure tests (which have the benefit of allowing dynamic creation of sessions to test scenarios).
Regarding the salience comparison function, there is a small user-facing behavior change.  When Clojure uses a function as a comparator, it expects the return value to be either a boolean or a number. [2]  ClojureScript (at least sorted-map-by), on the other hand, will use the number as a comparison value but otherwise falls back to Clojure(Script) truthiness semantics [3]. I considered using the comparator core function to get around this, as discussed in the comments on the previous draft, but the problem is that comparator just uses the truthiness semantics of Clojure(Script) while not using numerical return values [4, 5], so this would be a breaking change.  As written now, the only change is that Clojure Clara would use truthiness; all current valid cases would behave identically to before.  For example
(fn [a b] (if (some-condition a b) :truthy nil))

would currently blow up in Clojure but work in ClojureScript if used as the activation-group-sort-fn.
After this change it would work in both.  I can change this to use reader conditionals, but I don't know
if replicating this behavior is worth the complexity or risk that Clojure might change (thus making Clara more strict than Clojure).  I don't have any idea at this time how likely such change would be.  This is probably a minor issue either way though.

https://github.com/rbrush/clara-rules/blob/0.10/src/main/clojure/clara/rules.cljc#L254
https://github.com/clojure/clojure/blob/clojure-1.8.0/src/jvm/clojure/lang/AFunction.java
https://github.com/clojure/clojurescript/blob/v1.8/src/main/cljs/cljs/core.cljs#L2115
https://github.com/clojure/clojure/blob/clojure-1.8.0/src/clj/clojure/core.clj#L2985
https://github.com/clojure/clojurescript/blob/v1.8/src/main/cljs/cljs/core.cljs#L9958

This looks good to me. That ClojureScript comment may be out of date, but I think it's okay to move forward with the Clojure version and do the ClojureScript refactoring as a subsequent change, since it doesn't have nearly the usage of Clojure at this point. I'll plan on getting this merged today.

The pull request has been merged, so I'm going to close this and target it at 0.11. We can log additional issues for any further changes.


Use Sonatype snapshots for main branch

https://kotlinlang.slack.com/archives/C02UUATR7RC/p1681931900680129?thread_ts=1681908846.685519&cid=C02UUATR7RC
JitPack is still good to have to test e.g. changes on feature branches.

WIP: https://github.com/typesafegithub/github-workflows-kt/pull/804

See https://github.com/kotest/kotest/blob/master/buildSrc/src/main/kotlin/kotest-publishing-conventions.gradle.kts

Snapshots are published: https://s01.oss.sonatype.org/content/repositories/snapshots/io/github/typesafegithub/
Left to do: update the docs at https://typesafegithub.github.io/github-workflows-kt/user-guide/nightly-builds/


is there a way to disable callbacks for specific models?

https://github.com/rroblak/seed_dump/pull/75 might be helpful.

Currently, no there isn't. There's always a balance between adding a million options and keeping things simple. I'm going to close this for now, but I'll keep it in mind for future changes.


fbx output only 10 seconds long

Hi, thanks for the quality work.
I am able to create new dance sequences on custom music of 30 sec length but I see that exported .fbx rendered sequence is < 10 seconds long. Not sure what the reason is, I export using 30 FPS frame rate.
I can verify that stick figure rendered video is 30 second long which is expected. So just wondering what I might be doing wrong while rending in blender.
Thanks !

https://github.com/user-attachments/assets/733b1375-d7a9-4c20-8d20-b3baafc4ba53


Nuget package error - Could not locate install path after package was installed.

Hi there,
I'm trying to add nuget package to my script and I'm getting the following error. I would be happy if you could help me, thanks.
Package Cache Folder: C:\Users{user_name}\AppData\Local\NetPad\Cache\Packages
using Microsoft.Extensions.DependencyInjection;

var serviceProvider = new ServiceCollection()
    .AddScoped<ICustomer, Lcw>()
    .AddScoped<ICustomer, Gratis>()
    .BuildServiceProvider();

var serv = serviceProvider.GetRequiredService<ICustomer>();
serv.Account.Dump();

public interface ICustomer
{
    string Get();
    Account Account {get;}
}

public enum Account
{
    Lcw = 1,
    Gratis = 2
}

public class Lcw : ICustomer
{
    public string Get() => "Lcw";
    public Account Account => Account.Lcw;
}

public class Gratis : ICustomer
{
    public string Get() => "Gratis";
    public Account Account => Account.Gratis;
}

System.Exception: Could not locate install path after package was installed. Package ID: Microsoft.Extensions.DependencyInjection.Abstractions, Version: 8.0.0
   at NetPad.Packages.NuGetPackageProvider.InstallPackagesAsync(PackageIdentity explicitPackageToInstallIdentity, IEnumerable`1 packagesToInstall, SourceCacheContext sourceCacheContext, ILogger logger, CancellationToken cancellationToken) in /home/tips/Source/TIPS/NetPad/src/Infrastructure/NetPad.Infrastructure/Packages/NuGetPackageProvider.cs:line 530
   at NetPad.Packages.NuGetPackageProvider.InstallPackagesAsync(PackageIdentity explicitPackageToInstallIdentity, IEnumerable`1 packagesToInstall, SourceCacheContext sourceCacheContext, ILogger logger, CancellationToken cancellationToken) in /home/tips/Source/TIPS/NetPad/src/Infrastructure/NetPad.Infrastructure/Packages/NuGetPackageProvider.cs:line 561
   at NetPad.Packages.NuGetPackageProvider.InstallPackageAsync(String packageId, String packageVersion, DotNetFrameworkVersion dotNetFrameworkVersion) in /home/tips/Source/TIPS/NetPad/src/Infrastructure/NetPad.Infrastructure/Packages/NuGetPackageProvider.cs:line 156
   at NetPad.Packages.NuGetPackageProvider.GetPackageAndDependencyAssetsAsync(String packageId, String packageVersion, DotNetFrameworkVersion dotNetFrameworkVersion) in /home/tips/Source/TIPS/NetPad/src/Infrastructure/NetPad.Infrastructure/Packages/NuGetPackageProvider.cs:line 231
   at NetPad.Utilities.ReferenceUtil.GetAssetsAsync(IEnumerable`1 references, DotNetFrameworkVersion dotNetFrameworkVersion, IPackageProvider packageProvider) in /home/tips/Source/TIPS/NetPad/src/Core/NetPad.Domain/Utilities/ReferenceUtil.cs:line 26
   at NetPad.Runtimes.ExternalProcessScriptRuntime.GetRunDependencies(RunOptions runOptions) in /home/tips/Source/TIPS/NetPad/src/Core/ScriptRuntimes/NetPad.ExternalProcessScriptRuntime/ExternalProcessScriptRuntime.Setup.cs:line 33
   at NetPad.Runtimes.ExternalProcessScriptRuntime.RunScriptAsync(RunOptions runOptions) in /home/tips/Source/TIPS/NetPad/src/Core/ScriptRuntimes/NetPad.ExternalProcessScriptRuntime/ExternalProcessScriptRuntime.cs:line 81

I can see the packages are downloaded to the relevant directory

Hello! That's interesting. I would like to inspect the folder structure under Microsoft.Extensions.DependencyInjection.Abstractions, if you could ZIP the Abstractions folder from your screenshot and send it over that would be helpful.

microsoft.extensions.dependencyinjection.abstractions.zip
Of course I added the folder, thanks.

Not sure if you tried this already but could you try deleting the 8.0.0 folder inside microsoft.extensions.dependencyinjection.abstractions folder and try running a script that has Microsoft.Extensions.Dependencyinjection.Abstractions referenced.
The only thing I found that stood out was that there's supposed to be a netpad.json file inside that 8.0.0 directory that NetPad creates when it downloads the nuget package, in the folder you gave me, its missing. That might mean you are not referencing the Microsoft.Extensions.Dependencyinjection.Abstractions lib in your script using (F4 > Packages) and instead you might be referencing the .dll assembly directly by browsing for it on disk? That's probably not the case but just want to confirm.

I tried as you said but I still get the same error. Here is script properties, I did not reference the .dll directly.

OK well that's a head scratcher because its not showing in the Local Cache section on the left side, and it should! To rule out its not some weird upgrade issue or something, can you try these steps:

Remove the reference from the script
Close NetPad
Completely delete the C:\Users\{user_name}\AppData\Local\NetPad\Cache\Packages folder
Start NetPad back up
Add the reference to the script again, Save the properties window and then run the script

Thank you for reporting this.

I think its related to the package that I'm trying to install. Cause when I click + Reference button on Microsoft.Extensions.DependencyInjection package, following error appears in the middle of the bottom status bar. And no netpad.json file in it. But I've try different packages and they took maybe 1 second longer to install and I saw the yellow status bar after I've clicked + Reference button. I don't saw any yellow status bar when I try to install Microsoft.Extensions.DependencyInjection package
I hope this difference gives us a clue.

Is there any way to debug or somehow see detailed error messages while the package is being installed?
Thanks,

I've found it. It's related to Turkish I problem. In the
src/Infrastructure/NetPad.Infrastructure/Packages/NuGetPackageProvider.cs - GetInstallPath method, I've change ToLower -> ToLowerInvariant.
You see, in Turkish uppercase letter I get lowers to ı, not i. And lowercase letter i gets upper to İ.
private string? GetInstallPath(NugetPackageIdentity packageIdentity)
{
    bool TryGetPath(string? path, out string? newPath) ...

    string dirPath = Path.Combine(GetNuGetCacheDirectoryPath(), packageIdentity.Id.ToLowerInvariant(),
        packageIdentity.Version.ToString().ToLowerInvariant());

    if (TryGetPath(dirPath, out string? installPath))
        return installPath;

    return null;
}

Got it, ya that looks like the problem indeed. I'll merge your PR and take a closer look at other locations where this same change is needed. Thank you for taking the time to figure out the issue and submit a fix!

PR #152 is merged. This will go out with next release (v0.7.0)


Web Chat with Direct Line Extension not working - 502 error

Hi
I've built a bot in Framework Composer and published it to Azure. Web Chat is working fine but I'd like to implement Direct Line as I believe it offers enhanced security, and might get round the Magic Code I'm seeing when users are signing in via OAuth.
I've worked through the documentation but can't seem to get the bot to work on my local machine.
The token is generating ok but in Chrome console I'm getting the error:
Failed to connect Error: Connection response code 502
(anonymous) @ webchat.js:2
Not sure if this is to do with the Body of my POST request but not sure what else to replace those parameters with. Below is a copy of my code - with various bits removed obviously :)
<!DOCTYPE html>

    <title>Web Chat</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

If anyone has any input or guidance I'd really appreciate it. Or - if I'm just pure barking up the wrong tree let me know!

Believe the issue may be caused by using Bot Framework Composer and not being able to use NamedPipes in startup.cs:
"Allow your app to use named pipes:
Open the Startup.cs file.
In the Configure method, add a call to the UseNamedPipes method."

Unfortunately, there are many ways to break a Composer bot if you edit the underlying bot project. If you're just starting out with bot development, consider starting with Power Virtual Agents or an "SDK-first" bot (Create a basic bot).
This repo is for doc-related issues. For the best places to submit product requests or ask troubleshooting questions, See Bot Framework additional resources.


CTA-Card Branch

Dev Summary

[Mocks](https://www.figma.com/file/KE2Sw6ob07agN25RmeNuFg/GiveCycle-wireframes?node-id=4076%3A12228)

Created a new component CTACard.tsx within the components directory.
Imported CTACard.tsx into Home.tsx to display on the landing page above the recent needs section and below the hero image section.
Imported necessary elements into the CTACard component as well as placeholder text.
Worked to follow the wireframe spacing as outlined, some sizes such as the arrow were adjusted as the wireframe had them as too small in comparison to the rest of the component.
Mouseover effect does not match intended mock, which is more of a transition where the arrow grows. I was unsure how to match the intended effect using Material UI.
Headline responsiveness needs work when keeping mobile devices in mind, the rest of the component should be responsive as intended.

Test Plan

repro steps:

localhost:3000
click X button
expected:

localhost:3000
open homepage and navigate to section below hero image.
expected: You should see 3 CTA cards with placeholder text. I used a placeholder image for the circle in the bottom left and the arrow is on the bottom right of the card.

Resources

stackoverflow is cool
MUI official documentation for: Grid, Avatar, Card, CardContent, IconButton, Typography, MUI Icons, makeStyles from MUI styles.

Hi @SeaAustinCode , great work! Can you link the issue for this PR either on the PR description or here:

@SeaAustinCode , great job getting this started. Thanks for bearing with us. There is still some work to do to get this to look like the mocks:

[ ] Add the text from the mocks instead of Lorem Ipsum - probably our mocks changed after you made these changes, but you should be able to copy text from figma.
[ ] see comments


fix undefined reference to `CLSID_SpVoice' build missing sapi library on windows

fix undefined reference to `CLSID_SpVoice' build missing sapi library on windows

This is apparently a mingw thing, MSVC does not require it.


Add custom configuration for the Fetch Client

Hello Team!
I'm currently running this SDK under Next.js 13 using server components, everything works fine, but I would like to set some tags to the fetch request in order to leverage the caching function of Vercel.
The feature is explained here: https://nextjs.org/docs/app/api-reference/functions/revalidateTag.
And that's basically what I want to do:
fetch(url, { next: { tags: [...] } });
Currently, I already added the custom Next.js fetch to the Notion Client through the dedicated property, but this is the only thing I can do.
Any idea about how can I solve this problem?

You can use a custom fetch when you create your client:
const notionClient = new Client({
  auth: process.env.NOTION_SECRET,
  fetch: (url, opts) => {
    return fetch(url, {
      ...opts,
      next: { tags: ['notion'] },
      cache: 'force-cache',
    })
  },
})

I was looking at this exact same issue. However, I need to get one step further: I need to set tags dynamically, on a per operation basis (that's for being able to independently invalidate certain pages). How shall I go around that? Creating a separate client before every operation sounds a bit pointless, but I don't think a custom fetch can be passed to client methods (i.e. notionClient.pages.retrieve, to build on the example above)?