Bazel fails to run inside Docker container

Running bazel inside of a Docker container fails to make any progress terminating "previous" processes when executed from a Bazel workspace.  This happens even after running bazel shutdown before trying to execute bazel from within the Docker container.  Below is an example of Bazel's output and the corresponding Dockerfile.
working command (not ran from Bazel workspace)
$ docker run --rm -ti bazel
Extracting Bazel installation...
Apr 17, 2015 5:31:46 PM com.google.devtools.build.lib.runtime.BlazeRuntime batchMain
INFO: Running Blaze in batch mode with startup args [--batch, --install_base=/root/.cache/bazel/_bazel_root/install/f05fefbab57bb043124ff4a4a441b0be, --output_base=/root/.cache/bazel/_bazel_root/d41d8cd98f00b204e9800998ecf8427e, --workspace_directory=, --nofatal_event_bus_exceptions, --option_sources=]
                                                     [bazel development version]
Usage: bazel <command> <options> ...

running bazel from within Bazel workspace ($HOME/repo)
$ cd $HOME/repo
$ bazel shutdown
..........
$ docker run --rm -ti -v "$PWD:/repo" -w /repo bazel
Extracting Bazel installation...
.....
Sending SIGTERM to previous Bazel server (pid=29)... done.
......
Sending SIGTERM to previous Bazel server (pid=79)... done.
.....
Sending SIGTERM to previous Bazel server (pid=129)... done.
.....
Sending SIGTERM to previous Bazel server (pid=179)... done.
.....
Sending SIGTERM to previous Bazel server (pid=229)... done.
.....
Sending SIGTERM to previous Bazel server (pid=279)... done.
.....
Sending SIGTERM to previous Bazel server (pid=329)... done.
.....
Sending SIGTERM to previous Bazel server (pid=379)... done.
....^C

Dockerfile
# docker build -t bazel .
 From where does Bazel get the PID it tries to kill? Can you verify if something is actually running ?

It seems that Bazel actually starts a server and then kills it repeatedly.  This even happens for bazel shutdown within the Docker container.
$ docker run --rm -ti --entrypoint /bin/bash -v "$PWD:/repo" -w /repo bazel
root@cc20791eb0e8:/repo# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.6  0.0  20228  1868 ?        Ss   17:19   0:00 /bin/bash
root         5  0.0  0.0  17484  1124 ?        R+   17:19   0:00 ps aux
root@cc20791eb0e8:/repo# bazel
Extracting Bazel installation...
.....
Sending SIGTERM to previous Bazel server (pid=30)... done.
.....
Sending SIGTERM to previous Bazel server (pid=80)... done.
.....
Sending SIGTERM to previous Bazel server (pid=130)... done.
.....
Sending SIGTERM to previous Bazel server (pid=180)... done.
.^C
root@cc20791eb0e8:/repo# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.0  20228  1944 ?        Ss   17:19   0:00 /bin/bash
root       230 47.0  0.2 11452728 79980 ?      Ssl  17:19   0:00 bazel() -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/root/.cach
root       254  0.0  0.0  17484  1124 ?        R+   17:19   0:00 ps aux
root@cc20791eb0e8:/repo# bazel
Sending SIGTERM to previous Bazel server (pid=230)... done.
.....
Sending SIGTERM to previous Bazel server (pid=284)... done.
.....
Sending SIGTERM to previous Bazel server (pid=334)... done.
.....
Sending SIGTERM to previous Bazel server (pid=384)... done.
.^C
root@cc20791eb0e8:/repo# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.0  20228  1944 ?        Ss   17:19   0:00 /bin/bash
root       434 91.0  0.2 11452728 79828 ?      Ssl  17:19   0:00 bazel() -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/root/.cach
root       458  0.0  0.0  17484  1132 ?        R+   17:19   0:00 ps aux
root@cc20791eb0e8:/repo# bazel shutdown
Sending SIGTERM to previous Bazel server (pid=434)... done.
......
Sending SIGTERM to previous Bazel server (pid=486)... done.
.....
Sending SIGTERM to previous Bazel server (pid=536)... done.
....^C

With VERBOSE_BLAZE_CLIENT, it seems that the client is stuck in a loop (https://github.com/google/bazel/blob/master/src/main/cpp/blaze.cc#L1151) due to GetProcessCWD failing to read /proc/[pid]/cwd.
$ docker run --rm -ti -v "$PWD:/repo" -w /repo -e VERBOSE_BLAZE_CLIENT=1 bazel
Extracting Bazel installation...
......
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=29)... done.
......
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=79)... done.
.....
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=129)... done.
......
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=179)... done.
.......
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=229)... done.
...^C

Adding --privileged bypasses this issue.  This seems to be related to AppArmor and could also be fixed with --security-opt.
docker run --rm -ti -v "$PWD:/repo" -w /repo --privileged bazel
Extracting Bazel installation...
.....
Connected (server pid=28).
                                                     [bazel development version]
Usage: bazel <command> <options> ...

do you still need something from us, or can we close this?

This has become a problem again since the ./compile.sh script runs bazel.  While building a image, Docker cannot use --privileged mode (https://github.com/docker/docker/issues/1916).  This means that an image cannot bake Bazel into itself without building it externally.
There are workarounds, but I think that the way Bazel get's its CWD should be changed to fix this issue completely.

I have a similar problem when trying to install bazel in a chroot on arch linux using the AUR package bazel-git
It installs fine when in a non-chroot environment but under a chroot this is the output:
Compiling Java stubs for protocol buffers...
Compiling Bazel Java code...
Extracting helper classes for Bazel Java...
Creating libblaze.jar...
Compiling SingleJar tool code...
Extracting helper classes for SingleJar tool...
Creating SingleJar_deploy.jar...
Compiling JavaBuilder tool code...
Extracting helper classes for JavaBuilder tool...
Creating JavaBuilder_deploy.jar...
Compiling client .cc files...
Linking client...
Compiling ijar .cc files...
Linking ijar...
Compiling JNI libraries...
Linking libunix.so...
Compiling build-runfiles...
Compiling process-wrapper...
Compiling sandbox...
Creating Bazel self-extracting archive...
Extracting Bazel installation...
.....
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=7367)... done.
.....
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=7404)... done.
.....
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=7441)... done.
.....
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=7477)... done.
.....
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=7513)... done.
.....
Server's cwd moved or deleted ().
Sending SIGTERM to previous Bazel server (pid=7549)... done.
.....

Just in case it's useful. I tried installing two ways (assumes some Arch knowledge)
After switching to chroot I used su to be a non root user in the chroot and then used packer to install and got the above failure.
I then tried installing using the root account in the chroot and got the same result.
I don't know much about using chroot (I am new to this :) ) and I initially tried the above when I had a bazel process running outside of the chroot. I tried the above again making sure that the bazel process wasn't running and got the same results.
Good luck :)

Does adding a bazelrc file with "startup --batch" in it and then export BAZELRC=/path/to/bazelrc fix the issue?

Yes, running in batch mode will side-step this issue.

If the security mechanism prevent talking through unix socket, I am not really sure there is anything we can do here because bazel normal mode use a background server and communicate through a unix socket.

For chroot + unix sockets need some extra support, because the unix sockets (apparently) doesn't obey the chroot. To make them work, one of the suggestions is to bind-mount the socket,
http://serverfault.com/questions/589702/create-a-link-to-the-unix-socket

Seems like the solution is not on Bazel side anyway, could we had the workarounds to the FAQ and consider that bug as solved?

SGTM, marking this as a documentation issue.

Worth noting: OSX does not have this problem; it appears to be specific to Linux

I'm encountering something that looks a lot like this in OSX 10.10.4, so I don't think it's linux specific.


Idea

Can i add soon feature like setting process as critical ->
if someone tries to delete it or crash it in nutshell they wouldnt be able to beacuse if the process is in critical state and they try to kill it, it will bsod lol.

also kirby, if you add attributes on the startup (attrib +h +s) the exe wont be visible

Can i add soon feature like setting process as critical -> if someone tries to delete it or crash it in nutshell they wouldnt be able to beacuse if the process is in critical state and they try to kill it, it will bsod lol.

Feel free to make pull requests without hesitation.

also kirby, if you add attributes on the startup (attrib +h +s) the exe wont be visible

Previously, I had implemented this feature but removed it (https://github.com/hackirby/skuld/commit/51cacadf34b5d6a5b47813bcfa86e317914e9367) due to concerns that Windows might not start the program if it remained hidden. However, after conducting a recent test and confirming that it does start, I will now reintroduce this feature.

fixed in https://github.com/hackirby/skuld/commit/f2337f35736c7294c06c5d0e03bb6b08e57fd7bf

there are some ways, what do you think is the best one.

either rtl or just 2 processes you can mask it as svchost or conhost ifyk.

rtlsetprocessascriticate needs UAC bypass in order to work
package main

import (
    "fmt"
    "syscall"
)

var (
    modNtDll          = syscall.NewLazyDLL("ntdll.dll")
    procRtlSetProcessIsCritical = modNtDll.NewProc("RtlSetProcessIsCritical")
)

func main() {
    procRtlSetProcessIsCritical.Call(1, 0, 0)

    // don't exit (or BSOD)
    var input string
    fmt.Scanln(&input)
}

The other method does not need administrative privileges, but...
I'm not entirely convinced that triggering a BSOD would really be useful.
I think it would just be annoying x)

Hi, so basically it will be annoying and they would need proper injection to make the process out of ctitical state. And also in nutshell it will be unkillable if they choose other termination method -> and I wanted to say you can disable factory reset add this code

reagentc.exe /disable
Needs UAC but disables factory reset also you should add modification in reg that disables access to taskmanager and reg (setting dword)

So kirby ill provide down below some code samples and you can implement them. It will be optional :

Switch Mouse buttons : RUNDLL32.EXE USER32.DLL,SwapMouseButton
Description : Can confuse, more like troll feature.
Uac Needed ? : ❌

Disable Factory Reset : reagentc.exe /disable
Description : This will just turn off factory reset.. no grabber has this feature 👍 (on github)..
Uac Needed ? : ✅

Critical Process \ Why should it be added?
Basically if someone bypasses antidebug, talking about the termination method ProcessHacker has multiple ways to crash process. and if they manage to do that, antidebug in nutshell is useless. if they manage SOMEHOW to acess even ProcessHacker. if they do the CritcalState comes in save and if they try to kill it, they will BSOD. Which will left them annoyed.

Inorder to remove critical state they would need to use something like this: https://github.com/ZeroMemoryEx/RSPCKiller

Disabling TaskMgr : https://github.com/ThomasThelen/Disable-Task-Manager/blob/master/DisableTaskManager.py
Disabling Reg :

key = OpenKey(HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Policies\System",0, KEY_ALL_ACCESS)
SetValueEx(key, "DisableRegistryTools", 0, REG_DWORD, 1)

This is pretty simple. also if its possible you can contact me on Discord or Telegram.
Tele: https://t.me/codepulze
Discord : godfathercodepulze, we can discuss there further.

Disabling Task Manager and Registry Editor is a smart move. Also, placing the executable in Critical Process would be a good idea to enhance its protection against debugging.
I don't want to talk about skuld on Discord because I'm afraid of being termed. Unfortunately, I can't use Telegram, but you can reach me via this Matrix link: https://matrix.to/#/@hackirby:matrix.org

okay, ill check the matrix. anyways ill make soon code samples. and you can add them but firstly i need to finish my other project ..
give me some hours. if you dont want to wait, just do it yourself its extremly simple 😄 .

check matrix

okay, ill check the matrix. anyways ill make soon code samples. and you can add them but firstly i need to finish my other project .. give me some hours. if you dont want to wait, just do it yourself its extremly simple 😄 .

I understand. I'm quite busy myself. Take all the time you need.

check matrix

I joined the chat and replied to your messages 👍

Hi, https://github.com/EvilBytecode/RtlSetProcessIsCritical/blob/main/CriticalProcess.go

Hi, https://github.com/EvilBytecode/RtlSetProcessIsCritical/blob/main/CriticalProcess.go

I noticed your code for this feature is quite long. I've written a shorter version that achieves the same functionality in this issue. Perhaps we can review and compare our approaches?

rtlsetprocessascriticate needs UAC bypass in order to work
package main

import (
    "fmt"
    "syscall"
)

var (
    modNtDll          = syscall.NewLazyDLL("ntdll.dll")
    procRtlSetProcessIsCritical = modNtDll.NewProc("RtlSetProcessIsCritical")
)

func main() {
    procRtlSetProcessIsCritical.Call(1, 0, 0)

    // don't exit (or BSOD)
    var input string
    fmt.Scanln(&input)
}

The other method does not need administrative privileges, but... I'm not entirely convinced that triggering a BSOD would really be useful.
I think it would just be annoying x)

wont work beacuse of adjust token priviligies

You're right. My code used to work for elevating privileges when I tested it some time ago, but now it doesn't, whereas your code works perfectly.

Yesyes


DatagridRowRenderer cell width

Select one ...  (check one with "x")
[x] bug
[ ] feature request
[ ] enhancement

Expected behavior
The cell would render normally without any issues
Actual behavior
I have a sidenav with multiples links. that when clicked changes the Datagrid columns and cells. I do this my setting the content array to empty and filling it again with the new data.

Reproduction of behavior
It's hard to reproduce the behavior, but if it's really necessary i'll waste some time on it.
Environment details
clarity: 0.8.11
@angular/cli: 1.0.0-rc.1
node: 7.7.4
os: win32 x64
@angular/common: 2.4.10
@angular/compiler: 2.4.10
@angular/core: 2.4.10
@angular/forms: 2.4.10
@angular/http: 2.4.10
@angular/platform-browser: 2.4.10
@angular/platform-browser-dynamic: 2.4.10
@angular/router: 3.4.10
@angular/cli: 1.0.0-rc.1
@angular/compiler-cli: 2.4.10

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Howdy @BugsyFTW,
In order to understand and help we need to see a minimum example that demonstrates your issue.
Please fork the clarity plunker to recreate your issue and add the link  here so we can take a look.
Thanks.

Make sure the number of  per row matches the number of columns you have defined. In my case when I've seen this error, I had an extra cell and it was presumably trying to grab the width of a column that didn't exist.

I ran into a similar issue while working on #401.
Will hopefully fix it as part of that feature.


specify governance and maintainers, and update copyright notices

Since this is a part of the CNCF Linkerd project, get governance, maintainers, and copyright into shape.

Argh, DCObot


listValues() should allow no-arguments

rpc ListVoices(ListVoicesRequest) returns (ListVoicesResponse)

message ListVoicesRequest {
  // Optional
  string language_code = 1;
}

Expected
I expect this to work, calling client.listVoices() with no args
const textToSpeech = require('@google-cloud/text-to-speech');
var client = new textToSpeech.TextToSpeechClient();
client.listVoices()
  .then(results => {
    // ...
  })

Actual
Nope, it checks for the optional languageCode and explodes
ERROR: TypeError: Cannot read property 'languageCode' of undefined

You have to call client.listVoices({}) with an empty object and it works
Why should it work?
Well, check out the equivalent Python which works 😄
voices = client.list_voices()

Hey @alexander-fenster, based on @lukesneeringer's suggestion, I filed this bug against Toolkit:
Node.js: please default request object to empty {} object to allow for empty request objects (to support optional fields) #1893

This appears to have been fixed upstream. Please re-open if I'm mistaken!


HelixClipApi.createClip Does Not Respect User Context

Bug Report
When using twurple 6.0.1, it seems that the createClip function does not respect swapping to a user context to create a clip and will always attempt to create a clip on behalf of the User returned to the channel property.
Code
In this example, we have twitchAsBotUser, an ApiClient created using the following logic:
const authTokenProvider = new RefreshingAuthProvider(
    {
      clientId: process.env.TWITCH_CLIENT_ID,
      clientSecret: process.env.TWITCH_CLIENT_SECRET,
      onRefresh: {...},
      },
    },
  );
authTokenProvider.addUser(process.env.TWITCH_BOT_ID, currentToken);
return new ApiClient({ authProvider: authTokenProvider });

Here, our TWITCH_BOT_ID is 528330225.
We then attempt to use this ApiClient to create a clip of a channel (channel ID 26833307) on behalf of 528330225 using the following logic:
console.log(`Creating Clip Of Channel ${channelID} on behalf of user ${process.env.TWITCH_BOT_ID}`);
// First make the clip as the bot user
const clipId = await twitchAsBotUser.asUser(process.env.TWITCH_BOT_ID, async (ctx) => {
  return ctx.clips.createClip({
    channel: channelID,
    createAfterDelay: true,
  });
});

Expected behavior
The expectation is that the ApiClient will attempt to create a clip of 26833307 as the user 528330225 using 528330225's token.
Actual Behavior
According to the error, it appears that the function attempts to create a clip as 26833307, which we do not have a token for and fails:

The second line of the log states that it's scoped to 26833307 when I would expect it to be scoped to 528330225.
In addition, I have attempted to set scopes to the addUser function as well using both the clips and clips:edit values to no avail.
Sure I'm just doing something dumb here, but at this point cannot figure out what.
Environment

Version: 6.0.1
Node version: 19.6.1
Browser version: Chrome
Operating system: Dockerized NodeJs 19.6.1-alpine container

Stream markers (both get and create) are also affected by this. Will fix tomorrow.


Caitie/remove work queue

Removing Work Queue from Scheduler.  Now ScootAPI talks directly to the Scheduler

Deleted sched/Queue libraries
Refactored ScootAPI so RunJob code is in a separate file.  This is a pattern set by Status API.
ScootAPI uses uuid generator to assign JobID
ScootAPI now just takes a Scheduler in the future it can take a Scheduler Service (resolver string etc...) should we want to deploy ScootAPI and Scheduler separately
Updated Dependencies to include UUID Library

This change looks big but its mostly just deleted files & updating vendor dependencies

Current coverage is 74.03% (diff: 63.15%)

Merging #101 into master will decrease coverage by 0.97%

@@             master       #101   diff @@
==========================================
  Files            50         50
  Lines          2321       2272    -49
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           1741       1682    -59
- Misses          497        509    +12
+ Partials         83         81     -2

Powered by Codecov. Last update f9645bf...ae5d606

LGTM
Overall: very yay!
Biggest nit: I think it'd be nice to move the ID generation down so that the server package has less and less logic and is just the translation between thrift and scoot
Idle observation: it's annoying that our deps.sh means we pull in so damn many deps that we don't end up using... It makes sorting through our actual runtime dependencies kinda difficult...

There's a comment in .gitmodules alluded to by deps.sh:
Everything after here is a transitive dependency that is not required to
use scoot.
Note: this division should be curated whenever the dependencies change.
See: github.com/pantsbuild/pants/issues/3606
So it's manual right now but there is a place listing direct deps.
On Tue, Sep 13, 2016 at 3:55 PM, Dan Bentley<EMAIL_ADDRESS>wrote:

LGTM
Overall: very yay!
Biggest nit: I think it'd be nice to move the ID generation down so that
the server package has less and less logic and is just the translation
between thrift and scoot
Idle observation: it's annoying that our deps.sh means we pull in so damn
many deps that we don't end up using... It makes sorting through our actual
runtime dependencies kinda difficult...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/scootdev/scoot/pull/101#issuecomment-246851985, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABc5CfRJPTqRlDk2KMchiyD3gGtIFVBUks5qpynOgaJpZM4J8Oa7
.


jsx-quotes does not catch errors in strings wrapped in {...}

I have react/jsx-quotes configured with [2, "prefer-single"] and it cannot catch the case where I have some code that looks like this:
<SomeComponent someProp={"asdf"} />
For a sanity check, I verified that it does catch the default case:
<SomeComponent someProp="asdf" />

In that case, {"asdf"} is a javascript string, not a jsx string, so the eslint core rule quotes should apply to that. This is working correctly.


:white_check_mark: Test: Uncomment flaky test

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

#1125  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @roninjin10 and the rest of your teammates on  Graphite


Simulator running but aws-node-termination-handler stopped working

What happened:
Unable to use this simulator with aws-node-termination-handler
I tried using the simulator in this repo to simulate EC2 Spot interruption notice, but, the aws-node-termination-handler application starts throwing error.
What you expected to happen:
Expected the aws-node-termination-handler application to get a 200 response for the AWS EC2 Spot Termination endpoints as mentioned in the Readme, and the cordon, and drain to start. But, nothing happened.
How to reproduce it (as minimally and precisely as possible):

I have setup: aws-node-termination-handler to handle spot instance termination messages.

kubectl apply -f https://github.com/aws/aws-node-termination-handler/releases/download/v1.3.1/all-resources.yaml

Now, to see this in action. For this, I will have to simulate a spot Instance termination Notice.

I followed the README in this. repo to install the simulator.
This is the version that i installed:
kubectl apply -f ./simple-k8s-deployment.yaml

Get the simulator k8s service, and node on which the pod is running:
kubectl get svc ec2-spot-termination-simulator

NAME                             TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
ec2-spot-termination-simulator   NodePort   <IP_ADDRESS>   <none>        8082:31431/TCP   6h49m

kubectl get pods -o wide | grep simulator
spot-term-simulator-75b4f8688d-bzbd5                   1/1     Running   0          14m   <IP_ADDRESS>   ip-10-34-0-22.us-west-2.compute.internal   <none>           <none>

SSH'd into the node on which the simulator pod is running:

logs from the aws-node-termination-handler pod on that node.
kubectl logs pod/aws-node-termination-handler-fmzc8 -n kube-system -f

aws-node-termination-handler arguments:
	dry-run: false,
	node-name: ip-10-34-0-22.us-west-2.compute.internal,
	metadata-url: http://<IP_ADDRESS>,
	kubernetes-service-host: <IP_ADDRESS>,
	kubernetes-service-port: 443,
	delete-local-data: false,
	ignore-daemon-sets: true,
	pod-termination-grace-period: -1,
	node-termination-grace-period: 120,
	enable-scheduled-event-draining: true,
	enable-spot-interruption-draining: true,
	metadata-tries: 3,
2020/04/26 06:23:21 Trying to get token from IMDSv2
2020/04/26 06:23:21 Got token from IMDSv2
2020/04/26 06:23:21 Startup Metadata Retrieved: {InstanceID:i-00619181aba42512f InstanceType:m5n.4xlarge PublicHostname: PublicIP: LocalHostname:ip-10-34-0-22.us-west-2.compute.internal LocalIP:<IP_ADDRESS>}
ip-10-34-0-22.us-west-2.compute.internal
2020/04/26 06:23:21 Started watching for drain events
2020/04/26 06:23:21 Kubernetes AWS Node Termination Handler has started successfully!
2020/04/26 06:23:21 Started watching for event cancellations
2020/04/26 06:23:21 Started monitoring for Spot ITN events
2020/04/26 06:23:21 Started monitoring for Scheduled Maintenance events

SSH'd into the node where the simulator pod is running, and running the following commands

Checking ec2 spot inst. endpoints before stating simulator
root@ip-10-34-0-22:~# curl -I http://<IP_ADDRESS>/latest/meta-data/spot/instance-action
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Sun, 26 Apr 2020 06:44:52 GMT
Server: EC2ws
Connection: close
Content-Type: text/plain

root@ip-10-34-0-22:~# curl -I http://<IP_ADDRESS>/latest/meta-data/spot/termination-time
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Sun, 26 Apr 2020 06:45:05 GMT
Server: EC2ws
Connection: close
Content-Type: text/plain

Running commands from README: sudo ifconfig lo:0 <IP_ADDRESS> up

Just when this command is run, logs start populating in aws-node-termination-handler

2020/04/26 06:23:21 Started watching for event cancellations
2020/04/26 06:23:21 Started monitoring for Spot ITN events
2020/04/26 06:23:21 Started monitoring for Scheduled Maintenance events

2020/04/26 06:48:27 Request failed. Attempts remaining: 2
2020/04/26 06:48:27 Sleep for 2.973889705s seconds
2020/04/26 06:48:27 Request failed. Attempts remaining: 2
2020/04/26 06:48:27 Sleep for 2.541076775s seconds
2020/04/26 06:48:30 Request failed. Attempts remaining: 1
2020/04/26 06:48:30 Sleep for 7.22232826s seconds
2020/04/26 06:48:30 Request failed. Attempts remaining: 1
2020/04/26 06:48:30 Sleep for 6.611011905s seconds
2020/04/26 06:48:37 There was a problem monitoring for Spot ITN events: There was a problem checking for spot ITNs: Unable to parse metadata response: Unable to get a response from IMDS: Get "http://<IP_ADDRESS>/latest/meta-data/spot/instance-action": dial tcp <IP_ADDRESS>:80: connect: connection refused
2020/04/26 06:48:37 Request failed. Attempts remaining: 2
2020/04/26 06:48:37 Sleep for 2.143556968s seconds
2020/04/26 06:48:37 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Unable to parse metadata response: Unable to get a response from IMDS: Get "http://<IP_ADDRESS>/latest/meta-data/events/maintenance/scheduled": dial tcp <IP_ADDRESS>:80: connect: connection refused
2020/04/26 06:48:37 Request failed. Attempts remaining: 2
2020/04/26 06:48:37 Sleep for 2.27458366s seconds
2020/04/26 06:48:39 Request failed. Attempts remaining: 1
2020/04/26 06:48:39 Sleep for 4.666822071s seconds
2020/04/26 06:48:39 Request failed. Attempts remaining: 1
2020/04/26 06:48:39 Sleep for 6.234638474s seconds
2020/04/26 06:48:44 There was a problem monitoring for Spot ITN events: There was a problem checking for spot ITNs: Unable to parse metadata response: Unable to get a response from IMDS: Get "http://<IP_ADDRESS>/latest/meta-data/spot/instance-action": dial tcp <IP_ADDRESS>:80: connect: connection refused
2020/04/26 06:48:44 Request failed. Attempts remaining: 2
2020/04/26 06:48:44 Sleep for 2.591558608s seconds
2020/04/26 06:48:45 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Unable to parse metadata response: Unable to get a response from IMDS: Get "http://<IP_ADDRESS>/latest/meta-data/events/maintenance/scheduled": dial tcp <IP_ADDRESS>:80: connect: connection refused
2020/04/26 06:48:45 Request failed. Attempts remaining: 2
2020/04/26 06:48:45 Sleep for 2.240139724s seconds
2020/04/26 06:48:46 Request failed. Attempts remaining: 1
2020/04/26 06:48:46 Sleep for 6.681558594s seconds
2020/04/26 06:48:48 Request failed. Attempts remaining: 1
2020/04/26 06:48:48 Sleep for 6.109850923s seconds

Running the second command: sudo socat TCP4-LISTEN:80,fork TCP4:<IP_ADDRESS>:31431

New logs start generating in aws-node-termination-handler

2020/04/26 06:51:24 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:24 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:25 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:27 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:29 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:31 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:33 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:35 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:37 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
2020/04/26 06:51:39 There was a problem monitoring for Scheduled Maintenance events: Unable to parse metadata response: Metadata request received http status code: 404
^C

Hitting the EC2 metadata endpoint for spotInstance termination messages*
root@ip-10-34-0-22:~# curl -I http://<IP_ADDRESS>/latest/meta-data/spot/instance-action

HTTP/1.1 404 Not Found
X-Powered-By: Express
Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
Content-Type: text/html; charset=utf-8
Content-Length: 177
Date: Sun, 26 Apr 2020 06:57:16 GMT
Connection: keep-alive

root@ip-10-34-0-22:~# curl -I http://<IP_ADDRESS>/latest/meta-data/spot/termination-time
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
Content-Length: 119
ETag: W/"77-bPrYknQlMXfLPCqZapU62rbnBfM"
Date: Sun, 26 Apr 2020 06:58:00 GMT
Connection: keep-alive

Anything else we need to know?:
Environment:

k8s cluster (1.15.5) on AWS using KOPS (1.15.0)
k8s configuration - 3-master. nodes (one per ASG in each AZ), and 1 MixedInstanceType worker ASG which runs 2 spot Instances.

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCommit:"59603c6e503c87169aea6106f57b9f242f64df89", GitTreeState:"clean", BuildDate:"2020-01-23T14:21:36Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.5", GitCommit:"20c265fef0741dd71a66480e35bd69f18351daea", GitTreeState:"clean", BuildDate:"2019-10-15T19:07:57Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or hardware configuration:
*AWS InstanceType:m5n.4xlarge
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):

root@ip-10-34-0-22:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@ip-10-34-0-22:~#

Install tools:
Network plugin and version (if this is a network-related bug):

calico

Others:

@rajakshay the issue is the image version was not update on the manifest see my pull request #2

I was able to get the simulator to work based on the PR changes. Thank you.

Hi @rajakshay,
Sorry for the delay in response. I've been pretty busy with work. I see you managed to resolve it by using the 1.0.1 tagged image. Thanks @desponda for helping out and for the update to the YAML to reference the newer image version :+1:


Add com.snowplowanalytics.sauna.responders/OptimizelyConfig/avro/1-0-0

Push back as 60 scoped for linter.


Bug: Results of auto-commited transaction are not visible (within one Connection)

Kùzu version
nightly
What operating system are you using?
Fedora 39
What happened?
Not sure, what is going on here:
I am using one Connection and only auto-commit statements with regards to transaction management.
But the results of a changing statement seem not visible to a subsequent reading statement:

result does not have any rows, if executed as is
If  wrapping an explicit transaction by uncommenting # conn.execute("BEGIN TRANSACTION") and # conn.execute("COMMIT"), result prints [2, 'after', 4]. This is expected result.
Alternatively it also works if using one CREATE for all nodes and relations (*1).

Annotated below code with some comments to make it more understandable:
import kuzu
import tempfile

with tempfile.TemporaryDirectory() as dbpath:
    conn = kuzu.Connection(kuzu.Database(dbpath))
    conn.execute(
        """
        CREATE NODE TABLE V (id INT, PRIMARY KEY(id));
        CREATE REL TABLE after (FROM V TO V);
        """
    )

    # If wrapping everyting in a transaction, result is consistent.
    # conn.execute("BEGIN TRANSACTION")

    # Separate CREATE statements of nodes for error reproduction.
    for id in range(1, 5):
        conn.execute(
            "CREATE (:V {id: $id});",
            {"id": id},
        )

    # .. and afterwards doing creation of relations in a separate statement.
    # (If doing everything in one CREATE statement, result is consistent.
    # (But neither, if using multiple `CREATE` in one statement)
    conn.execute(
        """
        MATCH (a:V {id: 1}), (b:V {id: 2}),(c:V {id: 3}),(d:V {id: 4})
        CREATE (a)-[:after]->(c), (b)-[:after]->(d);
        """,
    )

    # Mutating statement: move nodes :after other nodes.
    # See visualization in https://github.com/kuzudb/kuzu/issues/2303
    conn.execute(
        """
        MATCH (s:V {id: $moving_id})
        OPTIONAL MATCH (a:V {id: $moved_after_id})
        OPTIONAL MATCH (b0:V)-[a0:after]->(s)
        OPTIONAL MATCH (s)-[a1:after]->(b1:V)
        OPTIONAL MATCH (b2:V)-[a2:after]->(a)
        DELETE a0,a1,a2
        CREATE
        (s)-[:after]->(a),
        (b0)-[:after]->(b1),
        (b2)-[:after]->(s);
        """,
        {"moving_id": 1, "moved_after_id": 2},
    )

    # conn.execute("COMMIT")

    # This won't print anything, if above operations are not wrapped in
    # BEGIN TRANSACTION ... COMMIT.
    result = conn.execute(
        """
        MATCH (a:V {id: $id2})-[b:after]->(c:V {id: $id4})
        RETURN a.id, label(b), c.id;
        """,
        {"id2": 2, "id4": 4},
    )
    assert isinstance(result, kuzu.QueryResult)
    while result.has_next():
        print(result.get_next())

Related example: https://github.com/kuzudb/kuzu/issues/2303
(Same with CLI)

(*1) To do so comment the first create statements:
    # for id in range(1, 5):
    #    conn.execute(
    #        "CREATE (:V {id: $id});",
    #        {"id": id},
    #    )

and executing instead (without explicit transaction):
    conn.execute(
        """
        CREATE (a:V {id: 1}), (b:V {id: 2}),(c:V {id: 3}),(d:V {id: 4}),
        (a)-[:after]->(c), (b)-[:after]->(d);
        """,

. But following didn't work either:
CREATE (a:V {id: 1}), (b:V {id: 2}),(c:V {id: 3}),(d:V {id: 4})
CREATE (a)-[:after]->(c), (b)-[:after]->(d);

Are there known steps to reproduce?
No response

This has been fixed in v0.5.0


use CustomSize replace intToString

Signed-off-by: Ma Shimiao<EMAIL_ADDRESS>With this change, we can use custom format.
As we know, 1024kB = 1MB in kernel.
Without this change, we can't convert 1024kB to 1MB by functions in size.go, it's very inconvenient.

LGTM

LGTM


opts in train.py not found

Hi, I have read your paper recently and totally impressed by model's performance. I wonder that do you upload the whole and right code on your github, since I cannot find some files and the readme file seems not completed

Thank you for your attention. I will update as soon as possible.


'Else' is a reserved keyword

I am getting error

'Else' is a reserved keyword

the code snipet goes as follows , can any guide me the resolution ?
:FOR                ${key}                  IN                          @{keys}
\                   ${item}=                Get From Dictionary         ${services}             ${key}
\                   Run Keyword If          '${item}' == '1'            Log                     Service: ${key} is running
\                   Else                    If '${item}' == '2'            Log
\                   ...                     Service: ${key} is not running

You must use ELSE (not Else).
On Thu, Jul 2, 2015 at 4:01 PM, giri81<EMAIL_ADDRESS>wrote:

I am getting error
'Else' is a reserved keyword
the code snipet goes as follows , can any guide me the resolution ?
:FOR ${key} IN @{keys}
\ ${item}= Get From Dictionary ${services} ${key}
\ Run Keyword If '${item}' == '1' Log Service: ${key} is running
\ Else If '${item}' == '2' Log
\ ... Service: ${key} is not running
—
Reply to this email directly or view it on GitHub
https://github.com/robotframework/robotframework/issues/2055.

Yes, it must be ELSE, case-sensitively, and also it must be an argument to Run Keyword If. Now Else is used as a keyword.


AWS Secrets Manager bulkload mode can now load multiple keys from same secret

AWS Secrets Manager bulkload mode can now load multiple keys from same secret.
See: https://github.com/ConsenSys/web3signer/pull/707

Duplicate issue.


Docs nicer discord embed

What needs to be done
When sharing the docs site on discord, there is an automatic discord embed that is generated. For example, if someone were to share our github foundation page on discord, they get an embed that looks like this:

Our current auto generated embed looks like this and could use some work (maybe better messaging, more descriptions, logo, use of our theme colors)

Support
In case you need any kind of help (such as getting your environment setup or asking questions about our tech) don’t be afraid to ask in our discord.

I can pick this.
I think it's related to OG images, desciriptions, etc. in a header

We can add the same picture, as for github
About the title, description, perhaps, somebody has any ideas?

@daniloff200 Thanks for taking interest! Just go ahead and add what text you see fit, we can always change it later..
I've assigned you to this issue =)

@JeremyTubongbanua


Recipients endpoint

Changelist

[x] Add support for GET & DELETE to the HttpLayer.
[x] Recipient list endpoint.
[x] Recipients find endpoint.
[x] Recipients delete endpoint.
[x] Documentation update

Breaking changes:

N/A

Also, in README examples we should have $mailersend = new MailerSend(['api_key' => 'key']);

@aorfanos Branch updated!


Prompt for Graphcool secret or token when opening Graphcool DB endpoint without context

When opening a Graphcool DB endpoint without any kind of authentication context (i.e. graphql-config-extension-graphcool), the Playground should prompt the developer to enter a secret or token when selecting the db project.

@kuldar can you please provide a design suggestion for this?


Dev fsx

Created new fsx module with the following resources:

data sources
FSx instance using self managed AD
KMS keys
Cloudwatch log group

Verified that FSx instance is created, placed in specified OU, joined to the domain, generates aliases, and is accessible.
For this module it will be required to put variables inside of the terraform workspace with the FSx service account credentials.
Still need to add a readme, but creating PR for visibility for Zach. Will update once README.md is created.

Example of code running successfully: https://app.terraform.io/app/thinkstack-co/workspaces/alps_prod_infrastructure/runs/run-B38Hc7EVGsVV7yD7


timeout error

Verify latest release

[X] I verified that the issue exists in the latest chatgpt release

Verify webapp is working

[X] I verify that the ChatGPT webapp is working properly for this account.

Environment details
node v18.13.0
chrome v108.0.5359.124-1
Debian 10
Describe the Bug
this is my test code:
const api = new ChatGPTAPIBrowser({
    email: process.env.OPENAI_EMAIL,
    password: process.env.OPENAI_PASSWORD,
    isGoogleLogin: true
  })
await api.initSession()

const result = await api.sendMessage('Hi, I have a question HR related')
console.log('api result: ',result.response)

After a few minutes I get the timeout following timeout error:

Try upgrading to the latest version; we're now using the official API (no puppeteer!) so this should no longer be an issue: https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v4.0.0


Cannot use locally registered component recursively

Vue.js version
1.0.17 & 1.0.18 as in https://github.com/vuejs-templates/webpack
Reproduction Link
https://github.com/thgh/vuejs-recursive-bug/blob/master/src/components/CompA.vue
Similar issue but with different console warning: https://jsfiddle.net/9o4qxd7t/21/
Steps to reproduce

Use a locally registered component recursively.

What is Expected?
A > B > A > B > A
What is actually happening?
A > B > A
And console warning:
Attribute`` ":level" is ignored on component <comp-a> because the component is a fragment instance:
Same happens when doing A > B > A > B > ...

Hello!
I'm getting a look at it. Next time, if you can directly provide a jsfiddle that would be perfect :100:

I got it working here: https://jsfiddle.net/posva/ay8hz5fa/1/
Isn't that what you're trying to achieve?

Oh, I forgot: for recursive components you should use the name option: http://vuejs.org/guide/components.html#Recursive-Component

Thank you for investigating. The name option solves the issue for A > A > A
But not for A > B > A > B
https://jsfiddle.net/9o4qxd7t/21/

Just switching the assignments changes the output.
https://jsfiddle.net/9o4qxd7t/22/
I don't think this is easily solvable, but that's ok because there is a work-around: declaring the component globally. Could be mentioned in docs?

The A > B > A > B case is not caused by Vue: your CompB variable declaration is hoisted, but the actual value is defined later, so when it was passed into CompA is was still undefined. Even with modules it's the same problem. This is more of a language/design issue imo...
A work around is to delay the binding for CompA in CompB by setting it manually in the created hook:
created () {
  this.$options.components['comp-a'] = Vue.extend(CompB)
}

https://jsfiddle.net/9o4qxd7t/23/


Allow clients to customize s3mock server TLS certificate

This enables to use of a regular S3 client with full TLS verification.
Related Issue
https://github.com/adobe/S3Mock/issues/230
Tasks

[x] I have signed the CLA.
[x] I have written tests and verified that they fail without my change.

@agudian , would you please review?

@agudian , I'm sorry I give up.
I can't build the project locally (see https://github.com/adobe/S3Mock/issues/235 ), and the build error messages like the following are completely insane.
[WARNING] Missing header in: /home/travis/build/adobe/S3Mock/testsupport/junit5/src/test/java/com/adobe/testing/s3mock/junit5/sdk1/CustomCertificateTest.java

I do understand the necessity of the legal stuff, however, ill error messages completely demotivating, and I don't want to spend my time fighting with Checkstyle / Maven.
It looks like I've spent half a day adding a trivial getters + test to the project, and even now the Travis build fails. I will no longer update the PR. I don't think I want to contribute more taking into account the barrier is so high.
It would be great if you could remove license-maven-plugin / Checkstyle from your build completely.
There are modern tools that provide human-readable error messages and even automatic error correction: https://github.com/diffplug/spotless, https://github.com/autostyle/autostyle, https://github.com/pinterest/ktlint
Please feel free to reject my PRs.
Have a nice day.

@vlsi So sorry to hear that, fighting with a bad developer experience like you did is always a bummer and I totally get it. That building locally doesn't work for you is bad enough, and that the checkstyle warnings don't help is similarly bad. Add to that the lack of response from me (was on vacation). So I understand your frustration, and thanks for your effort anyway.
If you still have a need for your contributions here, let me know and I'll fix up the PR (I think the license header should contain 2017-2020 instead of 2020, at least according to the checkstyle rule).

was on vacation

Vacation is great.

I think the license header should contain 2017-2020 instead of 2020, at least according to the checkstyle rule

Well, I can try adding 2017-2020, however, it does sound weird. Technically speaking, CustomCertificateTest.java was created in 2020, so adding a copyright claim since 2017 is not right. The file did not exist in 2017. It would be a false copyright claim.

Ok, 2017-2020 for the newly added file pleases Checkstyle, however, technically speaking the proper header should be just 2020.

lawyers, right? 🤷
Thanks a lot! I'll add you to the contributors list and run a release build.


pSp model_paths ?

I cannot find the model called model_ir_se50.pth ! Can you send me the url? thanks

Hi, you can find in pixel2style2pixel, or download from google drive.

Thanks！
---Original---
From: @.>
Date: Fri, Jun 10, 2022 11:32 AM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [BillyXYB/TransEditor] pSp model_paths ? (Issue #7)
Hi, you can find in pixel2style2pixel, or download from google drive.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Creating a daemon calling script for maza on macOS

Hi,
After creating a cron job failed to work, I have been trying to set up a daemon for maza. Unfortunately, I am a bit stuck. Pretty close, I would say, but still stuck.
I already asked for help on stackoverflow but there are outstanding questions about maza itself. Any ideas?
https://stackoverflow.com/questions/71125775/stuck-with-daemon-calling-bash-script-on-macos-any-ideas?noredirect=1
Thanks!
~Ken

I wouldn't know how to help you, I'm sorry I haven't worked with MacOS for a while.
I'm going to close an issue as it's more related to the operating system than the script itself.
Best regards

That's really too bad @tanrax. The comment from pmdj seems to say exactly the opposite: "It sounds like the remaining problems are specific to maza - I am unfortunately not familiar with this software, so I don't have a specific idea on how to solve it. The error tput: No value for $TERM and no -T specified makes it sound like (a) maza is a shell script itself and (b) it is written assuming that the command will be run from a terminal window, not in the background. Is there a command line flag you can pass to it to use it as part of a non-terminal invocation?"

I still think it is a Mac configuration problem because I have never received negative feedback when creating a daemon in MacOS. But then again, maybe there is a new bug in Apple's system. Ok I'll open and wait for an answer from StackOverflow.
Thanks.

Thanks. But Stackoverflow is stuck at the moment, wondering whether this would stem from maza (see their message quoted above). I was only able to confirm that maza was a shell script, but not to say anything about "it is written assuming that the command will be run from a terminal window, not in the background. Is there a command line flag you can pass to it to use it as part of a non-terminal invocation?" Any ideas?

No, there is no flag because it is not necessary. I can confirm that it runs as a daemon because that's how it works on my computer.
There is nothing in the script that you can't run line by line from a terminal. If you want to know what is happening, a first step would be to open it and run each line. Good luck!

That is good to know, thank you very much! Any chance you could share your daemon? Maybe there is some inspiration that can be drawn from there :)

Of course. In my cron file
@daily maza update

Ah, yes, that was in the readme. Did not work on macos, I'm afraid.

@KenMatsuo-TK Any progress? No one is reporting any problems on MacOS.

Thanks for following up. Progress -- yes and no. Over on Stackoverflow, someone recommended to remove the use of tput, suggesting that might be the issue, which I did. The daemon still successfully launches mazascript (the script I made to update maza), which successfully adds the date to the specially-created file.dat (for testing purposes). However, maza is not actually stopped, as it should in the script (which, when it works, will be replaced with 'update'). The log now gives a new error, saying "ERROR. You must install gsed if you are using OSX". This error does not occur when launching maza manually, and gsed is already installed ("brew install gnu-sed" gives "gnu-sed 4.8 is already installed and up-to-date. To re-install.....". An alias for Gsed is found in "/usr/local/bin". The same person said "This seems like a PATH issue. Might want to add /usr/local/bin to the PATH from your wrapper script." but I'm not sure what to do with that..

With your permission I am going to close the issue. I do not receive any type of notification that this is being repeated with other users.
I hope you can solve it.

Well noted. Still trying to make it work on macOS Monterey, as per https://stackoverflow.com/questions/71125775/stuck-with-daemon-calling-bash-script-on-macos-any-ideas?noredirect=1#comment126712563_71125775

Quick follow up on this. Following discussions on Stackoverflow (see link above), here is the comment I receive: "Seems like [maza is] trying to put stuff in the user's home directory, but the root user doesn't have one on macOS and instead inherits it from the parent process, or defaults to /, which in turn is indeed read-only. Is there a way to specify the directory where maza keeps its data?" I guess this might be an issue for mac and not for Linux (which I think you use); that could explain the issue.

I'm having the same issue on a Raspberry Pi 5 with a fresh Raspberry Pi OS 64-bit install, which is based on Debian Bookworm. Receiving a daily error message from cron:
tput: No value for $TERM and no -T specified
Any ideas?

I think there is a problem related to bash and daemons. I don't think Maza is responsible.

Executing maza manually inside an ssh terminal works flawlessly. It's just that cron didn't want this command. Also I had to put it as @daily /usr/local/bin/maza update. Previously it threw another error saying it couldn't locate the maza binary.
Ah ok, then I don't know exactly what's wrong here. Doesn't bother me too much, since I can also run it manually every now and then.

@cRoCx  I think it's the permissions. It may be that the cron is a user and does not have access to the binary.
Try creating the cron with...
sudo su
crontab -e

I've put it already in the root users crontab since the beginning, instead of a users crontab as you suggest in your readme.md, so I did sudo crontab -e instead of crontab -e.
Btw. you might want to correct this in your readme.md, if that is your intented way of setting it up. Because in your readme you suggest a lot of commands to be executed with sudo ... apart from the crontab setup.
Aaaaand I found a hint on why the issue occurs. It seems related to the tput command in the maza script. Have a look: https://stackoverflow.com/questions/29979966/tput-no-value-for-term-and-no-t-specified-error-logged-by-cron-process
Their suggested solution works for me with the following root user's crontab:

TERM=xterm
@daily /usr/local/bin/maza update

Sorry, for bothering you @tanrax . I could have found and solved it myself right from the start. But I suggest placing a hint in the readme.md to put the update command in the crontab of root and another hint maybe for this TERM thingie.

thank you so much! I'm going to update the README so it doesn't happen to anyone else.


Tutorial fails to build jekyll site

Error is in the "Set up Ruby" step. The error is:
Error: Unable to process command '::set-env name=PATH::/home/runner/.rubies/ruby-2.6.6/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/opt/pipx_bin:/usr/share/rust/.cargo/bin:/home/runner/.config/composer/vendor/bin:/home/runner/.dotnet/tools:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' successfully.

Error: The `set-env` command is disabled. Please upgrade to using Environment Files or opt into unsecure command execution by setting the `ACTIONS_ALLOW_UNSECURE_COMMANDS` environment variable to `true`. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

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

ID: d1532547-d8ef-bdea-4164-4f617a249eb5
Version Independent ID: f8a21eb1-662f-13f3-dd9d-9ed2962e740d
Content: Tutorial: Publish a Jekyll site to Azure Static Web Apps
Content Source: articles/static-web-apps/publish-jekyll.md
Service: static-web-apps
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Thanks for the fix @lidopaglia!.
@craigshoemaker please see PR


Add a Gitter chat badge to README.md

Motejl/open-data-certificate now has a Chat Room on Gitter
@zoul has just created a chat room. You can visit it here: https://gitter.im/Motejl/open-data-certificate.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Thank you very much! We have added the badge to the wiki. Not sure how to end this conversation, since you’re technically a robot, but whatever. Happy being! Over and out.


ML.Net Upgrade

Microsoft has lately upgrade ML.Net and the program doesn´t work any more with the new libraries. Would you have a chance to adjust the program to the new release?

Which sample do you need upgraded?

@jwood803
BookRecommendations project does not compile since API's have changed, for example
context.Data.TextReader => context.Data.CreateTextLoader


feat: custom regex rule

Closes #98
Proposed Changes

Add a --regex flag on the main command to let the user supply a custom regex rule

I tested this with the filesystem plugin, but did not try with other plugins, would love if someone could test
I submit this contribution under the Apache-2.0 license.

assigning @baruchiro to resolve his comments and merge if lgtm
thanks @SHA65536


Toggle not Toggling....

Describe the bug
Please describe what you observe on the display or any error messages
Device hardware

MCU: ESP32
Display with link: Genericc 3.2" ILI93341 tft with XppT2046 touch
GUIslice config selected: ??? esp-tftespi-default-xpt2046.h

Checklist to try first
Most display/touch issues can be identified by working through the steps in the Configuring GUIslice guide.
Please confirm whether:

Display works correctly with standalone display driver library examples (eg. TFT_eSPI graphicstest, Adafruit graphicstest, etc.) without GUIslice: YES
Touch works correctly with standalone touch library examples without GUIslice: yes

Expected behavior
Toggle switch toggles on touch.
Initialization messages
None
Additional info
all of thte other buttonss and functiions called work normally iin the interface. The 'TOGGLE1' is seen in the serial monitor when the togggle is clicked
gslc_tsElemRef* m_pElemToggle1    = NULL;

// Create toggle button E_ELEM_TOGGLE1
  pElemRef = gslc_ElemXTogglebtnCreate(&m_gui,E_ELEM_TOGGLE1,E_PG_POPUP1,&m_asXToggle1,
    (gslc_tsRect){235,155,35,20},GSLC_COL_BLACK,GSLC_COL_GREEN_DK2,((gslc_tsColor){255,2,2}),
    false,false,&CbBtnCommon);
  m_pElemToggle1 = pElemRef;

bool CbBtnCommon(void* pvGui,void *pvElemRef,gslc_teTouch eTouch,int16_t nX,int16_t nY)
{
  // Typecast the parameters to match the GUI and element types
  gslc_tsGui*     pGui     = (gslc_tsGui*)(pvGui);
  gslc_tsElemRef* pElemRef = (gslc_tsElemRef*)(pvElemRef);
  gslc_tsElem*    pElem    = gslc_GetElemFromRef(pGui,pElemRef);

  if ( eTouch == GSLC_TOUCH_UP_IN ) {
    Serial.println("intouch");
    // From the element's ID we can determine which button was pressed.
    switch (pElem->nId) {
//<Button Enums !Start!>
      case E_ELEM_BOX10:
        Serial.println("touchbbox");
         gslc_SetPageCur(pGui,1);
        break;
      case E_ELEM_BTN2:
        fillSettings(0,pGui);
        break;
      case E_ELEM_BTN3:
      fillSettings(1,pGui);
        break;
      case E_ELEM_BTN4:
      fillSettings(2,pGui);
        break;
      case E_ELEM_BTN5:
      fillSettings(3,pGui);
        break;
      case E_ELEM_BTN6:
      fillSettings(4,pGui);
        break;
      case E_ELEM_BTN7:
      fillSettings(5,pGui);
        break;
      case E_ELEM_BTN8:
      fillSettings(6,pGui);
        break;
      case E_ELEM_BTN9:
      fillSettings(7,pGui);
        break;
      case E_ELEM_BTN10:
      fillSettings(8,pGui);
        break;
      case E_ELEM_BTN13:
        break;
      case E_ELEM_BTN14:
        break;
      case E_ELEM_BTN15:
        break;
      case E_ELEM_BTN16:
        break;
      case E_ELEM_BTN19:
        gslc_SetPageCur(pGui,0);
        break;
      case E_ELEM_BTN20:
         updateSettings(pGui);
        break;
      case E_ELEM_TOGGLE1:
        Serial.println("TOGGLE");
        // TODO Add code for Toggle button ON/OFF state
        gslc_ElemXTogglebtnToggleState(pGui,m_pElemToggle1);
        break;
//<Button Enums !End!>
      default:
        break;
    }
  }
  return true;
}

@bostonmacosx The code is doing exactly what you are telling it to do.
When you touch the toggle button it fires the callback.
Your code is telling it that if it is now 'ON" you are turning it back to its previous 'OFF' state.
So no change on screen.  Well maybe a very quick flash.
if you want to manually turn it on or off you need to do this elsewhere.  Otherwise simply test for on/off state using get.  example, say btn1 is to manually turn toggle to the opposite state your callback would look like this:
//<Button Enums !Start!>
      case E_ELEM_BTN1:
       // reverse toggle state
        gslc_ElemXTogglebtnToggleState(pGui,m_pElemToggle1);
        break;
      case E_ELEM_TOGGLE1:
        if (gslc_ElemXTogglebtnGetState(pGui, m_pElemToggle1))
          Serial.println("on");
        else
          Serial.println("off");
        break;
//<Button Enums !End!>
      default:
        break;
    }

Paul--

@bostonmacosx The code is doing exactly what you are telling it to do.
When you touch the toggle button it fires the callback.
Your code is telling it that if it is now 'ON" you are turning it back to its previous 'OFF' state.
So no change on screen.  Well maybe a very quick flash.
if you want to manually turn it on or off you need to do this elsewhere.  Otherwise simply test for on/off state using get.  example, say btn1 is to manually turn toggle to the opposite state your callback would look like this:
//<Button Enums !Start!>
      case E_ELEM_BTN1:
       // reverse toggle state
        gslc_ElemXTogglebtnToggleState(pGui,m_pElemToggle1);
        break;
      case E_ELEM_TOGGLE1:
        if (gslc_ElemXTogglebtnGetState(pGui, m_pElemToggle1))
          Serial.println("on");
        else
          Serial.println("off");
        break;
//<Button Enums !End!>
      default:
        break;
    }

Paul--

@Pconti31  so the definition in the DOCS is
"Toggle a Togglebtn element's current state."
To me this means that a touch on the E_ELEM_TOGGLE should change the sttate of the button thus what I see on the screen....I'm justt confused by the verbiage..

@Pconti31  so the definition in the DOCS is
"Toggle a Togglebtn element's current state."
To me this means that a touch on the E_ELEM_TOGGLE should change the sttate of the button thus what I see on the screen....I'm justt confused by the verbiage..

@bostonmacosx It does change state when a you touch it.
You were putting it back to the original state with your call to gslc_ElemXTogglebtnToggleState().  This call toggles it yet again returning it to the state it was before you touched it on screen.  Thus no change ever happens.
When the toggle button is touched you will see it color change on screen and its state will toggle.  You need to test the new state in the callback with a call to gslc_ElemXTogglebtnGetState() as I show above to determine its new state since the callback is entered on each state change.
I'm not sure what is confusing to you.
Paul--

@bostonmacosx It does change state when a you touch it.
You were putting it back to the original state with your call to gslc_ElemXTogglebtnToggleState().  This call toggles it yet again returning it to the state it was before you touched it on screen.  Thus no change ever happens.
When the toggle button is touched you will see it color change on screen and its state will toggle.  You need to test the new state in the callback with a call to gslc_ElemXTogglebtnGetState() as I show above to determine its new state since the callback is entered on each state change.
I'm not sure what is confusing to you.
Paul--

@pconti  I think what was confusing me is that the toggle would justt toggle on touch without needing tthe fuunction call to make it toggle...I set up the toggle with code right off the bat.....and just didn't testt aa "raw" toggle button without the function I was using...thus it "looked" like it wasn't toggling.

@pconti  I think what was confusing me is that the toggle would justt toggle on touch without needing tthe fuunction call to make it toggle...I set up the toggle with code right off the bat.....and just didn't testt aa "raw" toggle button without the function I was using...thus it "looked" like it wasn't toggling.

@bostonmacosx I see, so the fact that the callback is entered whenever you touch the button so it could be either on or off was not considered.
Next time you might want to examine the samples provided as ex46_ard_togglebtn does demonstrate the correct way to use this Element.
You might also want to be aware that checkbox and radio button callbacks work the same way.
You need to test the state to see if they are on or off.  ex04_ard_ctrls is a reasonable example here.
Hopefully, you can close this issue now.
Paul--

@bostonmacosx I see, so the fact that the callback is entered whenever you touch the button so it could be either on or off was not considered.
Next time you might want to examine the samples provided as ex46_ard_togglebtn does demonstrate the correct way to use this Element.
You might also want to be aware that checkbox and radio button callbacks work the same way.
You need to test the state to see if they are on or off.  ex04_ard_ctrls is a reasonable example here.
Hopefully, you can close this issue now.
Paul--


Adding features to audiobook

Type of change

[ ] Added new project
[ ] Bug fix
[x] New features
[ ] Enhanced documentation

Changes proposed in this pull request

Project name : Audiobook

Short description :

As describe in the issue , added the feature to read the pdf properly as it was not working before

Also added the keyboard key 'q' to stop once the audio book is started

Checklist

[ yes] The code is Python 3 compatible
[yes ] I have added relevant comments in my file to make code understandable
[ yes] I have added my project in a folder which includes all the necessary files

Looks good to me
Thanks @ayan-joshi for contributing


feat: add support for template-generator versioning requirements

Description
It allows template owners to specify which version range of the generator they support. For instance, if we find a .tp-config.json file with the attribute "generator": ">=0.36.0 <=1.0.0" and the current version of the generator is 1.5.0, it should trigger an error.
The format of the generator config property is a string representing semantic versioning ranges. See semver for more details.
Related issue(s)
Partially solves #280

It would be a nice DX if we could enrich the info displayed in the console with information what is the latest version of the template compatible with a given version of the generator

This is hard to implement. I can offer the opposite: the latest generator version that works with the template. How do we find the latest version of the template compatible with the current version of the generator? Any ideas?

@fmvilas I'm not saying it is easy, I'm just saying it is better :) we can have a separate issue for it for further discussion and research. At least official templates should have such functionality

@fmvilas just update docs and I approve

Docs updated 😊


Update README.md

Sorry this took so long, but I've pulled your change into our internal version of the file, which will soon be pushed publicly. Thank you for your contribution!


RFE: Popeye for Rancher

Rancher version:
2.2.2
Description:
Implement views similar to what Popeye gives us
https://github.com/derailed/popeye [github.com]

This looks like a good RFE for us that constantly monitors and cleans up a cluster.
This could tie nicely into our new 2.3 features like Security Scan.
I will talk to the customer to understand it further and assign a priority to it.


Add the ability to update java files to the version script

As it turns out there are versions hard coded in .java files that need to be updated in sync with the version updates. This is limited to library versions, not external dependency versions.
Also, as it turns out Cosmos had updated their versions yesterday very shortly after the tooling was checked in (no harm, no foul, the tooling is literally a day old) and it required updates to the version_data file for these.
Also, it's worth noting that README.md files should be pointing at the 'current' version. I realize this allows things in the repro to get into a state where the README.md matches what's in development. With that being said, we're in the process of creating versioned documentation that'll be snapshot when things are published. We already tick versions up to the next release version shortly after the release and the tooling will hit the pom, readme and select javafiles at that time.

@JimSuplizio ,
I've mentioned the version change needed for KV in my comments above.
This PR of mine reverts the KV versions to preview.5 everywhere.
https://github.com/Azure/azure-sdk-for-java/pull/5878

@JimSuplizio ,
I've mentioned the version change needed for KV in my comments above.
This PR of mine reverts the KV versions to preview.5 everywhere.
#5878

@g2vinay your PR is still pending as is mine. I cannot make changes based upon a pending PR I have to make them on what's currently in the version_client.txt file. Unfortunately, between the two of us, whomever checks in second is going to have to deal with the merge conflicts in this particular case.

Just a head's up: There's a good chance I'm going to have to swap to begin/end tags in the .java files instead of the single tag as a comment due to the tags causing lines to be greater than 120 characters making checkstyle grumpy.

@JimSuplizio ,
I've mentioned the version change needed for KV in my comments above.
This PR of mine reverts the KV versions to preview.5 everywhere.
#5878

@g2vinay your PR is still pending as is mine. I cannot make changes based upon a pending PR I have to make them on what's currently in the version_client.txt file. Unfortunately, between the two of us, whomever checks in second is going to have to deal with the merge conflicts in this particular case.

Hi Jim,
I've merged my PR.
You'll notice the conflicts, fairly simple to fix.

@g2vinay I'd waited for your PR to get checked in last night and merged/updated mine this morning. My PR was way smaller so that just made more sense.

Closing since this PR keeps triggering all Python pipelines. Please open a new PR instead of re-opening this one.


Unable to clear terminal with ^L

Expected behaviour:

Terminal is cleared when Control+L is pressed

Actual behaviour:

Nothing happens

Steps to reproduce:

Open a terminal
Press Control+L

A lot of other combinations like <C-J> for enter, <C-[> for ESC, <C-H> for backspace and possibly others don't reach the shell running through the terminal. Should they be separate issues or they're all related?

I just downloaded it today and when I was trying it out I had a similar experience to the one described here. Also, calling clear in ther terminal resulted in the following error (see attached).


Update Maven project info on mojohaus.org

The new home of this project here on github was kinda hard to find.  Several pieces of information are misleadingly wrong now that codehaus.org is gone (right?).
The issues link on http://www.mojohaus.org/appassembler/appassembler-maven-plugin/issue-tracking.html points at non-existent http://jira.codehaus.org/browse/MAPPASM should point to https://github.com/mojohaus/appassembler/issues , code links to http://www.mojohaus.org/appassembler/appassembler-maven-plugin/source-repository.html should point https://github.com/mojohaus/appassembler, etc.

This is correct ...this will be updated with the next release of appassembler...


Remove ActorIsolation::DistributedActorInstance.

The distributed case is distinguishable from the non-distributed case
based on the actor type itself for those rare cases where we care. The
vast majority of code is simplified by treating this identically to
ActorInstance.

@swift-ci please smoke test


[HOLD for payment 2023-09-21] Web - Input field not focused on click of back button from Get assistance page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

go to Settings > Workspaces >members
click on invite button
click on ? button to go Get assistance page
click on back button

Expected Result:
input field not focused on click of back button
Actual Result:
input field should be focused on click of back button from Get assistance page
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: v1.3.57-2
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/f191e187-badf-4c56-923b-4e513d091ab3
https://github.com/Expensify/App/assets/115492554/84d79220-98cb-46f8-af49-2ba53bbbd9d6
Expensify/Expensify Issue URL:
Issue reported by: @Gadhiyamanan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692778407152369
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Proposal
Please re-state the problem that we are trying to solve in this issue.
This is happening after #22622 this PR, we don't do any focus on the input when navigating back.
What is the root cause of that problem?
After getting merged of #25894 which will allow us to manually focus the input, we can use the updated ref and would be focusing depends on route focus in Screen WorkSpaceInvitePage

const isFocused = props.navigation.isFocused()

useEffect(() => {
    if(selectionListRef.current && isFocused){
        selectListRef.current.focusTextInput()
    }
},[isFocused, selectionListRef])

Would be giving the focus to the input whenever we navigate back.
What changes do you think we should make in order to solve the problem?
NA

@b4s36t4 we should implement "focus input on navigation focus" in BaseSelectionList which is base component, similar to BaseOptionsSelector here:
https://github.com/Expensify/App/blob/0b7ae7f58e3a98ba49cf9fc2812921964d9d8895/src/components/OptionsSelector/BaseOptionsSelector.js#L101-L108

@situchan gotcha. I think the same approach would do the work, except in context of functional component and the way we use the propos.

This is still reproducible in 1.3.57-5

@situchan I tried that actually for a related issue – InteractionsManager.runAfterInteractions uses requestAnimationFrame on web and so will interrupt a transition in progress. I know that's what react-navigation recommends in their docs, but it doesn't really work on web.
I tried this solution and it works great for pushing new routes onto the stack, but doesn't work for popping routes off the stack because, as Satya explains here, transitionStart and transitionEnd only run for the top card on the stack.
In this case we want to run an effect on the new top card on the stack only after transitionEnd finishes for the old top card on the stack.

This solution seems to work well for pushing new cards onto the stack as well as popping them:
diff --git a/src/components/SelectionList/BaseSelectionList.js b/src/components/SelectionList/BaseSelectionList.js
index 046b64e9e5..74083c4ad8 100644
--- a/src/components/SelectionList/BaseSelectionList.js
+++ b/src/components/SelectionList/BaseSelectionList.js
@@ -1,7 +1,8 @@
-import React, {useEffect, useMemo, useRef, useState} from 'react';
+import React, {useMemo, useRef, useState, useCallback} from 'react';
 import {View} from 'react-native';
 import _ from 'underscore';
 import lodashGet from 'lodash/get';
+import {useFocusEffect} from '@react-navigation/native';
 import SectionList from '../SectionList';
 import Text from '../Text';
 import styles from '../../styles/styles';
@@ -266,23 +267,20 @@ function BaseSelectionList({
         );
     };

-    /** Focuses the text input when the component mounts. If `props.shouldDelayFocus` is true, we wait for the animation to finish */
-    useEffect(() => {
-        if (shouldShowTextInput) {
-            if (shouldDelayFocus) {
+    /** Focuses the text input when the screen this component is included in comes into focus and any transitions to open that screen are completed. */
+    useFocusEffect(
+        useCallback(() => {
+            if (shouldShowTextInput) {
                 focusTimeoutRef.current = setTimeout(() => textInputRef.current.focus(), CONST.ANIMATED_TRANSITION);
-            } else {
-                textInputRef.current.focus();
-            }
-        }
-
-        return () => {
-            if (!focusTimeoutRef.current) {
-                return;
             }
-            clearTimeout(focusTimeoutRef.current);
-        };
-    }, [shouldDelayFocus, shouldShowTextInput]);
+            return () => {
+                if (!focusTimeoutRef.current) {
+                    return;
+                }
+                clearTimeout(focusTimeoutRef.current);
+            };
+        }, [shouldShowTextInput]),
+    );

     /** Selects row when pressing Enter */
     useKeyboardShortcut(CONST.KEYBOARD_SHORTCUTS.ENTER, selectFocusedOption, {

useFocusEffect runs whenever a card comes into focus, whether it was just pushed or the one on top was just popped, so that's great 👍🏼
The only downside (and it's pretty minor...) is that we're still using setTimeout, and that just feels a bit brittle. In reality it might be the best option though.

Started a draft PR with this implementation: https://github.com/Expensify/App/pull/25983
That said, I don't think this needs to be a deploy blocker. Demoting this.

Don't want to make this external because this was a regression related to this project. So I've asked that project team to fix it with the solution I provided

@thiagobrez can I assign this issue to you?

@roryabraham do you think it makes sense for @Santhosh-Sellavel to also be C+ on this, as he was on the original PR?

Hey @roryabraham, yep! I'll take a look soon

Update: will start on this tomorrow

PR is ready to review here: https://github.com/Expensify/App/pull/26415

PR is on staging

@roryabraham seems like no one is due payments based on this comment from you, can you please confirm if that's still correct?

Correct, no payments due. Going to close this out.

@roryabraham this is eligible for reporting bonus

Sorry about that. Looks like reporting bonus should apply here

Sent you a contract @gadhiyamanan!

@kadiealexander offer accepted, thanks!

Nice! All paid :)


Add context menu actions to open original/modified file

This is a copy of #589 with the conflicts resolved.
I'd really like to see this feature, thus wanted to make it as easy as possible for maintainers to pull it in :)
Thanks!

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: anoadragon453 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


JSDoc: Generated documentation

Why don't we use JSDoc to add generated code documentation to the prismjs.com website? I'm thinking about something like prismjs.com/docs/.
The generated documentation will include all documented variables/functions of components/prism-core.js. Functions that aren't documented won't show up in the doc.
I already tested this a little and it works quite well.
This is intended to replace the API section of extending Prism to keep Core and its documentation more in sync to avoid issues like #1774.
(We can also use this include API docs for plugins and components like markup templating in the future.)
Thoughts?
@mAAdhaTTah @Golmote @LeaVerou

I will gladly setup JSDoc and document prism-core.js.
Just tell me if we want this.

No strong opinions, but is our API large enough to warrant something like this?
On the other hand, keeping things DRY is always a good argument.

I gave a look at the #1782 PR thread and saw that JSDoc may not be coming soon. As a user of this library I would love to have a bit more throughtfull documentation.
Maybe until that is done we can compile a list of things to improve on the doc and push that forward? Just having a complete documentation of the main API methods, probably in a separate page, would be enough IMO.
Maybe on top of something like https://docsify.js.org/ with a couple of .md files? Looking at the prism-core.js file it doesn't seem to be a lot of work, I can make a PR with an initial version (doc folder with some .md files) if you think it would make sense.

@Gahen I re-did #1782 and we might be able to merge it within the next few days.

Thank you @RunDevelopment :heart:


Update README.md

fix a small formatting bug in the install manually section of the README

Thanks! I think we've been hitting these issues since GitHub updated their Markdown rendering with stricter CommonMark rules.

no prob :)


Too many Issues for U 🔥🔥🔥🔥

Apart from tables, Check out the grid design
You can check out the issues in this range:
Issue #359 to Issue #292
Sample
https://github.com/KwickerHub/frontend/issues/332
https://github.com/KwickerHub/frontend/issues/345
https://github.com/KwickerHub/frontend/issues/302

Hey @NtemKenyor ,
Can you assign me this issue?


Implement deduplication

This uses ThreadSanitizer's report capabilities to identify all
races and suppress based on unique tuples of
(file, line, column, is_write)
This was based on the v1.0.0 tag.
Intended for a minor release - v1.0.1
I will make another pull request for the master.

@jprotze and @simoatze: This is an experimental PR for early review.
I will also ask Pei-Hung and Leo to review this. 1. we used their benchmark and 2. they cinsider this as a weakness of Archer.

@IanBriggs The problem of this is that archer is dependent to the compiler-rt source.
For example the new deduplication file needs sanitizer_common/sanitizer_atomic.h which is not installed with LLVM/Clang. I don't think we can assume that use will always build Archer having the llvm source on hand.
Is there a possible workaround for this? Would help using __tsan_on_report instead of redefining the C++ method OnReport?


TS mistyping: QueryOptions missing staleTime

Describe the bug
staleTime is missing from QueryOptions, but new Queryies are always created with the default query options.
Since the default options are of the type QueryObserverOptions (via DefaultedQueryObserverOptions), and the Query.options property is of type QueryOptions, the property staleTime is lost from the types.
This has the effect that onFetch(context: FetchContext), and other places where query.options are used, do not have typed access to the staleTime property that might exist. This means that consumers have to cast QueryOptions to QueryObserverOptions.
I checked the source of v3 for any instances of new Query(...) and only found that one location (assuming main hasn't changed too much since then), so it should be safe to simply update QueryOptions as such:
export interface QueryOptions<...> {
  // ..
  cacheTime?: number // exists already
  staleTime?: number // add this
}

By doing this, we could also get rid of staleTime?: number on: QueryObserverOptions and complete removal of FetchQueryOptions.
I was originally hesitant to cast to observer options, because I thought there was a conceptual difference, but it's not clear that there is. Practically speaking, all queries may be assigned a staleTime, yet QueryOptions does not reflect this fact.
Your minimal, reproducible example
https://snack.expo.dev/9z36ZxLX9
(snack sites shows all types as 'any' so you may not be able to see the issue)
Steps to reproduce
queryClient.setDefaultOptions({
  queries: {
    staleTime: 42,
    behavior: {
      onFetch: (context) => {
        // This will generate a type error, but still works (ie. it logs out 'context staleTime 42' when a fetch is initiated)
        console.log('context staleTime', context.options.staleTime)
      }
    },
  },
});

Expected behavior
QueryOptions should have staleTime?: number on it
How often does this bug happen?
Every time
Screenshots or Videos

Platform

OS: all
Browser: all
Version: 3.39.1 (and also in main branch)

Tanstack Query adapter
react-query
TanStack Query version
v3.39.1
TypeScript version
v4.3.5
Additional context
No response

staleTime is an observer level property and not a query level one (as opposed to cacheTime). You can have multiple observers with different staleTime.


Allow to customize crosshair axis label background

Current background of the crosshair axis label is hardcoded to #4c525e. This doesn't fit some color schemes.
Would be great if it would be a customizable option.

The version 1.0.0 is just published.


Devise doesn't work with the latest version of the Ruby (ruby 2.6.3) and macOS Catalina?

Hi all! I'm new to this gem so maybe it was already solved (actually I can't find an answer).
Maybe someone can help me with this issue?
Environment

Ruby [ruby 2.6.3]
Rails [Rails 6.0.0]
Devise [devise 4.7.1]
MacOS [Catalina 15.0]

Behaviour
After installing devise gem, I try to run next command rails generate devise:install and then I got the next trace:
/Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/message_encryptor.rb:206:in `rescue in _decrypt': ActiveSupport::MessageEncryptor::InvalidMessage (ActiveSupport::MessageEncryptor::InvalidMessage)
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/message_encryptor.rb:183:in `_decrypt'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/message_encryptor.rb:157:in `decrypt_and_verify'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/messages/rotator.rb:21:in `decrypt_and_verify'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/encrypted_file.rb:80:in `decrypt'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/encrypted_file.rb:43:in `read'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/encrypted_configuration.rb:21:in `read'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/encrypted_configuration.rb:33:in `config'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/encrypted_configuration.rb:38:in `options'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/core_ext/module/delegation.rb:297:in `method_missing'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/devise-4.7.1/lib/devise/secret_key_finder.rb:24:in `key_exists?'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/devise-4.7.1/lib/devise/secret_key_finder.rb:10:in `find'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/devise-4.7.1/lib/devise/rails.rb:37:in `block in <class:Engine>'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/railties-6.0.0/lib/rails/initializable.rb:32:in `instance_exec'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/railties-6.0.0/lib/rails/initializable.rb:32:in `run'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/railties-6.0.0/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:228:in `block in tsort_each'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:347:in `each'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:347:in `call'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:347:in `each_strongly_connected_component'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:226:in `tsort_each'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:205:in `tsort_each'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/railties-6.0.0/lib/rails/initializable.rb:60:in `run_initializers'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/railties-6.0.0/lib/rails/application.rb:363:in `initialize!'
        from /Users/pentagon/Desktop/Projects/collabfield/config/environment.rb:5:in `<main>'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/zeitwerk-2.2.0/lib/zeitwerk/kernel.rb:23:in `require'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/dependencies.rb:325:in `block in require'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/dependencies.rb:291:in `load_dependency'
        from /Users/pentagon/.rvm/gems/ruby-2.6.3/gems/activesupport-6.0.0/lib/active_support/dependencies.rb:325:in `require'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:106:in `preload'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:157:in `serve'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:145:in `block in run'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:139:in `loop'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application.rb:139:in `run'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in `<top (required)>'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /Users/pentagon/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from -e:1:in `<main>'

Expected behavior
Hope to finish devise configuration and start creating new Models.
Thanks.

Hi @udodihor!
It doesn't look like a problem in devise, maybe it's something on your rails setup?
Could be related to your credentials.yml.enc file? There's an issue that really looks like your problem and was the rails setup. :smile:
If it turns out to be something on us, you can open a new issue with a sample application that reproduces the problem in isolation or even use the bug report template.
Thanks!

Thanks, it fixed my problem!


(C# only) VisualServer.CanvasItemAddTriangleArray throws null RID error unless valid texture and normal map RID is passed

Godot version:

v3.3.rc8.mono.official
OS/device including version:

Windows 10, GLES3 (tested with GLES2).
Issue description:

Using VisualServer.CanvasItemAddTriangleArray throws an error when texture or normalmap argument is null, it throws this error:
E 0:00:05.748   IntPtr Godot.RID.GetPtr(Godot.RID ): System.NullReferenceException: The instance of type RID is null.
  <C++ Error>   Unhandled exception
  <C++ Source>  /root/godot/modules/mono/glue/GodotSharp/GodotSharp/Core/RID.cs:15 @ IntPtr Godot.RID.GetPtr(Godot.RID )()
  <Stack Trace> RID.cs:15 @ IntPtr Godot.RID.GetPtr(Godot.RID )()
                VisualServer.cs:4861 @ void Godot.VisualServer.CanvasItemAddTriangleArray(Godot.RID , System.Int32[] , Godot.Vector2[] , Godot.Color[] , Godot.Vector2[] , System.Int32[] , System.Single[] , Godot.RID , Int32 , Godot.RID , Boolean , Boolean )()
                Script.cs:23 @ void Script._Draw()()

It seens that GDScript don't have this issue.
Steps to reproduce:

In a CSharp script, add a draw function;
Create Vector2 and Color arrays, populating then with a valid polygon data that can be triangulated;
Call Geometry.TriangulatePolygon to generate the indices automatically;
Call VisualServer.CanvasItemAddTriangleArray with the canvas item RID, the generated indices, points and colors;
Try to run the scene.

Minimal reproduction project:

Issue.zip

VisualServer.CanvasItemAddTriangleArray throws null RID error unless valid texture and normal map RID is passed

Passing a non-null invalid RID like new RID(null) as texture and normalMap parameters also makes it work (it can be used for a workaround).

This is what I do in C++:
RID texture_rid = texture.is_valid() ? texture->get_rid() : RID();
RID normalmap_rid = normalmap.is_valid() ? normalmap->get_rid() : RID();

VisualServer *vs = VisualServer::get_singleton();
vs->canvas_item_add_triangle_array(canvas_item, indices, vertices, colors, uvs, Vector<int>(), Vector<float>(), texture_rid, -1, normalmap_rid);

If we compare C++ to C#, then I'd say it's expected. But the issue looks like C# in Godot fails to deduce default RID()s when they're not passed explicitly, not sure.


ior: init at 3.0.1

Motivation for this change
IOR is a benchmark tool for parallel file systems. It will be very useful for us as we are using NIX in an HPC environment.
Things done

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

[X] NixOS
[ ] macOS
[ ] Linux

[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

Thanks!


Blocking third party cookies traps user in a redirect loop

After successfully authenticating against Okta the application keeps looping on a redirect due to not be able to get the cookie that the lambda@edge sets. Is there a workaround to this? Is it needed for the third party cookies be allowed in order to the lambda@edge to work?

Hi @luisalguien do u set your session duration? I resolved it by not using the default session duration which is 0. >,<

Yeah I was setting the session duration. The way we solved the issue was by using a different library for Okta on React code.


Updating tooltip for flu test results

FRONTEND PULL REQUEST
Related Issue

resolves #6131

Changes Proposed

Update tooltip

Testing

How should reviewers verify this PR?

Screenshots / Demos
Multiplex:

Flu only:

For large changes, please pair with a designer to ensure changes are as intended

The change looks good but if I remember correctly this tooltip also displays in the PXP flow for checking results. Do you know if that tooltip would also need the update?

Good catch!  I'll verify.


bug: astnormalization creates query that fails field merging

One of my queries is failing with a field merging error. Created a test to reproduce.

Closing this one since I created another pull request with the fix: https://github.com/wundergraph/graphql-go-tools/pull/653