Question: How can I draw a masked shape?

I want to draw a masked shape in display. For example, circle A masked by circle B in the following picture.

Would you have any ideas to draw the A AND B?
I have a rough idea using bool computation like this. I am worry about amount of memories with this approach. And, is it able with M5GFX?
uint32_t img[HEIGHT][WIDTH];
uint32_t masked_img[HEIGHT][WIDTH];
uint8_t mask[HEIGHT][WIDTH];

fillCircle(img,10,50,100); // draw circle A
fillCircle(mask,50,10,100); // draw circle B
bitwise_and(img,mask,mask_img); // masking

display(masked_img);

Hello, @botamochi6277
Currently M5GFX does not have the functionality to handle bitmasks, so it must be implemented entirely in user code.
Other suggestions include the following functionality:
#include <M5GFX.h>

M5GFX gfx;
M5Canvas cv;

void setup() {
    gfx.begin();

    cv.setColorDepth(2);
    cv.createSprite(160, 160);

    cv.drawCircle(50, 90, 50, 2);
    cv.drawCircle(90, 50, 50, 2);

    cv.floodFill(70, 70, 3);

    cv.setPaletteColor(3, TFT_YELLOW);

    cv.pushSprite(&gfx, 0, 0);
}

void loop() {}

Thanks for your reply. Sorry for the delay in commenting.
Oh, I got to know 🪣 M5Canvas::floodFill method.
Your proposed succeeds in my M5Stack and looks good.
I will try to use this approach. Thx.


Bump log4j2 version for cve-2021-44228

Addressing vulnerability to remote code execution via log4j2 JNDI lookup: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228

From version 2.16.0, this functionality has been completely removed

This should probably upgrade to 2.17.0 since another release was created to address the DOS issue.

Bumped to 2.17.1 https://logging.apache.org/log4j/2.x/security.html

Merged, thanks!


Grouped version updates from Dependabot

Not an issue, but the new grouped version updates feature from Dependabot already resolves the main use case mentioned in the readme for this action: https://github.blog/changelog/2023-06-30-grouped-version-updates-for-dependabot-public-beta/
version: 2
  updates:
  - package-ecosystem: "bundler"
    directory: "/"
    schedule:
      interval: weekly
    # New!
    groups:
      # This is the name of your group, it will be used in PR titles and branch names
      dev-dependencies:
        # A pattern can be...
        patterns:
          - "rubocop" # a single dependency name
          - "aws*"  # or a wildcard string that matches multiple dependencies
          # If you'd simply like to group as many dependencies together as possible,
          # you can use the wildcard * - but keep in mind this may open a very large PR!
        # Additionally, you can specify any dependencies to be excluded from the group
        exclude-patterns:
          - "aws-sdk"

Maybe this should be mentioned in the readme?

@rollingmoai Thank you for pointing this out! I have opened a pull request that updates the READMEs documentation and merging that pull request will close out this issue 📚


GF180MCU USEMINSPACING

Again I am not sure if this is the right place. The tech lef for gf180mcu has USEMINSPACING set to ON which is in my opinion mostly dangerous. Setting it to OFF is more conservative and I don't believe that it will have any negative impact.

@kareefardi :  Raise an issue on https://github.com/mabrains/gf180mcu-pdk


Failed to create platform view rendering surface

When build the projects , it will complains
[VERBOSE-2:platform_view.cc(87)] Failed to create platform view rendering surface
 flutter doctor -v :
[✓] Flutter (Channel stable, 2.2.3, on macOS 12.0 21A5304g darwin-x64, locale zh-Hans-CN)
    • Flutter version 2.2.3 at /Users/ximmy/Documents/flutter
    • Framework revision f4abaa0735 (6 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/ximmy/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.0, Build version 13A5155e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] Connected device (2 available)
    • iPhone 12 Pro Max (mobile) • E73758BD-AF6C-4F2A-9CC8-F4F7EF2B1FBC • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome
      92.0.4515.131

! Doctor found issues in 1 category.

Considering the type of error received [VERBOSE-2:platform_view.cc(87)] Failed to create platform view rendering surface
and author seems to be trying to run on iOS 15 com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator),  this seems to be a duplicate of https://github.com/flutter/flutter/issues/85749.
@ximmyxiao You may follow-up in original issue for further updates. If you think your issue isn't same, write in comments and I'll reopen it.
Thanks.

thanks ! I didn't know some one had mentioned it earlier


Cyrillic characters are rendered using Monaco

guifont and guifontwide are both set to Source Code Pro, which has Cyrillic characters. Terminal Vim and other apps use those without issues, MacVim uses the fallback monospace font.

Google Fonts, official readme and github page doesn't claim that this font does support Cyrilic characters, does it?

I haven't checked, but it certainly does. That said, the issue appears to have disappeared in 8.1, or was transient to begin with.


Remove unnecessary constraints on connections

Description
Remove unnecessary constraints on connection outputs. Reference: 7937
Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

Blocked by provider bug https://github.com/IBM-Cloud/terraform-provider-ibm/issues/5263

/run pipeline

Marked as draft, 1.64.2 contains a fix, so a permanent mechanism to avoid the broken IBM provider versions can be created.

/run pipeline

Adopting the least intrusive method to avoid the broken IBM provider versions 1.64.0 and 1.64.1. Only the root module excludes them. The examples (and modules) remain unchanged, either pinned to oldest or using latest. They all include the root module and thus avoid the broken versions.

/run pipeline


Deprecate cf-demo

It's VERY outdated.
Delete/update references to cf-demo within cfpb.github.io/capital-framework docs site

[ ] _includes/adding-deps-step2.md
[ ] _includes/workflow-intro.md
[ ] cf-demo/index.md
[ ] contributing/status.md
[ ] Then delete the cf-demo repo

@Scotchester The Jekyll files listed above are no longer used, correct? Should we just delete the files rather than removing references to cf-demo in them?

Yes. See https://github.com/cfpb/capital-framework/pull/171#issuecomment-108122836.

Don't delete status.md, though. I hope to revive that and make it useful somehow.


fix: Repository maintenance

#6 and #5 are stalled because CI fails since there isn't a Makefile in this repository

Thanks!


Add drill down property to capabilities json schema

Hi @raananzvi, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Raanan Zvi). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


Error: Failed to launch chrome!

Error: Failed to launch chrome!
/home/pptr/node_modules/puppeteer/.local-chromium/linux-513435/chrome-linux/chrome:
error while loading shared libraries: libgconf-2.so.4:
cannot open shared object file: No such file or directory

would love a base docker image certified by google that works everytime.

Even I am facing same issue.
Logs:
2017-11-10T15:26:18.18+0530 [App/0] ERR Potentially unhandled rejection [1] Error: Failed to launch chrome!
2017-11-10T15:26:18.18+0530 [App/0] ERR /home/vcap/app/node_modules/puppeteer/.local-chromium/linux-508693/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory
I am able to run this app locally since all the puppeteer dependencies and libraries are available. However in cloud environment these libraries are not available. I understand these are stack level libraries and hence not included as part of package.
Can you provide some solution since we are not able to add these libraries manually ?

Have you looked at the troubleshooting document? The error clearly shows missing libraries which means you are missing dependencies. The document has a list for Debian and redhat distributions to get going with.

Also tried to use this as my dockerfile
# node:carbon is 8.9 LTS release
FROM node:carbon

# From: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md
# Install latest chrome dev package which installs the necessary libs
# to make the bundled version of Chromium that Pupppeteer installs, work.
RUN apt-get update && apt-get install -y wget --no-install-recommends \
  && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
  && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
  && apt-get update \
  && apt-get install -y google-chrome-unstable --no-install-recommends \
  && rm -rf /var/lib/apt/lists/* \
  && rm -rf /src/*.deb

# Add pptr user
RUN useradd --create-home --user-group --shell /bin/bash pptr
USER pptr
WORKDIR /home/pptr

# Install npm deps first since we want to keep modules cached for super fast builds
COPY package.json .
RUN yarn install

COPY puppeteer_tests.js .

# run the tests by default
CMD [ "node", "puppeteer_tests.js"]

Inside the test I open a number of files in parallel, but it seems to crash the chromium version that installs when puppeteer installs. I get a feeling one of the libs installed by google-chrome-unstable doesn't play nicely with yarn installed puppeteer chromium version.

you can  skip chromium install with add this to package.json
"scripts": {     "build-dev": "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD"   }

Hi,
I had to write my own custom build pack to resolve this issue.  Just curious. How are you getting this list?
I'm just concerned, when puppeteer bundled chromium updates, how do I get
the deps list for newer versions in dockerfile

I believe it was originally curated at https://github.com/ebidel/try-puppeteer, though I'm having issues locating it now. (https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md is also helpful).
@nojvek I handle this by keeping older tags of puppeteer-specific builds around. You'll likely have to slog through updates until it works and then launch the new version of the docker image + any dependent code. Again, this is the strategy I've adopted for my project.

@joelgriffith  even with the list you've given me it seems the bundled puppeteer crashes when opening tabs in parallel.
10:54:35 Error: Protocol error (Target.activateTarget): Session closed. Most likely the page has been closed.
    at Session.send (/home/pptr/node_modules/puppeteer/lib/Connection.js:167:29)
    at Page._screenshotTask (/home/pptr/node_modules/puppeteer/lib/Page.js:651:24)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

It seems puppeteer on docker is very unstable.

RUN yarn install

COPY tests.js .

# run the tests by default
CMD [ "dumb-init", "node", "tests.js" ]

Unhandled promise rejection (rejection id: 1): Error: Page crashed!
(node:7) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Error: Protocol error (Page.captureScreenshot): Target closed.
    at Session._onClosed (/home/pptr/node_modules/puppeteer/lib/Connection.js:210:23)
    at Connection._onClose (/home/pptr/node_modules/puppeteer/lib/Connection.js:116:15)
    at emitTwo (events.js:126:13)
    at WebSocket.emit (events.js:214:7)
    at WebSocket.emitClose (/home/pptr/node_modules/ws/lib/WebSocket.js:213:10)
    at _receiver.cleanup (/home/pptr/node_modules/ws/lib/WebSocket.js:195:41)
    at Receiver.cleanup (/home/pptr/node_modules/ws/lib/Receiver.js:520:15)
    at WebSocket.finalize (/home/pptr/node_modules/ws/lib/WebSocket.js:195:22)
    at emitNone (events.js:111:20)
    at Socket.emit (events.js:208:7)

In the images used by https://browserless.io, we don't base off of FROM node:carbon as Chrome often requires more packages to be available, and if you want certain fonts to work you'll need a richer base.
You might give FROM ubuntu:16.04 a try, though it will result in a larger image. I've definitely gotten multiple Targets working, I'll dig through my commit logs and see if anything else obvious comes up

That makes sense. I also hypothesize that it could be due to sandbox
issues. Multiple pages not being able to isolate themselves properly.
I'll deffo give Ubuntu base a shot.

Might also try increasing the /dev/shm size as well with --shm-size 1gb or whatever is sensible

/dev/shm was key.
 Node has issues being pid 1
RUN wget https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb\
  && dpkg -i dumb-init_*.deb \
  && rm dumb-init_*.deb

# Install nodejs 8
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - \
  && apt-get install -y nodejs

# Add pptr user
RUN useradd --create-home --user-group --shell /bin/bash pptr
USER pptr
WORKDIR /home/pptr

# Install npm deps first since we want to keep modules cached for super fast builds
COPY package.json .
RUN npm install

COPY tests.js .

# run the tests by default
CMD [ "dumb-init", "node", "tests.js"]

Running as
docker run -it --name tests --shm-size 1gb tests Works wonders.
I wonder if /dev/shm = 1gb can be baked into the dockerfile rather than being passed as param. Would look cleaner.
Also @joelgriffith  / Chrome puppeteer core contributors. Would you mind if I send a Dockerfile as a PR? And would be happy to publish it in docker registry as GoogleChrome/puppeteer base image ?
Would be super helpful to rest of the community.

I think this docker file example is enough:
https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#running-puppeteer-in-docker
On Thu, Nov 16, 2017, 2:24 AM Manoj Patel<EMAIL_ADDRESS>wrote:

/dev/shm was key.
DockerFile
ubuntu:xenial is the 16.04 LTS release
FROM ubuntu:xenial
From: https://github.com/GoogleChrome/puppeteer/issues/1345#issuecomment-343554457
Install necessary apt packages for puppeteer bundled chromium work
RUN apt-get update && apt-get install --no-install-recommends -y
ca-certificates
curl
fontconfig
fonts-liberation
gconf-service
git
libappindicator1
libasound2
libatk1.0-0
libc6
libcairo2
libcups2
libdbus-1-3
libexpat1
libfontconfig1
libgcc1
libgconf-2-4
libgdk-pixbuf2.0-0
libglib2.0-0
libgtk-3-0
libnspr4
libnss3
libpango-1.0-0
libpangocairo-1.0-0
libstdc++6
lib\x11-6
libx11-xcb1
libxcb1
libxcomposite1
libxcursor1
libxdamage1
libxext6
libxfixes3
libxi6
libxrandr2
libxrender1
libxss1
libxtst6
locales
lsb-release
unzip
wget
xdg-utils
Install dumb-init. Node has issues being pid 1
RUN wget https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb
&& dpkg -i dumb-init_.deb
&& rm dumb-init_.deb
Install nodejs 8
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
&& apt-get install -y nodejs
Add pptr user
RUN useradd --create-home --user-group --shell /bin/bash pptr
USER pptr
WORKDIR /home/pptr
Install npm deps first since we want to keep modules cached for super fast builds
COPY package.json .
RUN npm install
COPY tests.js .
run the tests by default
CMD [ "dumb-init", "node", "tests.js"]
Running as
docker run -it --name tests --shm-size 1gb tests Works wonders.
I wonder if /dev/shm = 1gb can be baked into the dockerfile rather than
being passed as param. Would look cleaner.
Also @joelgriffith https://github.com/joelgriffith / Chrome puppeteer
core contributors. Would you mind if I send a Dockerfile as a PR? And would
be happy to publish it in docker registry as GoogleChrome/puppeteer base
image ?
Would be super helpful to rest of the community.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChrome/puppeteer/issues/1345#issuecomment-344880003,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOigITDwkMl2bvnIjrfQL3M0j-u3_ATks5s3A1PgaJpZM4QZKyA
.

Lol! That’s the reason why I filed the issue. The dockerfile link in
troubleshooting guide was crashing on multiple tabs.
It does make sense to maintain an official Docker image than we can FROM:x
and build upon, wouldn’t you agree. It took me almost a week to get a
working Docker image that doesn’t crash.

I've been debating whether or not to open-source the images I run at browserless, as it does take days/weeks to get right. Browserless goes a step further and treats the browser more like an appliance (think database) then just a binary to execute arbitrarily. There's also other fixes included like emoji's and other fonts. Finally, I maintain builds for specific puppeteer versions + a little live debugger that makes it really painless to test scripts against your headless farm. Would that be of interest?

@nojvek so perhaps dumb-init is also a key piece. Others have had success with it. Other than that, I don't see a huge difference with your setup...other than a different base image.
I think one of the problems with blessing + hosting an official docker image is that folks want many different things: base images, ways to run the container, etc. That's just based on observation of all the flavors of Docker issues we see. But I could be wrong.

@joelgriffith browserless.io wouldn’t make sense for us since we test a number of hosts behind firewall. But I really really appreciate your help and guidance here. I’d have almost given up without your help.
@ebidel, I absolutely love what you’ve done with puppeteer but I hope you realize how much of a pain it is to get it consistently working across different machines without it crashing every now and then. Docker solves exactly that problem. Bundling all dependencies in an image so it’s as easy as Docker run.
I believe the puppeteer project managers should definitely engage with the community regarding this.
I’m tempted to add my own image to Docker registry but I believe having a GoogleChrome/puppeteer base image would add less fragmentation when someone searches for an image to use.
Also when google starts supporting using Docker images as cloud functions, this becomes really really powerful and easy to use.

Also when google starts supporting using Docker images as cloud functions, this becomes really really powerful and easy to use.

This might happen but I wouldn't bank on it. Cloud functions generally have a slow startup/warming phase (In chromeless this is ~2 seconds). Since the web-browser isn't entirely stateless it's also tough to make it work well in a lambda context, especially since you interact with it over web sockets regardless of the library. There's also a ton of issues in other repos solely regarding this.
I really feel that it's more like an external database/appliance where it should be available remotely, and you just connect to it and drive it. That's the primary methodology behind browserless and why I'm considering open-sourcing it + the docker image. It doesn't make any prescriptions about what library you use or force you to bundle up any external code with it, it just exposes the remote protocol and adds some other features around it (like concurrency limitations, queuing and so forth).

I’m tempted to add my own image to Docker registry but I believe having a GoogleChrome/puppeteer base image would add less fragmentation when someone searches for an image to use.

I think someone is going to have to do it, but it's not really the motivation behind this repo, which is to expose a nice high-level interface for remotely driving Chrome. Docker isn't the only packaging methodology out there as well, so by having an official repo it kind of opens the doors for supporting others (totally a hypothesis on my end).
Definitely open to thoughts on the above

@nojvek I feel the pain! :) I personally learned a lot from getting try-puppeteer.appspot.com up and running. In fact, Page.crash is the number 1 error:

IMO, there are a lot of thorns and limitations running headless chrome in the cloud. Another example is that using puppeteer.connect() really doesn't work that well. You end up hitting out of memory issues with v8/node by having a long running, heavy-weight node process (the browser). This was my failed attempt on try-puppeteer:

^ If anyone has ideas on that, I would be most greatful :) Running the server with --max_old_space_size=4096 did more harm than good b/c containers were constantly getting restarted due to higher memory usage.

I can't speak for other platforms, but I'm working with the Google Cloud team to figure out ways we can make these things smoother from our end. I think it's an important sace and chrome/puppeteer should work really well in the cloud.
I do agree with @joelgriffith that it gets pretty tricky for this repo to provide production ready, out of the box solutions for every cloud environment.  That's something the community should run with. What the Puppeteer team can/should do is provide a north star for developers wanting to get started with puppeteer in Docker. Also help the headless chrome team discover and address bugs when they come up. The /dev/shm issue being one example. We've tried to do that through examples, docs, and the troubleshooting guide.
@nojvek, out of curiosity, do you haven an example script that shows the failure on our troubleshooting docker file? I was able to run this script on that image without issue:
test.js:
const puppeteer = require('puppeteer');
(async() => {
  const browser = await puppeteer.launch({dumpio: true});
  const NUM_TABS = 100;
  for (let i = 0; i < NUM_TABS; ++i) {
    console.log(`Opening tab ${i}`);
    const page = await browser.newPage();
    await page.goto('https://www.google.com/');
  }
  await browser.close();
})();

Ran with:
docker run --rm -p 8080:8080 --shm-size=1g --cap-add=SYS_ADMIN --name puppeteer-chrome puppeteer-chrome-linux node -e "`cat test.js`"

Out of curiosity, @ebidel do you keep the browser around after requests/sessions are fulfilled? I can see that being a slow leak over time considering that puppeteer launches Chrome as a child process IIRC.

That's right. I was experimenting with express middleware that launches chrome once and reuses it for subsequent requests. The idea being that it's cheaper to not launch a browser per request.

@ebidel That's a bad idea.
I've been using chrome-remote-interface to build something very similar to Puppeteer (a public talk about this is here - https://paambaati.github.io/rendering-at-scale/), and use it at scale. I ran into each of these problems, (memory leaks, segfaults, runaway Chrome instances, slow downs, etc.) and in the end decided to run them without containers but in their own dedicated AWS ASG, with Mesos/Marathon running them. Here's what I've learnt —

Set /dev/shm to 1 GB or more.
Never use long-running Chrome - it slowly eats up memory; always launch Chrome per-request.
Use a zombie-reaper like dumb-init to start your main process.

While these 3 things helped a lot with the stability issues, ultimately, Chrome was still unstable and would either slow down (accept socket connections over the remote debugging port but then not respond to a few commands) or segfault after a few hours.

Here we go: https://github.com/joelgriffith/browserless

Love it.

Recently, a slightly relevant bug was fixed in 64.0.3281.0 - see https://bugs.chromium.org/p/chromium/issues/detail?id=736452
Would someone be willing to retest with the new version and see if things improve?


osmnx.gdfs_to_graph is dropping edges

Problem description (what did you do, what did you expect to happen, and what actually happened)
When I use osmnx.gdfs_to_graph(nodes,edges) I have noticed that several of my edges are getting dropped. This can be seen by converting the graph back to nodes and edges using nodes, edges = osmnx.graph_to_gdfs(G) and looking for the missing edge. In the example, you will see that there is one missing edge (old index 295) with road name "Racehorse Drive" in the new edges. Please use the attached NodesEdges.txt and change name to NodesEdges.pkl with the example.
What operating system, architecture, Python version, and OSMnx version are you using?
Windows 10 x64
Python 3.8 osmnx version 0.11.4
Complete list of your environment's packages and their versions (for example, run conda list or pip list then paste the output below, between the two "details" tags)

# Name Version Build Channel attrs 19.3.0 py_0 conda-forge backcall 0.1.0 py38_0 anaconda boost-cpp 1.70.0 h6a4c333_2 conda-forge branca 0.4.0 py_0 conda-forge bzip2 1.0.8 hfa6e2cd_2 conda-forge ca-certificates 2019.11.28 hecc5488_0 conda-forge certifi 2019.11.28 py38h32f6830_1 conda-forge cffi 1.14.0 py38ha419a9e_0 conda-forge cfitsio 3.470 hfa6e2cd_2 conda-forge chardet 3.0.4 py38h32f6830_1006 conda-forge click 7.0 py_0 conda-forge click-plugins 1.1.1 py_0 conda-forge cligj 0.5.0 py_0 conda-forge cloudpickle 1.2.2 py_1 conda-forge colorama 0.4.3 py_0 anaconda cryptography 2.8 py38hb32ad35_1 conda-forge curl 7.68.0 h4496350_0 conda-forge cycler 0.10.0 py_2 conda-forge cytoolz 0.10.1 py38hfa6e2cd_0 conda-forge dask-core 2.10.1 py_0 conda-forge decorator 4.4.1 py_0 conda-forge descartes 1.1.0 py_4 conda-forge expat 2.2.9 he025d50_2 conda-forge fiona 1.8.13 py38hb7fdc2d_0 conda-forge folium 0.10.1 py_0 conda-forge freetype 2.10.0 h563cfd7_1 conda-forge freexl 1.0.5 hd288d7e_1002 conda-forge gdal 3.0.4 py38h2fee047_0 conda-forge geographiclib 1.50 py_0 conda-forge geopandas 0.7.0 py_1 conda-forge geopy 1.21.0 py_0 conda-forge geos 3.8.0 he025d50_0 conda-forge geotiff 1.5.1 h9633a31_8 conda-forge gettext <IP_ADDRESS> hb01d8f6_1002 conda-forge glib 2.58.3 py38hc0c2ac7_1002 conda-forge hdf4 4.2.13 hf8e6fe8_1003 conda-forge hdf5 1.10.5 nompi_ha405e13_1104 conda-forge icc_rt 2019.0.0 h0cc432a_1 icu 64.2 he025d50_1 conda-forge idna 2.9 py_1 conda-forge imageio 2.6.1 py38_0 conda-forge intel-openmp 2019.4 245 ipython 7.12.0 py38h5ca1d4c_0 anaconda ipython_genutils 0.2.0 py38_0 anaconda jedi 0.16.0 py38_0 anaconda jinja2 2.11.1 py_0 conda-forge joblib 0.14.1 py_0 conda-forge jpeg 9c hfa6e2cd_1001 conda-forge kealib 1.4.10 hf7dc31f_1005 conda-forge kiwisolver 1.1.0 py38he980bc4_0 conda-forge krb5 1.16.4 hdd46e55_0 conda-forge libblas 3.8.0 14_mkl conda-forge libcblas 3.8.0 14_mkl conda-forge libclang 9.0.1 default_hf44288c_0 conda-forge libcurl 7.68.0 h4496350_0 conda-forge libffi 3.2.1 h6538335_1006 conda-forge libgdal 3.0.4 h90de84b_0 conda-forge libiconv 1.15 hfa6e2cd_1005 conda-forge libkml 1.3.0 h4ece8bf_1010 conda-forge liblapack 3.8.0 14_mkl conda-forge liblapacke 3.8.0 14_mkl conda-forge libnetcdf 4.7.3 nompi_hc957ea6_101 conda-forge libopencv 4.2.0 py38_2 conda-forge libpng 1.6.37 h7602738_0 conda-forge libpq 12.1 hb0bdaea_0 conda-forge libspatialindex 1.9.3 he025d50_3 conda-forge libspatialite 4.3.0a hd027ac7_1034 conda-forge libssh2 1.8.2 h642c060_2 conda-forge libtiff 4.1.0 h21b02b4_3 conda-forge libwebp 1.0.2 hfa6e2cd_5 conda-forge libxml2 2.9.10 h9ce36c8_0 conda-forge lz4-c 1.8.3 he025d50_1001 conda-forge m2w64-expat 2.1.1 2 m2w64-gcc-libgfortran 5.3.0 6 m2w64-gcc-libs 5.3.0 7 m2w64-gcc-libs-core 5.3.0 7 m2w64-gettext 0.19.7 2 m2w64-gmp 6.1.0 2 m2w64-libiconv 1.14 6 m2w64-libwinpthread-git <IP_ADDRESS>34.697f757 2 m2w64-xz 5.2.2 2 markupsafe 1.1.1 py38h9de7a3e_1 conda-forge matplotlib-base 3.1.3 py38h2981e6d_0 conda-forge mkl 2019.4 245 msys2-conda-epoch 20160418 1 munch 2.5.0 py_0 conda-forge networkx 2.4 py_0 conda-forge numpy 1.18.1 py38hc71023c_0 conda-forge olefile 0.46 py_0 conda-forge opencv 4.2.0 py38_2 conda-forge openjpeg 2.3.1 h57dd2e7_3 conda-forge openssl 1.1.1e hfa6e2cd_0 conda-forge osmnx 0.11.4 py_1 conda-forge pandas 1.0.1 py38he350917_0 conda-forge parso 0.6.1 py_0 anaconda pcre 8.43 h6538335_0 conda-forge pickleshare 0.7.5 py38_1000 anaconda pillow 7.0.0 py38h9ea1dd6_0 conda-forge pip 20.0.2 py_2 conda-forge poppler 0.67.0 h1707e21_8 conda-forge poppler-data 0.4.9 1 conda-forge postgresql 12.1 h06f7779_0 conda-forge proj 6.3.0 ha7a8c7b_0 conda-forge prompt_toolkit 3.0.3 py_0 anaconda py-opencv 4.2.0 py38h5ca1d4c_2 conda-forge pycparser 2.20 py_0 conda-forge pygments 2.5.2 py_0 anaconda pyopenssl 19.1.0 py_1 conda-forge pyparsing 2.4.6 py_0 conda-forge pyproj 2.5.0 py38hc1560cf_0 conda-forge pysocks 1.7.1 py38h32f6830_1 conda-forge python 3.8.1 he1f5543_2 conda-forge python-dateutil 2.8.1 py_0 conda-forge python_abi 3.8 1_cp38 conda-forge pytz 2019.3 py_0 conda-forge pywavelets 1.1.1 py38hc8d92b1_0 conda-forge qt 5.12.5 h7ef1ec2_0 conda-forge requests 2.23.0 pyh8c360ce_2 conda-forge rtree 0.9.4 py38hbf79ddb_0 conda-forge scikit-image 0.16.2 py38he350917_0 conda-forge scikit-learn 0.22.2.post1 py38h7208079_0 conda-forge scipy 1.3.2 py38h582fac2_0 conda-forge setuptools 45.2.0 py38_0 conda-forge shapely 1.7.0 py38h2130f3d_0 conda-forge six 1.14.0 py38_0 conda-forge sqlite 3.30.1 hfa6e2cd_0 conda-forge tbb 2018.0.5 he980bc4_0 conda-forge tiledb 1.7.0 hffbbd95_2 conda-forge tk 8.6.10 hfa6e2cd_0 conda-forge toolz 0.10.0 py_0 conda-forge tornado 6.0.3 py38hfa6e2cd_3 conda-forge traitlets 4.3.3 py38_0 anaconda urllib3 1.25.7 py38h32f6830_1 conda-forge vc 14.1 h0510ff6_4 vincent 0.4.4 py_1 conda-forge vs2015_runtime 14.16.27012 hf0eaf9b_1 wcwidth 0.1.8 py_0 anaconda wheel 0.34.2 py_1 conda-forge win_inet_pton 1.1.0 py38_0 conda-forge wincertstore 0.2 py38_1003 conda-forge xerces-c 3.2.2 h6538335_1004 conda-forge xz 5.2.4 h2fa13f4_1001 conda-forge zlib 1.2.11 h2fa13f4_1006 conda-forge zstd 1.4.4 hd8a0e53_1 conda-forgetags

Code snippet that independently and completely reproduces the issue
import pickle
import osmnx as ox

with open('NodesEdges.pkl', 'rb') as f:
  nodes, edges = pickle.load(f)

nodes.gdf_name = 'unnamed_UTM_UTM_nodes'

#Find all the edges that belong to Racehorse Drive (There are 7)
np.where(edges.name.to_numpy()=="Racehorse Drive")
# Should get: (array([204, 294, 295, 362, 363, 364, 656], dtype=int64),)

#Index 295 will get dropped when converted to graph
print(edges.loc[295,:])

#Convert to graph
G = ox.gdfs_to_graph(nodes,edges)

#Convert back to nodes, edges
new_nodes, new_edges = ox.graph_to_gdfs(G)

#Find all the edges that belong to Racehorse Drive (There are only 6 now)
np.where(new_edges.name.to_numpy()=="Racehorse Drive")
#Should get (array([621, 648, 649, 653, 667, 703], dtype=int64),)
#There's one missing. This corresponds to old index 295

NodesEdges.txt

Can you provide a reproducible example starting with the initial query of OSM? It'll help to track it through from the beginning.

My function isn't written to without a lot of other support functions. I'm basically trying to do something similar to clean_intersection but return a graph with altered edges that are connected to the new nodes (eventually plan to simplify divided highways). From the edges I have, it looks like 6 are dropped when converting back to a graph. The example I provided is for one of the six edges. The NodesEdges.txt (.pkl) file should have the nodes/edges, but I started with G = ox.graph_from_bbox(32.812469,32.765161,-96.980091,-97.052905,simplify=False) with (primary/secondary/tertiary links filtered out).

I've tried to create as close to a fully reproducible example as possible:
import osmnx as ox
ox.config(use_cache=True, log_console=True)
fltr = '["area"!~"yes"]["highway"!~"primary|secondary|tertiary|cycleway|footway|path|pedestrian|steps|track|corridor|elevator|escalator|proposed|construction|bridleway|abandoned|platform|raceway|service"]["motor_vehicle"!~"no"]["motorcar"!~"no"]["access"!~"private"]["service"!~"parking|parking_aisle|driveway|private|emergency_access"]'
G = ox.graph_from_bbox(32.812469, 32.765161, -96.980091, -97.052905, simplify=False, custom_filter=fltr)
nodes, edges = ox.graph_to_gdfs(G)
G2 = ox.gdfs_to_graph(nodes, edges)
len(G.edges) == len(G2.edges) #true

It works as expected, yielding the same number of edges in both graphs. It doesn't look like this is an OSMnx specific issue. As you mentioned you have lots of other support functions, it might be better to ask this on StackOverflow to see if someone has time to dig through it all and track down where your discrepancy comes in. Feel free to reopen if you pin down an OSMnx specific bug here.

Can two edges have the same u and v values? I think my simplification may lead to this situation in some cases and this is one of them.

Yes. Edges are uniquely identified by u, v, key attributes in triples. See the networkx documentation.

Ah, all three were the same for two roads that were eliminated. I'll need to set a different key value for this special case.


gh-256 use the securableResourceId

Closes #256
Fall back to using securableResourceId and add a test for the endpoint GET /{securableResourceDomainType}/{securableResourceId}/groupRoles/{groupRoleId}/userGroups

Thanks for this @aaronforshaw, I've got one comment.


The application has already been setup or the backend is misconfigured.

We have been using poweradmin few years now, but it does not support newest PHP + mcrypt anymore so we're looking for alternative Web GUI.
I tried to install PDNS Manager but it always says "The application has already been set up or the backend is misconfigured." followed the guide from https://pdnsmanager.org/quickstart/.
Looks like installation is working on another server which is not PowerDNS server. But after creating a user the password is not working and I am typing it right. However, it created all the necessary tables and user information (with wrong password).
What should I do?

Is the database you use empty?

I tried to install to the existing database (because we have a lot of domains) and then empty one, but the installation progress did not even go that far in our main server. It stopped before even started. And there is a different error when the table is not empty. Secondary server was ok until I tried to log in.

It is only supported to install pdnsmanager to an empty database, the setup should throw an error on non empty databases. If you want to transfer domain data, you can do this manually after setup on the SQL level.

I'm getting the exact same message from the setup script only this is on a vm that is brand new and has nothing installed on it apart from pdns reqs etc the mysql database is created and empty but it will not let me proceed

Same here. After a clean install I can't login with the credentials used in the setup routine

I have having same error with fresh install, anyone know how to fix this error?

This is duplicate with #106


Extending libcloud ex_create_address to allow internal ip creation

Changes Title (replace this with a logical title for your changes)
Description
As part of a change for salt issue 45917 to extend it's functionality to allow assignment of static internal ip it is need to extend libcloud.
Extended ex_create_address to include two additional parameters

addressType
subnetwork

As described in the REST endpoint for addresses.
Status

done, ready for review

Checklist (tick everything that applies)

[x] Code linting (required, can be done after the PR checks)
[x] Documentation
[x] Tests
[ ] ICLA (required for bigger changes)

Thanks  @pquentin

I would like to fix the sphinx build before merging though

@pquentin can I assist in that somehow?

@jeremysolarz Thanks! Merged in trunk. ✨
I finally decided to pin sphinx to version 1.6.x, but help would be appreciated to fix the issues with sphinx 1.7.1.

Thanks @pquentin


Refactoring: Strict TypeScript Fix #1208

What problem did you solve?
WIP PR to refactor the entire TypeScript codebase to use stricter type checks. See https://github.com/REditorSupport/vscode-R/issues/1208
We should work bottom-up and fix files with many dependents earlier as null-checks may propagate.
TODO
Rough checklist to track progress:

[ ] html\help\script.ts
[ ] html\help\webviewMessages.d.ts
[ ] html\httpgd\index.ts
[ ] html\httpgd\webviewMessages.d.ts
[x] src\api.d.ts
[x] src\apiImplementation.ts
[x] src\completions.ts
[x] src\cppProperties.ts
[x] src\extension.ts
[x] src\languageService.ts
[x] src\lineCache.ts
[x] src\lintrConfig.ts
[x] src\preview.ts
[x] src\rGitignore.ts
[x] src\rstudioapi.ts
[x] src\rTerminal.ts
[x] src\selection.ts
[ ] src\session.ts
[x] src\tasks.ts
[x] src\util.ts
[ ] src\workspaceViewer.ts
[ ] src\helpViewer\cran.ts
[ ] src\helpViewer\helpProvider.ts
[ ] src\helpViewer\index.ts
[ ] src\helpViewer\packages.ts
[ ] src\helpViewer\panel.ts
[ ] src\helpViewer\treeView.ts
[ ] src\helpViewer\webviewMessages.d.ts
[ ] src\liveShare\index.ts
[ ] src\liveShare\shareCommands.ts
[ ] src\liveShare\shareSession.ts
[ ] src\liveShare\shareTree.ts
[ ] src\liveShare\virtualDocs.ts
[ ] src\plotViewer\httpgdTypes.d.ts
[ ] src\plotViewer\index.ts
[ ] src\plotViewer\webviewMessages.d.ts
[ ] src\rmarkdown\draft.ts
[ ] src\rmarkdown\index.ts
[ ] src\rmarkdown\knit.ts
[ ] src\rmarkdown\manager.ts
[ ] src\rmarkdown\preview.ts
[ ] src\test\runTest.ts
[ ] src\test\suite\extendSelection.test.ts
[ ] src\test\suite\index.ts
[ ] src\test\suite\lineCache.test.ts
[ ] src\test\suite\syntax.test.ts

I'm quite familiar with the help and plot viewer related code, so I could do those files. Should I just push the corresponding changes directly to this branch?

I'm quite familiar with the help and plot viewer related code, so I could do those files. Should I just push the corresponding changes directly to this branch?

Yes, go for it. I am done for today and will continue tomorrow. I have just finished all code files in the src/ root but  src\session.ts (I don't really understand the request file mechanism used there so help is appreciated).

For reference: There was/is a pretty large number of unchecked null-ish values. (for example when the R-path is not set) I try to return early or abort gracefully where possible but this PR will need extensive testing of all vscode-r functionality after it is finished. On the plus side this will hopefully fix a lot of hard to track down bugs presently and in the future.

We should probably refactor all occurrences of
config().get<T>(section: string): T | undefined
to
config().get<T>(section: string, defaultValue: T): T

It's done! We should definitely test this well before merge, but I will open the PR for review now.

From https://code.visualstudio.com/api/references/vscode-api#WorkspaceConfiguration, it seems config().get() will at least return the default value if the config entry is found. As long as the extension is properly activated, the config entries should be found anyway. If we always specify a default value, then it might be hard to maintain the settings if we want to change the default, since there might be many get() for a certain entry.
Take vscode-python for example, none of the calls to pythonSettings.get() (e.g. https://github.com/microsoft/vscode-python/blob/main/src/client/common/configSettings.ts#L255) specify the default value since they all access to setting entries defined by the extension. One that specifies the default value is https://github.com/microsoft/vscode-python/blob/main/src/client/common/configSettings.ts#L182 where it accesses an external entry.
Do you think if it makes sense to follow the pattern that we don't specify the default value if the entry is defined by the extension?

Take vscode-python for example, none of the calls to pythonSettings.get() (e.g. https://github.com/microsoft/vscode-python/blob/a4de2b8a98b1e3ba56f81cc23bd163e6862c059b/src/client/common/configSettings.ts#L255) specify the default value since they all access to setting entries defined by the extension. One that specifies the default value is https://github.com/microsoft/vscode-python/blob/a4de2b8a98b1e3ba56f81cc23bd163e6862c059b/src/client/common/configSettings.ts#L182 where it accesses an external entry.

Interesting, it seems like they opted to do comparisons to avoid T | undefined.

Do you think if it makes sense to follow the pattern that we don't specify the default value if the entry is defined by the extension so that it should automatically follow the definition in package.json?

I was under the impression adding a default value to the call just adds another fallback after there was no default found on any other level. I.e.: config().get(x) !== undefined ? config().get(x) : defaultValue

It feels quite redundant and burdensome to maintain the default values of each setting not only at where it is defined in package.json but also all places that use the setting.

even in case of typos in the field name

Thought about this case too. And specifying a default when there is a typo seems to hide the problem rather than make it easier to spot.

So what is your opinion on how to proceed?
We could also opt for a helper function that either ignores the undefined or checks and errors:
function config_get<T>(section: string): T {
    return config().get<T>(section) as T;
}

function config_get<T>(section: string): T {
    const x = config().get<T>(section);
    if (x === undefined) {
        throw 'No config entry for ' + section;
        return;
    }
    return x;
}

Only using default values when needed is also fine by me, I am just wondering what the most developer friendy way ist.

Me too. Please feel free to use whatever you think makes good sense or common practice.

Please feel free to use whatever you think makes good sense or common practice.

Yes it's probably the best to leave this for now revisit it if it actually presents itself as a problem.
From my side we are good to go with this PR.

Thanks!


Fade effect doesn't set opacity correctly on the element

Swiper Version: 6.4.9
Platform/Target and Browser Versions: All

What You Did
When adding a simple caption to a Slider with the Fade effect the sliders captions overlap.
https://stackblitz.com/edit/caption-issue?file=index.html

Expected Behavior
Only the active slider should have opacity: 1(?).
Also, the Fade effect should work smoothly without having to set loop: true.
Actual Behavior
Multiple sliders have opacity: 1, meaning that content will overlap.
If loop: true is not set, the fade transition between the last and the first slide is not always smooth.

https://swiperjs.com/swiper-api#fade-effect

crossFade
boolean
false
Enables slides cross fade

https://swiperjs.com/swiper-api#fade-effect

crossFade
boolean
false
Enables slides cross fade

Hey @nolimits4web shouldn't the documentation be updated to be clear that the crossFade option should be set to true?
I have read that part of the documentation before opening this issue, and at no point, I understood that the crossFade was required.
It only mention:

Be sure to have the effect param set to 'fade' in order for this to work.

Thanks!

Hey @nolimits4web shouldn't the documentation be updated to be clear that the crossFade option should be set to true?
I have read that part of the documentation before opening this issue, and at no point, I understood that the crossFade was required.
It only mention:

Be sure to have the effect param set to 'fade' in order for this to work.

Thanks!

@claudiopedrom you are very welcomed to contribute by opening an issue or even better a PR in https://github.com/nolimits4web/swiper-website

@claudiopedrom you are very welcomed to contribute by opening an issue or even better a PR in https://github.com/nolimits4web/swiper-website


Can't Call Base Class's Methods

Describe the bug
I have a simple two class hierarchy, Foo which derives from Bar. In Bar I define a method to_str meant to print Bar. In Foo I try to override to_str so that it first calls Bar::to_str then prints Foo's additional state; instead I get infinite recursion.
To Reproduce
MWE:
cpp_class(Bar)
    cpp_constructor(CTOR Bar str)
    function("${CTOR}" self _ctor_value)
        Bar(SET "${self}" _value "${_ctor_value}")
    endfunction()

    cpp_member(to_str Bar desc)
    function("${to_str}" self _ts_result)
        Bar(GET "${self}" _ts_value "_value")
        set("${_ts_result}" "Value = ${_ts_value}" PARENT_SCOPE)
    endfunction()

    cpp_attr(Bar _value)
cpp_end_class()

cpp_class(Foo Bar)
    cpp_constructor(CTOR Foo str)
    function("${CTOR}" self _ctor_value)
        # Related, is possible to call the base ctor?
        Foo(SET "${self}" _other_value "${_ctor_value}")
    endfunction()

    cpp_member(to_str Foo desc)
    function("${to_str}" self _ts_result)
        Bar(to_str "${self}" _ts_base)
        Foo(GET "${self}" _ts_value "_other_value")
        set(
            "${_ts_result}"
            "${_ts_base}\nOther Value = ${_ts_value}"
            PARENT_SCOPE
        )
    endfunction()

    cpp_attr(Foo _other_value)
cpp_end_class()

Bar(CTOR my_bar "hello")
Bar(to_str "${my_bar}" as_a_string)
message("${as_a_string}") # Prints "Value = hello"

Foo(CTOR my_foo "world")
Foo(to_str "${my_foo}" as_a_string)
message("${as_a_string}") #Crashes here

Expected behavior
I would expect the code to print "Value = \nOther Value = world"
Additional context
N/A

I think we would need to introduce a super() construct for this to work. Currently, to support polymorphism the subclass completely replaces the vtable entry (terminology for other languages, don't remember what we call it) for the to_str method so that you can pass a Foo into something expecting a Bar and still get the overridden functionality.

I think introducing super() to solve this is a great idea!


Errors don't clear

Adding # to the start of a kcl script will give an unknown token error, but removing it again doesn't clear the error.

this appears to work better now


onAction getting called twice

Recreate:
<View>
      <UserInactivity
        isActive={active}
        timeForInactivity={5000}
        timeoutHandler={BackgroundTimer}
        onAction={(isActive) => {
          console.log(isActive);
        }}
        style={{flex: 1, paddingTop: '10%'}}>
        <Text>Foo</Text>
      </UserInactivity>
    </View>

Behavior:
console.log gets called twice every 5 seconds
Another ex:
  let a = 0;
  return (
    <View>
      <UserInactivity
        isActive={active}
        timeForInactivity={5000}
        timeoutHandler={BackgroundTimer}
        onAction={(isActive) => {
          console.log(a);
          a++;
        }}
        style={{flex: 1, paddingTop: '10%'}}>
        <Text>Foo</Text>
      </UserInactivity>
    </View>

Every 5 seconds you'll see a get incremented twice so you'll see console logs:
0,1
2,3
3,4
I'm using this background timer:
import BackgroundTimer from 'react-native-user-inactivity/lib/BackgroundTimer';
Expected behavior:
onAction should only be called once

The problem actually seems to get even worse the more times you click before the active status switches back to active

Like every time you click the screen the number of console logs multiplies in the inactive case.

I determined it seems like cancelTimer is getting called twice
investigating further now

It seems to be this line that triggers the second cancel:
https://github.com/jkomyno/react-native-user-inactivity/blob/master/src/index.tsx#L168
The call to:
setDate(Date.now())
I'll see if I can somehow differentiate between when this get triggered in the case where the user has touched the screen vs. when the inactivity time has elapsed.

Yeah looks like there's some contention between the useEffect that triggers resetTimerDueToActivity dependency on active:
https://github.com/jkomyno/react-native-user-inactivity/blob/master/src/index.tsx#L104
and the useTimeout dependency on date:
https://github.com/jkomyno/react-native-user-inactivity/blob/master/src/index.tsx#L119
that's creating an infinite loop type of situation

It actually looks like there's a leak when the timer resets after the defined period of inactivity

Hi @robbienohra, thank you for opening this issue. How would you propose to solve this issue?

@jkomyno I got stuck honestly after a few hours I'm not sure if it's related to the usetimeout-react-hook maybe not being wired up correctly for the inactivity case vs. the activity case.
There don't appear to be any leaks when the cancellation happens as a function of the user clicking the screen, only when the inactivity window has been reached.

Based on my tests it seems like multiple instances of cancelTimer are being made in the inactivity case.

I added logs to the timeout hook and I noticed basically that the cancellation is getting called correctly in the case that a user keeps clicking the screen, preventing a leak there. But once the timeout is reset because the inactivity window has been reached in that case it doesn't seem like cancelling an existing cancelTimer is working in that case, something like that.

Sorry wasn't able to reach a solution yet honestly I ran out of time. If you have time to look at it would be great if there's an obvious fix, otherwise I should be able to tackle it again in a few days.

Hi I also have problems with the background timer. If I remove the background timer, the inactivity will work in foreground and attract a lot of warnings. But it works.  With background timer, there is no warnings but the application that follows on expiry of inactive timer gets called so many times. That application is logout().  When I subsequently opened the app a long time later, it can't enter the application because it gets logout . In other words, there is no way to cancel the inactivity timer and restart it when the application is reentered. I would be most happy if you have solved the problem and let me know the solution. Thank you.

@layeng to be honest I abandoned the library altogether
it was too frustrating trying to resolve the issue
there's a fundamental issue with the integration between the native BackgroundTimer library and the usetimeout-react-hook that I wasn't able to resolve sorry

@layeng @jkomyno for what it's worth I found an elegant Android-specific solution that resolved the performance issue I was having
  useEffect(() => {
    const intervalId = BackgroundTimer.setInterval(() => {
      wipeNavigationStack();
      userDispatch({ type: 'AUTOLOGOUT' });
    }, parseInt(signoutTime, 10) * 60000);

    return () => {
      BackgroundTimer.clearInterval(intervalId);
    };
  }, [userDispatch, signoutTime, active]);

  function reset() {
    setActive((a) => !a);
    return false;
  }

  const debounced = debounce(reset, 1000);

  const [panResponder] = useState(
    PanResponder.create({
      onMoveShouldSetPanResponderCapture: debounced,
      onPanResponderTerminationRequest: debounced,
      onStartShouldSetPanResponderCapture: debounced,
    })
  );

  return (
    <View style={{ flex: 1 }} {...panResponder.panHandlers}>
      {children}
    </View>
  );
}

basically debounce the reset callback and the gesture events all bubble up into a single event that way
use effect lifecycle handles the reset and bam
works likes a charm
not sure how I'd back this into the library
but I think the debounce approach at the reset callback level is the way to go

Hi Robbie
I don't understand your code. I am not such a great react-native developer.
I am still using the foreground timer. I wish to use background timer but
using BackgroundTimer via timeoutHandler gives me even more bugs in terms
of so many repeated calls. I use the timer inactivity to send a logout api.
Using foreground timer will cause no logout to be sent when the screen goes
into standby. If you know of a better solution, please let me know. Thank
you
On Thu, Oct 29, 2020 at 9:18 AM Robbie Nohra<EMAIL_ADDRESS>wrote:

Closed #36
https://github.com/jkomyno/react-native-user-inactivity/issues/36.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jkomyno/react-native-user-inactivity/issues/36#event-3934017302,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHVJX45EAKIYVK7BRAMABLSNC7EXANCNFSM4OV6GCHA
.


Updated visual logic for capture button

Changes

Solved issue with capture button not being shadowed correctly:
#76
Now its:

Disabled, untouchable and hidden when its the recruiters turn
Disabled, untouchable and shadowed when its the agents turn but they are not currently placed on the board
Enabled, touchable and not shadowed when its the agents turn and they are placed on the board

Also removed an old print

Reviewer

@Joakim-Johansson since he is working on similar stuff with another button:

#62
#46

Looks good, although the button isn't greyed out after performing a task.  Approving still as I believe that all our buttons suffer from this and it's an easy fix by using isActionAvailable.

Good point! Haven't thought about that at all, just improved the stuff that the issue was about, but I completely agree it would be nice to apply shadowing in that scenario as well. Since all buttons are suffering from it as you said, maybe we could add it as a new issue and someone could just update them all at once?


Links in component guide are broken

Running the component guide locally (http://whitehall-frontend.dev.gov.uk/component-guide/), most if not all of the links within it appear to be broken.
For example, the link to the button component from the main page links to this:
http://whitehall-frontend.dev.gov.uk/component-guide/assets/whitehall?action=show&component=button&controller=govuk_publishing_components%2Fcomponent_guide

when it should be this: (which works when typed in manually)
http://whitehall-frontend.dev.gov.uk/component-guide/button

Same for the various links within the page for each component (e.g. preview).
Not sure what's causing this as the code to handle this should come mostly from govuk_publishing_components and it's currently working there and in other applications.

@andysellick if nobody is working on this one, can I work on this one ?


DRAFT: Remove Red Hat branding and added downstream docs

Description
Remove Red Hat branding from documentation and ported over the downstream content.
Fixes: Jira DBAAS-1232
Type of change

[ ] Content edits to the YAML QSG files.
[ ] Ported over the downstream Quick Start Guide and Reference Guide.

Checklist (Definition of Done)

[ ] All acceptance criteria specified in JIRA or in issue number have been completed
[ ] Unit tests added that prove the fix is effective or the feature works
[ ] Documentation added for the feature
[ ] all relevant tests are passing
[ ] Code Review completed
[ ] Verified independently by reviewer

@tchughesiv :  I thought I got all of the "Service Preview" instances, but I did find one more, so thank you for double checking me.  I've also replaced all mentions of MongoDB and replaced them with Amazon RDS.  Please let me know if I've missed anything.

@tchughesiv : Thanks for taking a look!  I've removed the draft status.  I'm curious, can you do a squash on my commits before merging this PR into main?


Allow importing story from a JSON file

Many text-based games are simple enough that they can be represented in an immutable format. Including an import_json function would allow games to be made declaratively.
The main issue here is handling Choice's event triggers. Crystal includes a macro that could compile external code for us, but I'm not sure if that's safe. For now, it can probably be restricted to simple string matching.

Permit XML too while you're at it.


install: optional registry

camel-k installation tries to determine a registry and may fail if it does not find one.
in some environment, camel-k is not supposed to perform any build so we should have an option to make the registry optional

Current plan:

kamel install already contains a --registry switch so if this is set to none then the user can flag no registry
If o.Registry.Address == none then find the building trait in the catalog, copy, disable it then add it to the IntegrationPlatform
Try a kamel run ... (& write tests) to prove that a build cannot be attempted and the empty Registry{} never used

Latest implementation carries through the --registry none and implements 3 changes:

platform.Spec.Registry.Address = Disabled
platform.Spec.BuildPublsihStrategy = Disabled
platform.Spec.BuildStrategy = Disabled

This seemed logical since the registry is required for BuildPublishStrategy and since one of the active types of BuildPublishStrategy are required for BuildStrategy. If this is not correct then can you provide an example please?
If it is correct, can you provide a use-case where the operator is useful without any build capability, please?
thx.
cc @lburgazzoli @astefanutti

Latest implementation carries through the --registry none and implements 3 changes:

platform.Spec.Registry.Address = Disabled
platform.Spec.BuildPublishStrategy = Disabled
platform.Spec.BuildStrategy = Disabled

This seemed logical since the registry is required for BuildPublishStrategy and since one of the active types of BuildPublishStrategy are required for BuildStrategy. If this is not correct then can you provide an example please?

That is correct.

If it is correct, can you provide a use-case where the operator is useful without any build capability, please?

The use case it to run an Integration using a pre-built image. Obviously, this pre-built image has to comply with the Camel K runtime contract (that is not documented ;). As an easy way to write an e2e test for this, I think we could re-use any existing test, and add a subsequent test that would re-deploy the same Integration, by re-using the previously built image, and make sure both the operator installation and the Integration Pod run successfully.

PR -> https://github.com/apache/camel-k/pull/2464

New PR -> https://github.com/apache/camel-k/pull/2497


Update LanguageSettings.ps1

Add function to retrieve package versions from NuGet
Add Helper function for setting Package Version

Hi @chidozieononiwu.  There hasn't been recent engagement on this PR.  Would you please be so kind as to let us know if this is still an active work stream by removing the no-recent-activity label?  Otherwise, we'll close this out in 7 days.

Hi @chidozieononiwu.  There hasn't been recent engagement on this PR.  Would you please be so kind as to let us know if this is still an active work stream by removing the no-recent-activity label?  Otherwise, we'll close this out in 7 days.


chore: use object configuration

1. Added pnpm-workspace.yaml
2. Allow configuration of exposeConfig and viewer as objects for further customisation (such as alias and endpoint respectively)

Play: https://stackblitz.com/github/ineshbose/nuxt-tailwindcss-module/tree/config-options


Drop minified code for browsers in favor of CDNs

Removes the need to compile and check in new code every time a new version is released.

I think this is okay. But note this is a major version / breaking change.

Yeah, agreed.


Bug: Recurring issue with the autograding process in GitHub Actions for GitHub Classroom after today's release

Hello,
Since the recent release of the autograding action, I have been experiencing consistent failures in every submission on GitHub. The GitHub Actions workflow is failing, and the error message is displayed as follows:

Workflow file:

Autograding.json:

Please feel free to provide insights, advice or potential workarounds.

I have the same issue

I'm not sure of the issue (I'm not @ GitHub anymore) but it looks like there are two possible problems. The latest autograding should be using Node 16 but it looks like your action is running 12. Maybe that's okay, but it looks like it is not running (or not successfully running) the npm run build step. It almost looks like this is missing from the units step. https://github.com/education/autograding/blob/master/.github/workflows/ci.yml#L22 cc @octosteve

Thanks for the reply, @jeffrafter.
I would like to highlight that the autograding process was functioning properly yesterday, despite the deprecation of Node.js 12 as shown below.

I am seeing the same issue at the college class I teach: https://github.com/compiladores/
Failed runs:

https://github.com/compiladores/tpo5_1c23-jisbruzzi/actions/runs/5204802152/jobs/9389490404
https://github.com/compiladores/tpo5_1c23-jm-velazquez/actions/runs/5204636196/jobs/9389451373

Same issue here.
Last observed functional time:2023-06-07T09:55:23-07:00
Earliest observed malfunctions time: 2023-06-07T11:36:42-07:00

Thanks for raising this! @jeffrafter thanks for the heads up.

Rolled this back until we can figure out why the build process failed.

Ok! This should be fixed now. Something was failing in the build script silently.

Thanks for quick response @octosteve. It's working now.

Great! Thanks again.

Thanks for response and fixing
Le jeu. 8 juin 2023, 01:46, Steven Nunez @.***> a
écrit :

Ok! This should be fixed now. Something was failing in the build script
silently.
—
Reply to this email directly, view it on GitHub
https://github.com/education/autograding/issues/101#issuecomment-1581661228,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKTHJ4KMGQGFVHCACWZFBXDXKEHEZANCNFSM6AAAAAAY6KOU7A
.
You are receiving this because you commented.Message ID:
@.***>


Quick add last redirected to the blacklist

The new pop up is great but it could be even better if clicking it would open the Skip Redirect compartment and allow to add the URL to the list in one click.

I think it would be better if I could simply copy the URL and then click on the toolbar icon to edit the options manually. But any way, there is currently no support for adding buttons to the notification and listen to clicks :-(

I found a way. I added a context menu entry to the toolbar icon to copy the last skipped URL. Firefox version just waiting for review. Available for Chrome within the hour...

Nice, did not know about this possibility.
I was working on adding it to the popup but did not finish the regex extraction.
https://github.com/sblask/webextension-skip-redirect/compare/master...jtojnar:add-last?expand=1

My solution is similar: https://github.com/sblask/webextension-skip-redirect/commit/b83cc7c84a1de96baedad1e5ff564a65d3672051 I didn't think about persisting the URL, but that might be unnecessary.
Adding stuff to the clipboard is a bit more complicated then expected though. But I still think copying and then editing the blacklist manually is the way to go. Adding stuff to the blacklist automatically will be very hard I think. Where to cut off the URL? If you only remove the target URL, there might still be something not generic left in the querystring or path. Like an ID which would make it fail the next time. If you only use the domain, you might block too much...

I persist the URL just as a way to transfer it from the content script to the popup, it is not necessary when using executeScript. Creating the regex is indeed hard, which is why I open the options to allow user to fine-tune the regex. User probably wants to add it to the list anyway so this will save him two steps.

If you want to want to add it to the options anyway, you could just modify the blacklist preference directly and will be available in the options dialog.
It's not really possible to bring up the options popup though. You can click the button or you can do it through the context menu by providing commands. The latter is not Chrome compatible though...


Made some cmd pages

Made some cmd pages
Logo needs to be edited... just added to check

@ahujatejas06 If the PR name isn't decent will not merge
CC: @abhishekshree


Bug in order.js preventing from assigning external to patterns using pathGroups

Here, if group is external or builtin then the returned rank will be 0:
if ((0, _minimatch2.default)(path, pattern, patternOptions || { nocomment: true })) {
      return ranks[group] + position / maxPosition;
}

...and then, there we would erroneously throw it away, as if 0 was not a valid rank (which isn't true):
if (!rank) {
    rank = ranks.groups[impType];
}

Making the comparison more strict fixes the bug:
if (rank === undefined) {
    rank = ranks.groups[impType];
}

Coverage remained the same at 97.804% when pulling e7a1c7017653d9ee9f289706b4216179afb9d354 on xpl:patch-1 into baf1a8c697d14ffa229e24455e84cc7192287d64 on benmosher:master.

Coverage remained the same at 97.804% when pulling e7a1c7017653d9ee9f289706b4216179afb9d354 on xpl:patch-1 into baf1a8c697d14ffa229e24455e84cc7192287d64 on benmosher:master.

Coverage remained the same at 97.804% when pulling e7a1c7017653d9ee9f289706b4216179afb9d354 on xpl:patch-1 into baf1a8c697d14ffa229e24455e84cc7192287d64 on benmosher:master.

Can you add test cases in https://github.com/benmosher/eslint-plugin-import/blob/master/tests/src/rules/order.js ?

Sure. Will add the case a bit later.

@golopot I've added the case. Also, sorry about some confusion in my initial message — in my case, builtin and external were merged to a single group, having the same rank (0), hence the title.
I should've probably titled the PR "preventing from assigning builtin", but that doesn't really matter as the bug is still there.
So here is the code, it assigns ./make-me-external to external group, and it fails without the fix, and succeeds with the fix:
    test({
      code: `
        import fs from 'fs';
        import external from 'external';
        import externalTooPlease from './make-me-external';

        import sibling from './sibling';`,
      options: [{
        'newlines-between': 'always',
        pathGroupsExcludedImportTypes: [],
        pathGroups: [
          { pattern: './make-me-external', group: 'external' },
        ],
        groups: [['builtin', 'external'], 'internal', 'parent', 'sibling', 'index'],
      }],
    }),

Under the hood, this happens:
{
    ranks: {
        builtin: 0,   // <----- having rank 0
        external: 0,  // <----- having rank 0
        internal: 1,
        parent: 2,
        sibling: 3,
        index: 4,
        unknown: 5
    },
    pathGroups: [{
        pattern: './make-me-external',
        group: 'external',
        position: 0  // because it's 0, the expression evaluates to 0:
                     //     ranks[group] + (position / maxPosition)
    }]
}

Oh my, here is a PR with the same fix (and with a bit more proper title)! :)
https://github.com/benmosher/eslint-plugin-import/pull/1719

Thanks, I'll handle getting both landed.

Because I pushed this to two PRs, two appveyor builds ran. The second failed (https://ci.appveyor.com/project/benmosher/eslint-plugin-import/builds/32116513), but the first succeeded (https://ci.appveyor.com/project/benmosher/eslint-plugin-import/builds/32116512), so I'm going to merge through the failure.


Image Builder 2021-10-01 API (Gen2 Support, Error Schema Fix)

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
Oct 29st.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
Oct 29th.
If updating an existing version, please select the specific langauge SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[x] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[x] SDK of Go
[x] PowerShell
[x] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following apply to the PR so that label “WaitForARMFeedback” will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@zdelacerda-microsoft, we need the first commit to be the unmodified files from the current API version (in the new API version folder). Please create a new PR following this item (and check the box when you submit):
[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits.
This is required for ARM review.

@zdelacerda-microsoft, we need the first commit to be the unmodified files from the current API version (in the new API version folder). Please create a new PR following this item (and check the box when you submit): [ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. This is required for ARM review.

Hi @mentat9, I've already gotten a breaking change approval on this PR. Would you be able to help me transfer that to the next PR?

@zdelacerda-microsoft, we need the first commit to be the unmodified files from the current API version (in the new API version folder). Please create a new PR following this item (and check the box when you submit): [ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. This is required for ARM review.

Hi @mentat9, I've already gotten a breaking change approval on this PR. Would you be able to help me transfer that to the next PR?

Not a problem. Just add a comment explaining and link back to this PR.

Hello @mentat9, @chunyu3
I made a new PR due to your request, can you please update it with the Approved-BreakingChange tag?
https://github.com/Azure/azure-rest-api-specs/pull/16669
Change List:
https://github.com/Azure/azure-rest-api-specs/pull/16669/commits/11c534e7309227e72fa4693f661cc4a06d78f29b
Thanks!

Hello @mentat9, @chunyu3
I made a new PR due to your request, can you please update it with the Approved-BreakingChange tag? #16669
Change List: 11c534e
Thanks!

Not needed, since your new PR isn't labeled with a breaking change (I'm not allowed to add that label anyway). I added a comment with a back pointer to the PR in case anyone has questions about it.


"The Stanley Parable" don't start on Steam

Describe the bug
the game has native linux support, but fails to start
it also don't work on other distros like Arch, Mint or Ubuntu
is that something we can fix in NixOS/our Steam package or does the game developer or steam has to fix it?
terminal output:
Installing breakpad exception handler for appid(steam)/version(1591251555)
[221910]Non-Steam Controller Configs Enabled: 1
Could not connect to X session manager: None of the authentication protocols specified are supported
Could not connect to X session manager: None of the authentication protocols specified are supported
Could not connect to X session manager: None of the authentication protocols specified are supported
Could not connect to X session manager: None of the authentication protocols specified are supported
Could not connect to X session manager: None of the authentication protocols specified are supported
GameAction [AppID 221910, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 221910, ActionID 1] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 221910, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 221910, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 221910, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 221910, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask for AppId 221910: 0
Game update: AppID 221910 "", ProcID 17128, IP <IP_ADDRESS>:0
ERROR: ld.so: object '/home/davidak/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Starting app 221910
>>> Adding process 17128 for game ID 221910
ERROR: ld.so: object '/home/davidak/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 221910, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
>>> Adding process 17129 for game ID 221910
pid 17130 != 17129, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/davidak/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/davidak/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong

To Reproduce
Steps to reproduce the behavior:

open steam
start "The Stanley Parable"

Expected behavior
game works
Additional context
https://www.protondb.com/app/221910
Similar errors: https://github.com/NixOS/nixpkgs/issues/83603
Notify maintainers
@abbradar
Metadata

system: "x86_64-linux"
host os: Linux 5.6.17, NixOS, 20.03.2262.2b417708c28 (Markhor)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.6
channels(root): "home-manager-20.03, nixos-20.03.2262.2b417708c28, nixos-hardware, nixos-unstable-20.09pre230335.9480bae3370"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: steam
# a list of nixos modules affected by the problem
module:

Is the game 64bit? It looks like it's trying to LD_PRELOAD the wrong overlay. There might be some way to force it to use ~/.local/share/ubuntu12_64/gameoverlayrenderer.so instead.

I would recommend running it with LD_DEBUG=libs or strace, it may be failing to dynamically load a library.

Changing the game wrapper / launcher like this:
--- stanley.orig        2020-07-08 00:52:39.788990496 +0100
+++ stanley     2020-07-08 00:52:57.754132002 +0100
@@ -15,7 +15,7 @@
    export DYLD_LIBRARY_PATH="${GAMEROOT}"/bin:$DYLD_LIBRARY_PATH
 elif [ "$UNAME" == "Linux" ]; then
    # prepend our lib path to LD_LIBRARY_PATH
-   export LD_LIBRARY_PATH="${GAMEROOT}"/bin:$LD_LIBRARY_PATH
+   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${GAMEROOT}"/bin
 fi

 if [ -z $GAMEEXE ]; then

fixed it for me when trying out the demo though the game spat out few more errors (related to OpenGL drivers) than what's in your output so not sure if that will work for you and I can't say I'm particularly inclined to debug this any further.

on unstable, I'm able to start this game without modification. Is this still an issue?

I was able to start this 6 months ago

I was able to start this 6 months ago


Add np.unravel_index

This is what I've been using. If it looks reasonable, will see about putting together a PR.
def unravel_index(flat_index, shape):
    """
    To support abstract `flat_index` there is no bounds checking. For
    overflow some dimensions of the resulting index will be out of bounds.
    For negative `flat_index` the resulting index is valid, although the first
    dimension will be negative.
    """

    if len(shape) == 0:
        return ()

    size_of_next_dimension = np.pad(shape[1:], (0, 1), constant_values=1)
    strides = np.cumprod(size_of_next_dimension[::-1], dtype='int32')[::-1]

    _, idx = jax.lax.scan(
        lambda remaining, stride: (
            remaining % stride,
            remaining // stride
        ),
        flat_index,
        strides
    )

    return tuple(idx)

Haven't looked at jax testing yet, would be helpful to know whether / how to incorporate these...
def test_unravel_index():

    assert unravel_index(0, (2, 3)) == (0, 0)
    assert unravel_index(5, (2, 1, 3)) == (1, 0, 2)

    assert unravel_index(0, ()) == ()
    assert unravel_index(3, (2,)) == (3,)
    assert unravel_index(-1, (2, 1, 3)) == (-1, 0, 2)

While it's probably correct as is, I think it would be preferable to avoid the scan, along the following lines:
In [72]: np.unravel_index(692, [4,6,8,9])
Out[72]: (1, 3, 4, 8)

In [73]: index = 692

In [74]: shape = [4, 6, 8, 9]

In [75]: cp = np.cumprod(np.pad(shape, [(0, 1)], constant_values=1)[::-1])[::-1]

In [76]: index % cp[0:-1] // cp[1:]
Out[76]: array([1, 3, 4, 8])

In general vectorizable operations will be faster than scan.
Want to send a PR? Tests would go in lax_numpy_test.py.

Thanks @hawkinsp
Any preference on overflow behavior?

np.unravel_index(3, (2,)) == (3,)
np.unravel_index(3, (2,)) == (2,)
np.unravel_index(3, (2,)) == (1,)

Both (1) and (2) seem consistent with "JAX does not raise an error and instead returns the last value in the array". And (1) is FWIW what I expected to see when I first tried jax.numpy.unravel_index

Hi @mattwescott
Are you still looking into this? I could use this feature as well.

@rdaems thanks for the motivation, will put together a PR shortly


Move fs.AbsolutePath to turbopath.AbsolutePath

This PR does a few things:

Moves fs.AbsolutePath to turbopath.AbsolutePath.
(temporarily) Duplicates some utils and constants from fs into turbopath/absolute_path.go to prevent cycles. These will be removed in a followup commit.
(in a separate commit) \b(fs\.)?AbsolutePath\b => turbopath.AbsolutePath. (excluding the turbopath folder)

The goal here is to make what are sweeping changes to the codebase still feel as incremental as possible. The next increment is turbopath.AbsolutePath to turbopath.AbsoluteSystemPath by combining the files and fixing the expectations of method calls throughout the codebase.

These changes look good, but what's the difference between turbopath.AbsolutePath to turbopath.AbsoluteSystemPath

There isn't one. That's next step.


Task 274: overruling

Based on: https://reglab.stanford.edu/data/the-overruling-dataset-a-benchmark-for-detecting-legal-decisions-that-have-been-overruled/

Thanks!

Thanks, I added another negative example.


how can I rebuild the cert-manager image

May I ask a question? how can I rebuild the cert-manager image？

run  " make ko-images-push KO_REGISTRY=reg.xx.com"
Error: cannot match with !!null, can only match strings. Hint: Most often you'll want to use '|=' over '=' for this operation
make: *** [_bin/scratch/ko/controller.yaml] Error 1
make: *** Deleting file `_bin/scratch/ko/controller.yaml'

you need to have go workspace set up if you want to use the ko make targets
see https://github.com/cert-manager/cert-manager/blob/master/make/ko.mk#L16-L18

ok


[CT-2149] [Feature] Add the possibility to map a single dbt entity to multiple databases

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
Currently it is impossible to map a single dbt entity to multiple databases. Add the possibility to enable a single dbt entity on multiple databases.
Consider a setup where a table can exist in several databases. The tables, spread over the multiple databases, are exactly the same except for the data inside the table.
There is no way to have a single model/source enabled in multiple databases, during a single run. It is however possible to run dbt run multiple times (for each database), but for dbt docs generate it is impossible to get the the expected output since multiple versions of catalog files are generated and only one version can be served.
Describe alternatives you've considered

Executing dbt run multiple times; not a solution for dbt docs generate.
Specifying a resource multiple times; impossible because dbt expects the name of a resource to be unique. Also for resources it is impossible because the database is specified on the sources level:

sources:
  - name: foo
    database: bar
    tables:

Dynamically setting the database in configuration files of dbt entities; does not offer to enable multiple databases during a single run.

Who will this benefit?
Anyone who wants to have a single dbt entity mapped to multiple databases in a single dbt project.
Are you interested in contributing this feature?
I would be interested.
Anything else?
We have a setup where we are deploying a dbt project to multiple databases, as we want these structures to exist there, which are then sourced with different data. This allows us to have segmented databases for different deployments, which is how our business is structured. However, we would like to have a unique catalog to represent the multiple databases, which would mean a single dbt entity mapped to multiple database relationships, one per database.

Thanks for reaching out @jochemvandooren !
Historically, dbt has held the philosophy of "one model, one output (table)", and we're inclined to stick with it.
Reading about your use-case, it seems like one key thing you're after is being able to see all the different databases in a single catalog.
Let's pretend we could wave a magic wand and be able to merge the output of two different executions of dbt docs generate 🪄 ✨
Would that solve your problem? Or would there be other key design criteria that would still be unaddressed in that scenario?

Hi @dbeatty10, thanks for your quick response!
You are absolutely right that the problem is not being able to see all different databases in a single catalog. This magic wand:magic_wand: sounds great and indeed would fix the issue!
This is also something I already looked into myself, but turned out to be not too straightforward at this point in time. With the current structure of manifest.json and catalog.json merging several outputs is a challenge, because a single dbt entity that exists in several databases has the same unique identifier and key in different outputs.
But being able to merge the output of different executions of dbt docs generate would definitely solve it for me!

Hey @dbeatty10, good to see you across multiple repos ;)
I'm working with @jochemvandooren on the same project, and to add to his perspective:

It would be awesome to be able to merge those JSON files indeed! Would that preserve all relationships, e.g. between models and associated tests?
Would that work with "exceptions", i.e. models that are mapped to a single database?
How would the Project and Database tabs look like? I can think of something like

Project
\-- Sources
    \-- source_1 [db1, db2]
    \-- source_2 [db1]
    \-- source_3 [db2]
\-- Models
    \-- model_1 [db1, db2]

Database
\-- db1
    \-- model_1
    \-- source_1
    \-- source_2
\-- db2
    \-- model_1
    \-- source_1
    \-- source_3

Would that make sense?
Thank you!

@matthieucan good to see you again too!
Yep, we would want to preserve all relationships (like models and associated tests, etc). I think we'd also want it to act similar to a full outer join in SQL (rather than an inner join) and for it to include models that are only within a single database.
I don't know what the Project and Database tabs would end up looking like (or how exactly we'd want them to look). But what you laid out looks reasonable.
In terms of trying out a JSON merge, I'm wondering if jq might come in handy here?
Would you be willing to experiment with one or both of the following and see what they do?

jq -s . file1 file2
jq -s '.[0] * .[1]' file1 file2

(Of course you'll want to use the most simple project possible for any experiments.)

I think there's overlap here with the inheritance conversation. https://github.com/dbt-labs/dbt-core/discussions/6527
There may be, at least, cross-dialect use cases here the request to add column level identifier support https://github.com/dbt-labs/dbt-core/issues/6929#issuecomment-1626017491

Circling back to this...
The crux
As you know, the way dbt docs works is very model-centric:

given the models within a dbt project, show the associated database table & columns for each model

In contrast, this issue is proposing a web experience that is database-centric:

given the tables within a database, show the related dbt models.

Cardinality
When restricted to a single dbt run, there is a one-to-one relationship between dbt models and database tables, so it really doesn't matter if the web experience is based on one paradigm or the other.
But this issue describes multiple independent executions of dbt run that create one-to-many relationship between dbt models and database tables.
In the current paradigm for dbt docs, this would lead to multiple documentation websites.
In order to generate a single website, we'd need to invert the paradigm completely and turn everything inside-out. The catalog.json artifact might be able to handle this inversion similarly to how @jochemvandooren  described here. But the dbt-docs website changes would be much more complicated.
Summary
We don't have appetite for those changes to the docs website at this time, so I'm going to close this issue as wont_fix.
But an alternative dbt-docs experience (like https://github.com/PicnicSupermarket/dbt-docs) could totally take multiple catalog.json files and offer a database-centric web experience.

Thanks @dbeatty10 for your explanation! I understand that making this work would require a big overhaul, which is probably not worth it.


feat: support conditions in tuples sent through Write API

Description
Support conditions in tuples sent through Write API
TODO:

[x] write validation tests and code
[x] persist condition and condition_context in changelog and tuple tables

References
Depends on https://github.com/openfga/api/pull/95 and https://github.com/openfga/openfga/pull/962

I'm wondering if we should normalize context: null and context: {}. WDYT? For example,
Write({
    "writes": {
        "tuple_keys": [
            {
                "object": "document:1",
                "relation": "viewer",
                "user": "user:jon",
                "condition": {
                    "name":"condition1"
                }
            },
            {
                "object": "document:2",
                "relation": "viewer",
                "user": "user:jon",
                "condition": {
                    "name": "condition1",
                    "context": {}
                }
            }
         ]
     }
})

Read(objectType="document") currently returns
{
    "tuples": [
        {
            "key": {
                "user": "user:jon",
                "relation": "viewer",
                "object": "document:2",
                "condition": {
                    "name": "condition1",
                    "context": {}
                }
            },
            "timestamp": "2023-10-24T20:01:55.752449Z"
        },
        {
            "key": {
                "user": "user:jon",
                "relation": "viewer",
                "object": "document:1",
                "condition": {
                    "name": "condition1",
                    "context": null
                }
            },
            "timestamp": "2023-10-24T20:02:14.285924Z"
        }
    ],
    "continuation_token": ""
}

but I wonder if we should normalize null and return
{
    "tuples": [
        {
            "key": {
                "user": "user:jon",
                "relation": "viewer",
                "object": "document:2",
                "condition": {
                    "name": "condition1",
                    "context": {}
                }
            },
            "timestamp": "2023-10-24T20:01:55.752449Z"
        },
        {
            "key": {
                "user": "user:jon",
                "relation": "viewer",
                "object": "document:1",
                "condition": {
                    "name": "condition1",
                    "context": {}
                }
            },
            "timestamp": "2023-10-24T20:02:14.285924Z"
        }
    ],
    "continuation_token": ""
}

So null context and empty context {} are treated identically. If you're evaluating a condition and the context is null, then you have to treat it as an empty context anyways, so I feel the normalization is warranted.

I'm wondering if we should normalize context: null and context: {}. WDYT? For example,
Write({
    "writes": {
        "tuple_keys": [
            {
                "object": "document:1",
                "relation": "viewer",
                "user": "user:jon",
                "condition": {
                    "name":"condition1"
                }
            },
            {
                "object": "document:2",
                "relation": "viewer",
                "user": "user:jon",
                "condition": {
                    "name": "condition1",
                    "context": {}
                }
            }
         ]
     }
})

Read(objectType="document") currently returns
{
    "tuples": [
        {
            "key": {
                "user": "user:jon",
                "relation": "viewer",
                "object": "document:2",
                "condition": {
                    "name": "condition1",
                    "context": {}
                }
            },
            "timestamp": "2023-10-24T20:01:55.752449Z"
        },
        {
            "key": {
                "user": "user:jon",
                "relation": "viewer",
                "object": "document:1",
                "condition": {
                    "name": "condition1",
                    "context": null
                }
            },
            "timestamp": "2023-10-24T20:02:14.285924Z"
        }
    ],
    "continuation_token": ""
}

but I wonder if we should normalize null and return
{
    "tuples": [
        {
            "key": {
                "user": "user:jon",
                "relation": "viewer",
                "object": "document:2",
                "condition": {
                    "name": "condition1",
                    "context": {}
                }
            },
            "timestamp": "2023-10-24T20:01:55.752449Z"
        },
        {
            "key": {
                "user": "user:jon",
                "relation": "viewer",
                "object": "document:1",
                "condition": {
                    "name": "condition1",
                    "context": {}
                }
            },
            "timestamp": "2023-10-24T20:02:14.285924Z"
        }
    ],
    "continuation_token": ""
}

So null context and empty context {} are treated identically. If you're evaluating a condition and the context is null, then you have to treat it as an empty context anyways, so I feel the normalization is warranted.

@jon-whit Yep I think that's fair. Should our storage layer normalize {} to NULL though?

...
Yep I think that's fair. Should our storage layer normalize {} to NULL though?

@jpadilla NULL is more efficient to store than {}, so if we care more about efficiency then I would say yes. If we care more about simplicity then I would say that we just write the context through directly as provided (if provided and it is empty). If context is omitted (e.g. nil) then we can choose to write NULL to save on efficiency. I feel comfortable with either one, but it may be safer to avoid working will NULL types on the off chance that we mishandle them. Working with empty context is safer than a potentially nillable value.


Added improvements to Bosnian language translation

I did around 70 translations/fixes inside the Android component for the Bosnian language

Thanks! Weblate should send new translations my way soon-ish, I'll confirm and merge then :)

Can confirm it got included in https://github.com/CatimaLoyalty/Android/pull/1068, thank you :)


Features: dropping modals

Adds categories to the infamous AddModalView. So understanding what every option does is easier to understand.
Also addresses the issue that often, the AddModalView is expected to be larger than available screen size, so cap it's maximum height to 65vh. To be reviewed with @ffraenz

I just realized I need to rebase my PR branch onto upstream/dev

The design of the add modal is not finalized, yet. I envision it to be similar to an app/extension store as the library will be opend up for third-party developers eventually. The status quo is just a draft providing access to the core functionality.
I'd like to prepare the design in Figma first, before implementing it. I'm sorry for the work you've put in. Let's discuss design-related issues first, before heading to implementation to make sure your work will make it into the product.


Improvement: allow mocking of plugin method channel

This pull request is an improvement to the existing plugin code. By using the @visibleForTesting annotation, the developers can on tests call the onPlatformViewCreated method and thus the method channel is created with an id provided on the test, and the onPlatformViewCreated method is only visible in the qrcode_flutter.dart file and in test files. This way the plugin calls (resume, pause, capture) can be mocked using the setMockMethodCall Flutter API call.

Thank you for your improvement.


API / Python SDK  for ASR Azure-Azure available ?

any Idea when Will be the API or a Python SDK  for ASR Azure-Azure is will be available . As per https://docs.microsoft.com/en-us/azure/site-recovery/azure-to-azure-support-matrix#user-interface-options , i see it only supports Powershell.

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

ID: 34d0f2df-de85-c6ab-eb01-f8e028b7f108
Version Independent ID: 5acb187c-f280-5c7d-14fc-7f07160cd50b
Content: Azure Site Recovery support matrix for replicating from Azure to Azure
Content Source: articles/site-recovery/azure-to-azure-support-matrix.md
Service: site-recovery
GitHub Login: @sujayt
Microsoft Alias: sujayt

@raviteja59 Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

We don't have a firm date on that right now. Thanks!
#please-close

@raviteja59 We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


1-1-2-HelloD3D11: Explain Input Elements better

Jkr suggests that the elements should be explained in more detail

I'll hop on doing this issue next

turns out issue is the wrong name- so prior work is irrelevant and this issue will be renamed

#126 (tagging)

fixed with !126