UI Redesign

What problem will this feature address?
I personally prefer removing the navbar in a docs site, because its navigation functionalities can be replaced with a sidebar, and I love minimal design.
Also, the default UI doesn't work with multiple page trees well, you'll have to write your own switch to navigate between page trees (similar to the main site). It would be nice if it is implemented by default.
Describe the solution you'd like
Make navbar only shown on mobile devices.
Describe alternatives you've considered
N/A
Additional context
No response

現在的ui感覺已經很好了，很漂亮的ui。
提幾個建議：

統一下頁面和文檔模式下navbar的ui。
原ui

建議修改為

和文檔一樣的ui，看起來更舒服。
mdx頁面轉移到content目錄下
目前的頁面只能在app\(home)\xx\page.mdx，對於強迫症患者，更喜歡把page.mdx轉移到content目錄下，例如content\page\xx\page.mdx或content\page\xx.mdx，統一存放頁面。
默認把layout.config.tsx獨立出來
當設置文檔和頁面時，還是需要對layout都設置一次config，把layout.config.tsx獨立出來，默認加入到examples，對新手更友好，不用參考官方文檔。
fumadocs相比nextra，其實門檻更高，當然這可以當做fumadocs的一種特色。但我相信簡潔易用會走的更遠。

請原諒我不是個程序員，也不是很懂代碼，但很喜歡研究，無法提供代碼，只提些意見把，希望fumadocs越來越好。

the suggestion 2 is not possible because of the limitations of Next.js App Router. What a Webpack plugin can do is pretty limited.
And we are not planning to get another domain (yes I'm lazy), the current site might not be accessible from China mainland.
It would be better if you can use English here, so that the other subscribers on this thread can read it without a translator.

Current plannings:

Implement RootToggle, so that you can have a built-in way to let users switch between page trees.
Remove navbar except for non-docs layout, this will be a breaking change and feedback might be very polarized.

We are releasing v12, more changes will be made as we receive more feedback.

Consider adding icons in the same style for other subsections. Currently only UI has its own icons.

For icons sources we could look up here
https://github.com/iconify/iconify
Speaking of MDX section, I like those icons:

Getting Started - maybe the same icon from UI section
Image Optimization - https://icon-sets.iconify.design/carbon/image/
Last Modified Time - https://icon-sets.iconify.design/carbon/time/
Generate Search Indexes - This one is kinda hard to choose. Maybe this one - https://icon-sets.iconify.design/carbon/search-advanced/

Speaking of Core section, I like those icons:

Quick Start - maybe the same icon from UI section? Also maybe the naming of this specific section should be consistent across the website? For now we have: 2x Quick Starts and Getting Started
Page Conventions - https://icon-sets.iconify.design/carbon/document/
Page Tree - I dont kinda like this one, but others seem to make no sense. https://icon-sets.iconify.design/carbon/tree-view/
Internationalization - https://icon-sets.iconify.design/carbon/flight-international/

I think it's better to be transferred to the docs rewrite issue.

What problem will this feature address?
I personally prefer removing the navbar in a docs site, because its navigation functionalities can be replaced with a sidebar, and I love minimal design.
Also, the default UI doesn't work with multiple page trees well, you'll have to write your own switch to navigate between page trees (similar to the main site). It would be nice if it is implemented by default.
Describe the solution you'd like
Make navbar only shown on mobile devices.
Describe alternatives you've considered
N/A
Additional context
No response

I tried version 12, but I feel that modifying the UI this time is not a good idea. The UI doesn't look very coordinated. For me, the original Navbar was more convenient to use.~

This navbar removal is the priority of this update and I won't reverse the change unless I found a serious problem or reason.
It separated the docs layout from other pages and reduced elements that aren't related to docs, which might feel weird if you were accustomed to the previous design.
But to me, playing with Yeecord and the official docs site, it feels better on large MDX pages.
Of course, this is pretty subjective and I'll see if there's anything else I can improve.

I'm closing the issue. If you have any suggestions about the UI, don't hesitate, open a new post in Discussion and share your thoughts with me!


Locale fix for ie

Summary
This  PR introduces changes to getBrowserLocale method to accommodate the way IE navigator works with browser language.
Why the change is needed
It has been reported that if the browser language is set to a different language, it translates correctly in all browsers but IE. The issue was pointed out to be coming from current implementation of the browser language being obtained from the navigator languages properties, which for IE differs from the rest of the browsers. Following tests indicated in favor of that:
I changed the language in IE browser from English to German and console logged the navigator language properties. I observed following:
navigator.languages: undefined
navigator.language: undefined
navigator.userLanguage: "en-US"
navigator.browserLanguage: "en-US"
navigator.systemLanguage: "de-DE"

It means that for IE the only navigator property that reflects the current browser language is navigator.systemLanguage.
The current implementation of getBrowserLocale method does not use navigator.systemLanguage property, hence error in IE. It does work good for the rest of the browsers though, as they take the language from navigator languages array. I tested it by changing the language from English to German in Chrome, Firefox, Safari and Edge and received following console output:
navigator.languages: Array(1)['de']
navigator.language: 'de'
navigator.userLanguage: undefined
navigator.browserLanguage: undefined
navigator.systemLanguage: undefined

Testing
This change was tested using:

[ ] WDIO
[ ] Jest
[ ] Visual testing (please attach a screenshot or recording)
[x] Other (please describe below)
[ ] No tests are needed

Following testing have been done for Chrome, Firefox, Safari and Edge:

The language of these browsers have been changed to supported locale (German language), the console.log for getBrowserLocale method returning result was correctly set to 'de' or 'de-DE' (German):

The language has been changed to not supported locale (Ukrainian language), the console.log for getBrowserLocale method returning result was correctly set to fall-back locale 'en' (English).

The browser language was set to English, the console.log for getBrowserLocale method returning result was correctly set to 'en' (English).

Screenshots of navigator language props in IE, Edge, Chrome and Safari
A screenshot of navigator props in IE:

A screenshot of multiple languages with German being primary language logged for Edge:

A screenshot of German as an only language logged for Chrome:

A screenshot of Ukrainian as an only language in Safari:

Additional Details
This PR resolves:
UXPLATFORM-7942

Is this PR up to date with main?

Is this PR up to date with main?

@sdadn I just checked. the answer is yes.

Is this PR up to date with main?

I just updated it from main and added a snapshot update per change it terra-button


is this library maintained?

Hi, i want to use this library but there are some issues and it seems its stale.

It is however my time is limited to add support for arbitrary directives. So for the moment I've been adding them as people have been requesting them

It is however my time is limited to add support for arbitrary directives. So for the moment I've been adding them as people have been requesting them

I see there is another open issue that would resolve this. And it's been stale for a while.
Would you accept PRs?

I would definitely accept PRs

I recommend closing this issue.


Dataset

Hello,
How I can obtain the dataset?
Filling the form from the URL: https://forms.iit.it/view.php?id=181781
is not working "link expired" error.
Rgds,
FM

I have met the same problem.

Same problem. Did you find any solution?

Same problem. Did you find any solution?


spring.datasource.druid.filters can't be autowired!

problem: it seems that the spring.datasource.filters property can't be autowired.
it's very strange that the filters is autowired by this way:
com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceWrapper#addStatFilter ...
Why didn't we get it directly?
It's seems that the way to config the sql monitor has been changed.
Where can I find the wiki of this part?
ps:
affected version:
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.9</version>
        </dependency>

spring.datasource.druid.filters=stat,wall,log4j ...  is default filter，if config custom filter you can use spring.datasource.druid.filter.*, detail see doc : https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter#如何配置-filter

com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceWrapper#addStatFilter word for spring.datasource.druid.filter.* property.

see #2507


[stable/rabbitmq-ha] Change ingress group to support k8s 1.14 and up

Ingress group in k8s 1.13 and down is extensions, from k8s 1.14 and up
ingress is in the group networking.k8s.io.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

@steven-sheehy

Updating to ´networking.k8s.io/v1beta1´ when running k8s 1.14 or newer is unproblematic, we have done this with our internal charts. For older k8s version I have been looking and this api group was introduced in 1.14 so this will break in k8s 1.13 and older.
The motivation for this was that we had problems with the ´--wait´ flag in helm 1.15.0 and changing to networking.k8s.io fixed it for our internal charts. I just realised that this has been fixed in helm 1.16.0, so this is the wrong fix. helm/helm#6751
The api group extensions will have the ingress kind until k8s 1.20. So this change should wait.
deprications in 1.16


Gemini AI UI | Issue #149

I have added the Gemini AI Chatbot Page to the website, which facilitates the user to ask anything from the GEMINI AI.
https://github.com/user-attachments/assets/b3cd1d8c-995f-48fa-a8a5-95f77d86f792
Completed #149

@rishicds please add labels

@rishicds please add labels to this pr


Front Door editor scroll issue

When adding a lot of custom domains, the designer view doesn't scroll the content of the panel, but the whole view. Content overflows the parent container as visible in the image.

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

ID: 0b19a24a-e9e6-0296-69b2-d1fead57c16c
Version Independent ID: 9d0164f0-1b82-439d-c32d-c93a4c56f314
Content: Tutorial - Add custom domain to your Azure Front Door configuration
Content Source: articles/frontdoor/front-door-custom-domain.md
Service: frontdoor
GitHub Login: @duongau
Microsoft Alias: duau

Hello @nixa333, thanks for the question! We are taking a look into this and will get back to you soon.

#reassign: jessie-jyy

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. The requested updates have not been made since the creation of this issue, and the timeline for resolution may vary based on resourcing, so we've created an internal work item to incorporate your suggestions. We are closing this issue for now, but feel free to comment here as necessary. #please-close


Add Missing Build Dependencies for F35 and F36

Hello, found a couple of changes when I was upgrading my kernel.

Adds glibc-static and which as dependencies for f35 and f36 builds.
Allows dnf builddep to automatically install new deps when needed

Doesn't seem like the build fails on these unlike f34, but we should probably install them just in case.
You can see them here
I'm currently running a build on my fork, but considering these things take like 4 hours I figured I would get the PR up first.
https://github.com/evanjarrett/fedora-acs-override/runs/6646117058

Hi Evan,
can you please elaborate on why the install of these packages as a dependency is a problem?
Afaik Natalie added them to FC34 as they are needed for the 5.17 series in general.
Best regards, Stefan

Currently, any dependency that is attempted to be installed automatically via dnf builddep are not being installed because the -y flag is missing. It's a bit hard to see from the logs, but the Operation aborted happens when the install is cancelled.
https://github.com/some-natalie/fedora-acs-override/runs/6558997855?check_suite_focus=true#step:4:2587
Dependencies resolved.
Operation aborted.
================================================================================
 Package                Architecture Version                Repository     Size
================================================================================
Installing:
 glibc-static           x86_64       2.35-9.fc36            updates       1.9 M
 which                  x86_64       2.21-32.fc36           fedora         42 k
Installing dependencies:
 libxcrypt-static       x86_64       4.4.28-1.fc36          fedora        109 k

Transaction Summary
================================================================================
Install  3 Packages

As for the reason F35 and F36 do not fail, it seems to come down to what environment you are building the kernels on.
<EMAIL_ADDRESS>https://gitlab.com/cki-project/kernel-ark/-/commit/23094b9bd0af10fcdc00723f4cd6224eed8f63c4
I personally like to see any install requirements moved to the docker image so that I don't have to spend run-time installing things.
However, I can remove those explicitly required installs, and just add the -y flag to the builddeps command.

Oh, thank you very much for the explanation. In fact, I didn't notice that in the log until after your explanation. Regarding the question if people prefer to have all dependencies in the Docker image or prefer a small image I am indifferent. It all depends on the circumstances.
Many greetings, Stefan


Add @tauri-apps/cli to devDependencies

Starting from scratch (options listed below):
$ npm create tauri-app
# ? What is your app name? SheetJSTauri
# ? What should the window title be? SheetJS + Tauri
# ? What UI recipe would you like to add? create-vite
# ? Add "@tauri-apps/api" npm package? Yes
# ? Which vite template would you like to use? vue-ts
# ...
$ cd SheetJSTauri
$ npm run tauri

This prints some output.
Now try installing a module:
$ npm i --save https://cdn.sheetjs.com/xlsx-latest/xlsx-latest.tgz
$ npm run tauri

><EMAIL_ADDRESS>tauri
> tauri

sh: tauri: command not found

This happens because npm thinks the CLI tool is extraneous and wipes it when you try to install a dependency, even if you choose to add @tauri-apps/api.  If you start from scratch and run npm ls, you can clearly see the state:
$ npm ls
<EMAIL_ADDRESS>/private/tmp/SheetJSTauri
├──<EMAIL_ADDRESS>extraneous
├──<EMAIL_ADDRESS>extraneous

The fix is for the scaffold to add @tauri-apps/cli in devDependencies

@tauri-apps/cli is added to the devDependencies here https://github.com/tauri-apps/create-tauri-app/blob/e17dc70c319b0558f8be98e738f30ad76a5d2152/src/index.ts#L319-L322
I don't know why this happened to you but you could try the new templates from #90


DOMExceptions with Dropzones

Describe the bug
I am encountering errors when dragging and dropping nested list. The issue only arises when showDropzoneAreas is enabled.
My element looks something like

      <item :model="criteria" v-drag-and-drop:options="draggableOptions"></item>

Where <item> is essentially a
 with lots of other child elements inside... including a single
 which would contain more of .

        <item>

Expected behavior
I expect there would not be an error when performing dropping action.
Screenshots

Desktop (please complete the following information):

OS: Mac OS 10.13
Browser Chrome 76

Additional context
Add any other context about the problem here.

Hi @EndenDragon ,
Thanks for the feedback.
I'll try to reproduce this.
In the meantime move v-drag-and-drop:options="draggableOptions" directive to the child component Item.
Thanks

Hi @nikolasp ,
Thanks for the response. I moved it into the item and the error still persists. The only difference is that it doesn't handle reordering anymore. I am able to drag and the dropzones can be shown. However when dropped, nothing happens and the order of elements stays the same. I am using the same options as previous.
draggableOptions: {
                    dropzoneSelector: 'ul',
                    draggableSelector: 'li',
                    multipleDropzonesItemsDraggingEnabled: true,
                    reactivityEnabled: false,
                    onDrop: function (e) {
                    },
                }


Getting "Cannot read property 'displayName' of undefined" while testing components.

Describe the bug
Getting this error Cannot read property 'displayName' of undefined while trying to run test on my component with react-native-testing-library. Please check the image below.

Not sure if this is related to this somehow, https://stackoverflow.com/a/69587148. Thanks!

I just updated to the latest nativewind and I am getting a new error while trying to run the tests. It says TypeError: _nativewind.NativeWindStyleSheet.parse is not a function
Interestingly I also got the same error on simulator but after resetting the cache by react-native-start --reset-cache, I do not get that error running the app. However, still getting the error running the tests. I have tried to clean yarn cache as well.

NativeWindStyleSheet.parse was removed before 2.0.0. It appears you are still loading a cached file.
Cannot read property 'displayName' of undefined I can replicate this error, but only when I pass an undefined value into styled() or use className on an invalid element eg <View2 className="" />. I'm going to improve the error message, but that won't resolve your issue.
Are you able to share your repo with this issue? Sharing the error message without the cause is basically asking me to fix an issue blindly.

Thank you for your quick response as always, as this is company's repo, I can not share the repo. But I am trying to create a repo with this issue.

So after restarting my Mac, this error is not coming up anymore NativeWindStyleSheet.parse but still getting the displayName of undefined error. Trying to create a brand new project and reproducing the issue. Thanks!

Alright, while reproducing the issue I fixed the problem!  I was importing <TouchableOpacity /> from gesture module instead of react-native. Hence I was getting the displayName of undefined error. At the end it was the auto-import extension that caused me a day 😭 Sorry for giving you the unnecessary trouble. 🙏🏻


Importing database results in HTTP error 413

Issue Summary
I am trying to migrate from SQLite to MySQL. I export data from the existing blog and then try to import it into a new copy of the blog which is connected to an empty MySQL database. The exported JSON file is 2.43 MB. When I click on Import I get an "Import Failed" error message and the request to /ghost/api/v0.1/db/ fails with code 413.
Steps to Reproduce

Export from a blog with sufficiently large SQLite db
Import in a blog connected to an empty MySQL db

The data limit may have been intentional, therefore I'm not sure this is a bug. However, it would be nice to be able to configure this upload limit, so that migration can be done easily via the web UI.
Technical details:

Ghost Version: 0.11.2
Node Version: 4
Database: MySQL

Apologies, I had a closer look at the code and found this blogApp.use(bodyParser.json({limit: '1mb'})); in server/middleware/index.js. What's your take on making this configurable?

Turned out to be an nginx issue not a Ghost issue.

@vshulev Thanks for coming back and letting us know!


Mapping camera rotations from blender to habitat

❓ Questions and Help
Hi,
I'm trying to map some camera rotations from blender to habitat on replica dataset. I know the Blender coordinate system is Z up, Y forward, and Habitat is  Y up, -Z forward, but I can't figure out how to correctly map the camera euler angles from blender to habitat. I really appreciate it if you can help me with this. Thanks a lot.

Hey @Ainaz99. Assuming your Blender asset is oriented Z up and Y forward with the scene, you can simply apply the Blender->Habitat rotation to the camera position and orientation.
My Blender camera state (note I am choosing quaternion representation for rotation, you can toggle this):

Example C++ code (e.g. Habitat Viewer application) to set the agent transform from this Blender camera state (in this example the agent has no height, and is coincident with the camera):
  Mn::Vector3 blenderPos(0.408654, 0.307441, 2.63599);
  Mn::Quaternion blenderRotation({0.223108,-0.528059,-0.818912},0.027591);
  blenderRotation = blenderRotation.normalized();
  //coordinate frame transform from Blender -> Habitat
  Mn::Quaternion blendToHabitat = Mn::Quaternion::rotation(Mn::Rad(-1.56),{1,0,0});
  Mn::Matrix4 R(blendToHabitat.toMatrix());
  auto habitatPos = R.transformPoint(blenderPos);
  auto habitatRotation = blendToHabitat*blenderRotation;
 //set the transform to the agent
  agentBodyNode_->setTranslation(habitatPos);
  agentBodyNode_->setRotation(habitatRotation);

If you want to do the same for a camera attached with some offset to the agent (the default setup), you can create an empty frame in Blender to parent your camera with some offset.

Thanks a lot! It worked!


Missing Dependancy

Expected Behavior
Application to load
Actual Behavior
Application hangs
Reproduction Steps

Install deb package (0.1.3, 0.2.2, 0.2.3-a)
After installation tried to start application no error or warning.
Tried to start using the cli
Received this error message:
A JavaScript error occurred in the main process Uncaught Exception: Error: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by /tmp/.org.chromium.Chromium.BX2WUO)
at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1869)
at Module._extensions..node (node:internal/modules/cjs/loader:1354:18)
at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2096)
at Module.load (node:internal/modules/cjs/loader:1124:32)
at Module._load (node:internal/modules/cjs/loader:965:12)
at f._load (node:electron/js2c/asar_bundle:2:13377)
at Module.require (node:internal/modules/cjs/loader:1148:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object. (/opt/Insomnium/resources/app.asar/node_modules/@getinsomnia/node-libcurl/dist/Easy.js:5:18)
at Module._compile (node:internal/modules/cjs/loader:1269:14)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

`
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
The application doesn't close or crash it just sits in memory so it appears to be waiting for some input.
Insomnium Version
0.1.3, 0.2.2, 0.2.3-a
What operating system are you using?
Other Linux
Operating System Version
Debian 11
Installation method
dpkg
Last Known Working Insomnium version
n/a

got this error on Ubuntu 20.04 as well. Looks like the version that runs on Ubuntu 20 is glibc 2.31 and not 2.32. As this is a core lib, it's really best not to mess with it on the system level. Might be a way to specify a custom-compiled version to chromium though...

@utdream @razzam21:
The Bad News:
This is actually an upstream issue, and affects insomnia >= 2023.4.0, so before the merge.  I decided to take a look today, to finally transition across as I'm still running Ubuntu 20.04LTS, and this looks to be related to the @get-insomnia/node-libcurl package bumping their glibc dependency past that which is installed by default in a recent release, as per the stack trace below:

Stack Trace
[app] App threw an error during load
[app] Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by<EMAIL_ADDRESS>[app]     at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1869)
[app]     at Module._extensions..node (node:internal/modules/cjs/loader:1354:18)
[app]     at Object.func [as .node] (node:electron/js2c/asar_bundle:2:1869)
[app]     at Module.load (node:internal/modules/cjs/loader:1124:32)
[app]     at Module._load (node:internal/modules/cjs/loader:965:12)
[app]     at f._load (node:electron/js2c/asar_bundle:2:13377)
[app]     at Module.require (node:internal/modules/cjs/loader:1148:19)
[app]     at require (node:internal/modules/cjs/helpers:110:18)
[app]     at Object.<anonymous> (/home/scottco/Documents.local/git-repos/insomnium/node_modules/@getinsomnia/node-libcurl/dist/Easy.js:5:18)
[app]     at Module._compile (node:internal/modules/cjs/loader:1269:14)
[app] A JavaScript error occurred in the main process
[app] Uncaught Exception:
[app] Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by<EMAIL_ADDRESS>[app]     at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1869)
[app]     at Module._extensions..node (node:internal/modules/cjs/loader:1354:18)
[app]     at Object.func [as .node] (node:electron/js2c/asar_bundle:2:1869)
[app]     at Module.load (node:internal/modules/cjs/loader:1124:32)
[app]     at Module._load (node:internal/modules/cjs/loader:965:12)
[app]     at f._load (node:electron/js2c/asar_bundle:2:13377)
[app]     at Module.require (node:internal/modules/cjs/loader:1148:19)
[app]     at require (node:internal/modules/cjs/helpers:110:18)
[app]     at Object.<anonymous> (/home/scottco/Documents.local/git-repos/insomnium/node_modules/@getinsomnia/node-libcurl/dist/Easy.js:5:18)
[app]     at Module._compile (node:internal/modules/cjs/loader:1269:14)

@archywillhe - You can replicate this in dev, if you have an ubuntu 20.04 machine lying around.  Just running npm run dev will throw this error, despite all linting, type-checking and unit testing passing.  It seems the tests that were inherited from upstream don't actually open the program and do integration tests at all.
The Good News
It's an easy fix. You can simply force the node modules to build from source, as documented here, to include the correct libraries.
For those following along, the procedure is as follows:
This assumes a clean, fresh install of Ubuntu 20.04 and little to no knowledge of node.js, so should be easy to follow along, and will get you from scratch to packages you can install as an upgrade to the current packages:

Open a terminal window, and install the dependencies
sudo apt update && sudo apt install -y git curl build-essential rpm autoconf make g++ gcc libcurl4-openssl-dev libssl-dev libyaml-dev libreadline-dev python3 python3-pip (may need to come back to this)

Clone insomnium into your Downloads directory (this can be anywhere):
cd ~/Downloads && git clone https://github.com/ArchGPT/insomnium.git && cd insomnium

Install node.js. If you already have node installed, and are using a package manager, the require version is 18.18.2, and You can skip to the next bit.
If you don't have a package manager installed, you can follow the steps below.  I use asdf, as I use many other languages, but you can use whatever is comfortable for you if you don't want to use asdf:

`asdf` install steps
To install asdf, and the correct nodejs version, run the following as a **non-root** user, and inside of the insomnium directory you've just created:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1
echo "legacy_version_file = yes" >> $HOME/.asdfrc
echo '. "$HOME/.asdf/asdf.sh"' >> $HOME/.bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> $HOME/.bashrc
source $HOME/.bashrc
asdf plugin add nodejs
asdf install
node -v

If all went well, `node -v` should output `18.18.2`.

Tell npm to build all modules from source: echo "build_from_source=true" >> .npmrc

Bump the version, so that apt/dpkg know that it's a different package: npm --workspaces version "0.2.3-hotfix"

Install the modules: npm ci

Build the releases: npm run app-package --max_old_space_size=6144.  This will take a while, so be patient with this bit.
This will create all of the releases, so you can use the snap or AppImage binaries if you like, But I choose to use deb packages by default.

Install the package:
sudo apt install ./packages/insomnia/dist/Insomnium.Core-0.2.3-hotfix.deb

Check that all installed properly: insomnium.

Click on Help > About in the title bar, and you should see that the version is now Insomnium 0.2.3-hotfix, and will function as normal, including the desktop icon in the launcher.

Profit.

This should fix the issue of it not loading on Ubuntu =< 21.10.  It's worth noting, that I'm not a node.js dev, so I'm unaware of the implications of building all packages from source in the main repository, but am happy to submit a PR for this, if you think it would help @archywillhe.  Perhaps some integration tests would be worthwile, as well?

@CodingMomentum
Awesome. Have family obligations over the next few days due to a US holiday but will check it out shortly. Thank you!

This seems to work at first, but once I try to actually execute a request, it throws Unknown option given. First argument must be the option internal id or the option name. You can use the Curl.option constants. at me.


Correct docs of arcade physics body member

Please do not update the README or Change Log, we will do this when we merge your PR.
This PR (delete as applicable)

Updates the Documentation

Describe the changes below:
The member angle of Phaser.Physics.Arcade.Body returns the value in radians, not degrees.

👍


[NFC] Tweak formatting of _Concurrency module CMakeLists.txt

Helps fix rdar://66414410.
(We don't usually commit pure formatting changes; I'm making an exception here because this should help avoid merge conflicts with Mac Catalyst build configuration settings that can't be upstreamed yet.)

@swift-ci smoke test and merge


GHAS Compliance Action Default Branch Limitation

Describe the bug

https://github.com/GeekMasher/advanced-security-compliance/issues/33
https://github.com/GeekMasher/advanced-security-compliance/issues/72

@oliveiraleom / @HaleenUptain the limitations of which branches the engine uses have been fixed for Code Scanning and Secret Scanning for GHEC/GHES.
https://github.com/advanced-security/policy-as-code/pull/9

This is fixed with the release of v2.1

@GeekMasher, thanks for heads up.  We will resume component evaluation work.


LDAP drivers are too opinionated about group membership schema

The groupmembership lookups in the user- and groupproviders assume that the membership attribute in a group directly maps to the user's name. So this basically only works with LDAP servers implementing the RFC2307 Schema (posixGroup). And even then only when the reva uid Attribute (OpaqueID) matches the user's name.
I think we need to make this a bit more flexible by supporting

"native" LDAP groups. I.e. groups using the groupOfNames Objectclass, where the member as listed as full DNs in the member Attribute
Allow the use of attributes other than the loginname for the uid for example entryUUID or objectGUID (in the ActiveDirectory case) without breaking group membership lookup.

This has been fixed with: https://github.com/cs3org/reva/pull/2708


TestContainers Hang After First Run

I added a second TestContainer into our class. On the first run, everything will pass with no problems. The second run will hang on the command to permit Docker to bind. In order for it to work, I have to stop the java process, restart docker, and rerun it. At that point, it will work on the first run but not the second run again.
Here are the logs where I got the issue from:
09:01:42.591 [main] DEBUG 🐳 [localstack/localstack:latest] - Starting container: localstack/localstack:latest
09:01:42.592 [main] DEBUG 🐳 [localstack/localstack:latest] - Trying to start container: localstack/localstack:latest (attempt 1/1)
09:01:42.592 [main] DEBUG 🐳 [localstack/localstack:latest] - Starting container: localstack/localstack:latest
09:01:42.592 [main] INFO 🐳 [localstack/localstack:latest] - Creating container for image: localstack/localstack:latest
09:01:42.592 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - Looking up auth config for image: localstack/localstack:latest at registry: index.docker.io
09:01:42.592 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - Cached auth found: [AuthConfig{username=XXXX, password=hidden non-blank value, auth=blank, email=null, registryAddress=index.docker.io, registryToken=blank}]
09:01:42.592 [main] DEBUG org.testcontainers.dockerclient.AuthDelegatingDockerClientConfig - Effective auth config [AuthConfig{username=XXXX, password=hidden non-blank value, auth=blank, email=null, registryAddress=index.docker.io, registryToken=blank}]
09:01:42.596 [main] DEBUG org.testcontainers.utility.PrefixingImageNameSubstitutor - No prefix is configured
09:01:42.596 [main] DEBUG org.testcontainers.utility.ImageNameSubstitutor - Did not find a substitute image for alpine:3.5 (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))
09:01:42.596 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: alpine:3.5
09:01:42.602 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - Looking up auth config for image: alpine:3.5 at registry: index.docker.io
09:01:42.602 [main] DEBUG org.testcontainers.utility.RegistryAuthLocator - Cached auth found: [AuthConfig{username=XXXX, password=hidden non-blank value, auth=blank, email=null, registryAddress=index.docker.io, registryToken=blank}]
09:01:42.602 [main] DEBUG org.testcontainers.dockerclient.AuthDelegatingDockerClientConfig - Effective auth config [AuthConfig{username=XXXX, password=hidden non-blank value, auth=blank, email=null, registryAddress=index.docker.io, registryToken=blank}]
09:01:42.611 [main] DEBUG org.testcontainers.utility.MountableFile - Copying classpath resource(s) from jar:file:/Users/XXXXX/.m2/repository/org/testcontainers/testcontainers/1.15.3/testcontainers-1.15.3.jar!/org/testcontainers/utility/ResourceReaper.class to /tmp/.testcontainers-tmp-3628711180189158291 to permit Docker to bind
09:01:42.611 [main] DEBUG org.testcontainers.utility.MountableFile - Copying resource org/testcontainers/utility/ResourceReaper.class from JAR file /Users/XXXXX/.m2/repository/org/testcontainers/testcontainers/1.15.3/testcontainers-1.15.3.jar
09:01:42.626 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl@27d57a2c[name=<null>,hostName=<null>,domainName=<null>,user=<null>,attachStdin=<null>,attachStdout=<null>,attachStderr=<null>,portSpecs=<null>,tty=<null>,stdinOpen=<null>,stdInOnce=<null>,env=<null>,cmd=<null>,healthcheck=<null>,argsEscaped=<null>,entrypoint=<null>,image=alpine:3.5,volumes=com.github.dockerjava.api.model.Volumes@2ff95fc6,workingDir=<null>,macAddress=<null>,onBuild=<null>,networkDisabled=<null>,exposedPorts=com.github.dockerjava.api.model.ExposedPorts@9d1a267,stopSignal=<null>,stopTimeout=<null>,hostConfig=HostConfig(binds=[/private/tmp/.testcontainers-tmp-3628711180189158291:/dummy:ro], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, memorySwappiness=null, nanoCPUs=null, capAdd=null, capDrop=null, containerIDFile=null, cpuPeriod=null, cpuRealtimePeriod=null, cpuRealtimeRuntime=null, cpuShares=null, cpuQuota=null, cpusetCpus=null, cpusetMems=null, devices=null, deviceCgroupRules=null, deviceRequests=null, diskQuota=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=null, groupAdd=null, ipcMode=null, cgroup=null, links=[], logConfig=LogConfig(type=null, config=null), lxcConf=null, memory=null, memorySwap=null, memoryReservation=null, kernelMemory=null, networkMode=null, oomKillDisable=null, init=null, autoRemove=null, oomScoreAdj=null, portBindings=null, privileged=null, publishAllPorts=null, readonlyRootfs=null, restartPolicy=null, ulimits=null, cpuCount=null, cpuPercent=null, ioMaximumIOps=null, ioMaximumBandwidth=null, volumesFrom=null, mounts=null, pidMode=null, isolation=null, securityOpts=null, storageOpt=null, cgroupParent=null, volumeDriver=null, shmSize=null, pidsLimit=null, runtime=null, tmpFs=null, utSMode=null, usernsMode=null, sysctls=null, consoleSize=null),labels={org.testcontainers=true, org.testcontainers.sessionId=d5b6c43c-6fcc-4ea6-aa82-0b897b40917e},shell=<null>,networkingConfig=<null>,ipv4Address=<null>,ipv6Address=<null>,aliases=<null>,authConfig=AuthConfig(username=XXXX, email=null, registryAddress=index.docker.io, stackOrchestrator=null)]
09:01:42.701 [main] DEBUG org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd - Cmd: 2e6a5329860ca4325e1ea4c4238a43569a83772ad36caeedd2b8bd2bdb7f886e

Docker Desktop: 3.5.1
Docker Engine: 20.10.7
TestContainers Version: 1.15.3

Here is a snippet of our class
@SpringBootTest
@Testcontainers
class RandomTest {
    private static final DockerImageName localstackImage = DockerImageName.parse("localstack/localstack:latest");

    @Container
    private static final LocalStackContainer localStackContainer = new LocalStackContainer(localstackImage)
            .withServices(LocalStackContainer.Service.SQS);

    @Container
    private static final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:4.4.6-xenial"));

    @DynamicPropertySource
    static void properties(DynamicPropertyRegistry dynamicPropertyRegistry) {
        dynamicPropertyRegistry.add("SQS_SERVICE_ENDPOINT", () -> localStackContainer.getEndpointConfiguration(LocalStackContainer.Service.SQS).getServiceEndpoint());
    }
}

Not sure if this helps but I am running this with 1.15.3 of LocalStackContainer and MongoDBContainer

I currently have the same issue on my MacBook Pro (Big Sur 11.6).
For some reason the container running the alpine images stays in its CREATED state. Attempting to delete the container does not work, I have to - like @ashwin-jacob said - restart my docker engine for it to work again.
I am running on Testcontainers 1.16.0

Happening to me as well.  Similar setup to @ShawnRG.  I'm running Docker Desktop 4.1.0 (69386) and Docker Engine 20.10.8.

Hi @ashwin-jacob, which OS are you using?
Can we try to triage if the issue is related to the LocalStackContainer?
Please verify if you can reproduce the same issue with this GenericContainer based example:
https://github.com/testcontainers/testcontainers-java-repro/blob/master/src/test/java/org/testcontainers/repro/ReproExampleTest.java
If this does not occur with GenericContainer, please provide a reproducer based on the setup and the used containers, ideally as a plain Java example without any framework code.
Everyone else reporting on this issue, please report your OS and your if you use a special architecture (e.g. M1 Macbook).

For some reason the container running the alpine images stays in its CREATED state

This sounds like a bug in Docker, not Testcontainers, as we do not control the transitioning from CREATED to RUNNING.
If CreateContainerCmd gets stuck, this would mean that there is something in Docker's API that blocks it from returning container's information, and we cannot proceed without it.

Attempting to delete the container does not work

This is also a strong signal that something is terribly wrong inside the Docker daemon (deadlock? File system-related issues?)
Have you reported it to Docker yet?

Thanks for the info, I will report an issue with docker as well!

Are you using BrowserWebDriverContainer with Chrome or Firefox? There was a very specific issue with the new Chrome image on certain systems, see https://github.com/testcontainers/testcontainers-java/pull/4315.

I am using it with Chrome.
Just did a test run with Firefox, but the issue still persists.

Update:
I have completely purged and re-installed Docker from my system using the uninstall feature in Docker Desktop and removing it via Homebrew.
Now I do not get the issue anoymore, I have tested two previously failing test scenarios and they seem to be working consistently now.


Custom reaction placeholders do not work

The placeholders for custom reactions do not seem to work, or I'm doing it wrong (I have tried every possible way, and none work).
Essentially, if you do:
.acr "pat %target%" %user% pats %target%
And then do pat @someone it will not output anything.
Tried to put %mention% instead of %target%, same result. Any solutions to this?
Cheers.

.acr pat %user% pats %target%
If %target is present in the response, custom reaction will take anything after the keyword and replace that with %target%


ngModel / formControl does not update when inside Modal -> TabView -> TabItem in iOS

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

CLI: 5.0.0
Cross-platform modules: 5.0.1
Android Runtime: N/A
iOS Runtime: 5.0.1
Plugin(s): N/A
NativeScript-Angular: 6.2.0
Angular: 6.1.10

Describe the bug
ngModel / formControl doesn't update the values when inside a Modal Dialog -> TabView -> TabItem in iOS. Looks like controls inside the last TabItem works as expected, but not others.
To Reproduce
Place TextFields with ngModel inside a TabView that should be inside a Modal Dialog. Model never gets updated, it's same in case of formControls too.
Expected behavior
In the sample project below, labels in Tab1 and Tab2 should update as user change the text in the text fields on the same tabs.
Sample project
https://play.nativescript.org/?template=play-ng&id=ptOL8q&v=4
Additional context
This doesn't look like an Angular only issue, as the text change event itself is failing.

Update:
It must be Angular specific, same scenario works as expected with Core.
Sample project
https://play.nativescript.org/?template=play-tsc&id=226zEk


[CELEBORN-1809][CIP-14] Add partitionLocation to cppClient

What changes were proposed in this pull request?
This PR adds PartitionLocation to cppClient, which is the component of protocol module.
Why are the changes needed?
To support communication message of PartitionLocation.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Compilation and UTs.

@FMX Could you kindly review this PR? Thanks a lot.
Any suggestion is welcome.
Also note that the latest java code uses packedPb to transfer the PartitionLocation message, but the code should work with other messages, so we leave the packedPb translation to later commits.


Make available resources about building/using newer versions with Meizu phones

[X] I have checked that a similar feature request does not already exist.

Is your feature request related to a problem? Please describe.
I can't seem to make scrcpy work with my Meizu M6 Note phone whenever I use any version above 1.13. I've seen in another issue that the "culprit commit" was identified and that it did pose other problems, so I can understand it might be needed.
But there are some changes and new features that are present in newer versions that are pretty much inaccessible on some setups for that reason.
Describe the solution you'd like
However, if it's possible, I'd like to see an alternative to the phones that don't work with the change introduced in 1.14 and above. It doesn't even need to be prebuilt; having written resources about how to do it would be enough.
Describe alternatives you've considered
I've tried all the workarounds I've found in all related issues (like changing bitrate, encoder and even cables/ports). But none of them worked on newer versions.

I've seen in another issue that the "culprit commit" was identified and that it did pose other problems, so I can understand it might be needed.

I'm pretty sure we can make it work nevertheless, but I have no Meizu device.
Could you please help by testing this: https://github.com/Genymobile/scrcpy/issues/240
Otherwise, building steps are described here: https://github.com/Genymobile/scrcpy/blob/master/BUILD.md

I've seen in another issue that the "culprit commit" was identified and that it did pose other problems, so I can understand it might be needed.

I'm pretty sure we can make it work nevertheless, but I have no Meizu device.
Could you please help by testing this: https://github.com/Genymobile/scrcpy/issues/240#issuecomment-703829170
Otherwise, building steps are described here: https://github.com/Genymobile/scrcpy/blob/master/BUILD.md

Following the instructions in 240-comment, I get the same "freezing" problem, but there's no message displayed after
[server] INFO: ### 1
[server] INFO: ### 2
INFO: Renderer: direct3d
INFO: Initial texture: 1080x1920```

Are there any logs I can try to get and paste here? If so, how can I do it?

Please replace the server from v1.19 release by this one:
scrcpy-server sha256:4587ff4a115ca535cb6bf249cb09add2005e650e177b4335281e2d2df731d39d
Does it freeze? Please post the whole console output.
diff
diff --git a/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java b/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
index 2f7109c5..df73d60a 100644
--- a/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
+++ b/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
@@ -9,6 +9,7 @@ import android.media.MediaCodecList;
 import android.media.MediaFormat;
 import android.os.Build;
 import android.os.IBinder;
+import android.os.Looper;
 import android.view.Surface;

 import java.io.FileDescriptor;
@@ -55,7 +56,10 @@ public class ScreenEncoder implements Device.RotationListener {
     }

     public void streamScreen(Device device, FileDescriptor fd) throws IOException {
-        Workarounds.prepareMainLooper();
+        Ln.i("Manufacturer: [" + Build.MANUFACTURER + "]");
+        Ln.i("Brand: [" + Build.BRAND + "]");
+        Ln.i("Model: [" + Build.MODEL + "]");
+        Looper.prepare();

         try {
             internalStreamScreen(device, fd);

I get this:
[server] INFO: Device: Meizu M6 Note (Android 7.1.2)
[server] INFO: Manufacturer: [Meizu]
[server] INFO: Brand: [Meizu]
[server] INFO: Model: [M6 Note]
INFO: Renderer: direct3d
INFO: Initial texture: 1080x1920

and then nothing happens. Anything else I could try?

And this one?
scrcpy-server sha256:971189967483880579dfb428ceb0e16e401592f931efa605446e167c3776b6f8
diff
diff --git a/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java b/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
index 2f7109c5..ec9330bb 100644
--- a/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
+++ b/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java
@@ -56,6 +56,9 @@ public class ScreenEncoder implements Device.RotationListener {

     public void streamScreen(Device device, FileDescriptor fd) throws IOException {
         Workarounds.prepareMainLooper();
+        if (Build.BRAND.equalsIgnoreCase("meizu")) {
+            Workarounds.fillAppInfo();
+        }

         try {
             internalStreamScreen(device, fd);

[server] INFO: Device: Meizu M6 Note (Android 7.1.2)
[server] INFO: Manufacturer: [Meizu]
[server] INFO: Brand: [Meizu]
[server] INFO: Model: [M6 Note]
INFO: Renderer: direct3d
INFO: Initial texture: 1080x1920

I've yet to try the encoder options though, but for now, no success.

Oops, the last link was incorrect (it was the same as the first one). I fixed it. Could you retry, please?

It worked! Thanks a lot!
I still have to check the new features (I got really attracted by the --max-fps option), but so far it's working fine.

Fixed on dev: 8df42cec82cb5856e6c10a4089e6b2953310da6e
Just to be sure, could you test the final version:
scrcpy-server sha256:7f2d14cf95ff3c490d6402100bf8f04261a5bc9bc050dfff83e6ee48ec5ac5d6

It worked fine too. Would be nice having this server file "pinned" or something like that, if possible. Thanks a lot for your help!

Would be nice having this server file "pinned" or something like that

What do you mean?

Pinned is not the correct word for it, I suppose, but it would be nice to have the "alternative server" someplace easier to come by (though the ones who need it will probably search for it anyways, so not having that isn't a problem), Somewhere like in the Releases page for each version? Only if it isn't troublesome, of course.

The problem is fixed on dev branch, so the next release will work as expected.
It was just a "bug" like many others, there are no backports to older versions.

@veselcraft Please test https://github.com/Genymobile/scrcpy/issues/3801#issuecomment-1468897171. Does it work?

@veselcraft Please test #3801 (comment). Does it work?

Sure it does! It's smooth and the mouse controls works perfectly.
But i still have some glitches here, i think this is a problem on Flyme's side, not on scrcpy. Thanks for the fix anyways!

If you record with adb shell screenrecord /sdcard/file.mp4, is the problem present on the resulting file?

If you record with adb shell screenrecord /sdcard/file.mp4, is the problem present on the resulting file?

It's present in any third-party screen recorder


fix: Ensure we run tests during conda build

We are missing the sub-package conda_package.cli in our pyproject.toml file. This PR:

Fixes the configuration
Ensures the tests are run during conda build
Migrates to a src directory layout, to guard against errors like this in the future

The previous commit of this branch (0baeccf) has passed conda-forge CI: https://github.com/conda-forge/staged-recipes/pull/22456
Once these tests pass and we merge and re-tag, I will plan to update the conda-forge recipe and then I believe we should be good


Documentation updates

This PR includes several fixes for the documentation:

[ ] Update documentation for installation, based on changes in #121
[x] Update usage  of generate_figure.py (remove parameters.sh input)
[x] Fix link to config_spine.txt file
[x] Update segmentation and labeling instructions - introduce manual_correction.py script
[x] Update how to exclude subject with low data quality from analysis

Fixes https://github.com/spine-generic/spine-generic/issues/112

Path to -path-segmanual in sct_run_batch command in Re-run the analysis section should be probably also updated.
Currently it is set to:
-path-segmanual ~/spineGeneric_results_new/seg_manual
Update it according to BIDS?
-path-segmanual ~/spineGeneric_results_new/derivatives


FileNotFoundException when calling GetPortNames()

Hi! I am running a UWP-App to test the Library. The first step in opening a new port was to check if it is available. But when I called SerialPortStream.GetPortNames() the FileNotFoundException was thrown with the description: "Could not load file or assembly 'Microsoft.Win32.Registry, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'"
OK, without validating the existence of the port I wanted to connect via
try
{
    string[] ports = SerialPortStream.GetPortNames();
    SerialPortStream sps = new SerialPortStream("COM3", 57600, 8, Parity.None, StopBits.One);
    sps.Open();
}
catch(Exception ex)
{
    Debugger.Break();
}

This led to "Access Denied: COM3"
There is no problem accessing the port with other tools like HTerm, and unlike #11 there is definitely no other program talking with the port, and there is no possiblilty to have an error like #38 because the above lines of code are the only ones existing. So I downloaded and referenced the source and the error happens here:
m_ComPortHandle =<EMAIL_ADDRESS>+ PortName,
                NativeMethods.FileAccess.GENERIC_READ | NativeMethods.FileAccess.GENERIC_WRITE,
                NativeMethods.FileShare.FILE_SHARE_NONE,
                IntPtr.Zero,
                NativeMethods.CreationDisposition.OPEN_EXISTING,
                NativeMethods.FileAttributes.FILE_FLAG_OVERLAPPED,
                IntPtr.Zero);

as the returned handle is invalid (-1) and the WinIOError() @ int e = Marshal.GetLastWin32Error(); shows a 5 leading to UnauthorizedAccessException.
Do you have a hint where to search for a possible mistakes?

Works fine under Win32 Desktop. I suspect UWP is started in a sandboxed environment preventing you from accessing the COM port. Error 5 comes back due to permissions issues, or someone else already has the COM port opened.

Obiously I forgot to define the device capabilities in the Package.appxmanifest like this:
<DeviceCapability Name="serialcommunication">
  <Device Id="any">
    <Function Type="name:serialPort"/>
  </Device>
</DeviceCapability>

Good news! If you have success, let us know your experience, and perhaps you can make some suggestions for the Wiki.

@NilesDavis
Did you ever resolve this?  I am looking into this as well, but I don't think this lib is compatible with UWP...  I keep getting "FileNotfound" (from GetPortNames) or UnauthorizedAccess (from Open()).
The short version is that UWP does have sandboxing in place for lots of things, including File, Network, and Serial (device) IO and while UWP does support the .NET 2.0 API's, there's no guarantee that they will work.  System.IO.File API's are similar on UWP (available, but throw runtime exceptions when called because sandboxing prohibits the low-level calls).
I know my serial device works, as I've tested it via the permitted API: Windows.Devices.SerialCommunication.SerialDevice  (etc).
In case anyone needs an immediate UWP solution, here is an example.
@jcurl  If you have any desire for supporting UWP, let me know.  It would be possible...


UPSTREAM: : Support cluster-aware APIReader client

Fixes #23.

I understand the approach but if we are to propose this upstream, having a user-provided (but defaulted) factory for this read-only/live client would make more sense in the context of how the rest of this library works.

I understand the approach but if we are to propose this upstream, having a user-provided (but defaulted) factory for this read-only/live client would make more sense in the context of how the rest of this library works.

Thanks and agreed. I've re-pushed with the new factory approach to be consistent with the existing extension model.


OSS 2.5 release notes

Closes https://github.com/influxdata/docs-v2/issues/4583
@jeffreyssmith2nd Please review, a lot of the wording from the changelog was rather vague

Please let us know when 2.5 is available on the downloads page so we can publish the  2.5 docs set and release notes

2.5 has been released, this is good to go!


How to Generate a change item email

Please make sure that you have checked the boxes:

[x] Pease review the Troubleshooting doc for additional details regarding your issue.
[x] Review the Quickstart guide
[x] Search for both open and closed issues regarding the problem you are experiencing
[x] For permissions issues (Access Denied and credential related errors), please refer to the requisite docs before submitting an issue:
AWS, GCP, OpenStack, GitHub

Description of issue:
Hi,
I'm wanting to test out sending jinja_change_item.html emails. I'm currently able to receive "Changes w/justified issues in repository" emails so I know the SMTP server is correctly set up. Here's my question:

How can I successfully send a jinja_change_item.html email during a "change item" event?

Thanks for the help.

Hello:
So I will be completely honest with you, I completely forgot how to do this :), but then I remembered:
https://github.com/Netflix/security_monkey/blob/develop/docs/userguide.md#receiving-notification-mails
You need to go into settings, and in the Accounts view, there is a notifications section on the left hand side. Keep "change emails" set to "All", and then in the account list, there is a checkbox column for "Notify". Check the box of the accounts you want to see, and then when you are done, Click on the "Save" button in the Notifications Settings section.

@mikegrima,
Thanks for the response! I'll check this out and let you know how it goes as soon as I get a chance. Again, thanks for the help!

@mikegrima,
I checked your instructions as well as my current settings and see that these email notification settings are already set. I am able to receive emails, just not specifically "change item emails". More specifically, I'm not sure how to initiate a "change item email". I know there is a specific set of circumstances required to initiate this email, I just don't what they are.

To ask the obvious question: did you have any items with configuration changes?

I think this is where my confusion lies. I'm not sure how to change a configuration of an item. Let me tell you what I've done so far and maybe that can help resolve this issue:

I created a public Github repository.
Security Monkey through it's scheduler creates an item for that Github repository.
The newly created item has two issues, one stating that the repository has no protected branches and two, the github repository is public when it should be private.
I then update the Github repository and set it to private. I also change the name of the Github repository.
Security Monkey detects these changes and sends me a "Changes in Repository" email.

At first I thought Step 4 would be considered a configuration change to the item but I'm wrong.
Question: How can I change the item's configuration to initiate the "Change in Item" email?

Oooh you are using the GitHub plugin!
IIRC, the name of the repo is the unique name for it. So, if you change the name of the repo, then that should make a separate item (I'm pretty sure this is true).
However, you should see that the item is "deleted", as the next time the watcher runs (you can invoke this manually and confirm), it should note that the repository in question is no longer present and record a deletion configuration item.

After changing the name of the Github repo and running monkey find_changes -a all -m all inside the secmonkey-worker docker image, the only email I get is the "Changes in Repository" email.
I understand that I'm asking such a weird specific question and I appreciate the help. I'll look further into the code and try to find another way to change an item configuration.

I am open to testing this on a different platform like Amazon in order to get this tested. I've attempted various approaches and just can't get this email generated using Github repositories.

Mike,
If you have any new input on this let me know. I'm going to try and test using an AWS account to hopefully trigger this email. If there is a way I can do this via console that will suffice as well. My ultimate goal is to see how the email is generated. Thanks again for your help thus far.

Unfortunately, without debugging and digging in it's hard to diagnose why the code isn't being called.

Unfortunately, without debugging and digging in it's hard to diagnose why the code isn't being called.

Totally fair, I'll keep plugging away at this and see what I can come up with.

Totally fair, I'll keep plugging away at this and see what I can come up with.


update all dependencies

Some were in dire need of an update. Also get tests running on the latest version of node. Whoo!

Ok so all the tests here are passing. This is good. The only thing that needs to be ironed out is whether the weird image clipping issue is occurring still.

You mean #655? I posted a test repo in there you can check against.

Can confirm that the image issue is present. This really needs to be worked out in order for roots to move forward at all. I am going to start hacking on this with any free time I have.

And there was much rejoicing.
Thanks!! You're the best.

Unfortunately I have very little free time, but I'll do my best!

Just did a small test and this should fix #659 :tada:

:open_mouth: :open_mouth: :tada:

were you able to isolate something that was throwing roots segmentation fault ?

yeah i had one project that would consistently throw it, after this upgrade it no longer is

Ok, can confirm that the broken image issue is coming from the livereload system, specifically from infector. If this is disabled, images work correctly. Will have a fix ready for this soon, then we can push out the release!

Browsersync merge takes care of this :tada:


PlayStore and Github builds

Play Store build, on this date, is 124.0.6327.4, and at the same time, the latest pre-release on github is 124.0.6327.3.
Does updates come first on playstore???

One month later and still we have 6327.4 on playstore and 6327.3 on github

Recommendation: Close issue.
Explanation:
Generally speaking, dev and beta versions will never be on the same build number. Not in Microsoft Windows, not in Chromium, nor Edge. For example, Edge and Chrome Dev and Beta builds are 2-3 major versions above the stable. In this case, with the version of Kiwi being always identical, I guarantee you it was done to differentiate the builds. If they are never exactly the same, then there will never be confusion on what something is. To be clear, I believe that the builds are on the exact same code base at the moment.
Example: A dev or beta version with the new changes are released. It's tested, people use it, and then. sometimes, the code bases come together and they are essentially the same until the next wave of changes. So it's not that the Paly Store comes first, it's that it came last, there for it appears as the most recent build. The changes proposed were already being tested weeks or months before, while the stable channel sits idle, then the changes are released. It's just an arbitrary number. I don't know where the maintainer is for Kiwi, but I would love to see how I can contribute since I use it every day.

Hello,
There are actually millions of active users, not just hundreds of thousands.
It’s a big small alternative browser in some way.
I understand why many people want update, it is reasonable, but it is tough to find time and resources.
It’s nice to see people like you offering their help, it is actually very rare.
The next update is scheduled around 31th August.
From a technical perspective it is a significant upgrade in the background (and there are lot of merge conflicts to resolve between Kiwi and Chromium and this is why it is taking time).
It takes time, I understand it, but the task is actually quite big.
Arnaud.

Any very approximate idea of when Kiwi could get to version 125+?
Sorry for my selfish question.

If dev reading this when next update please do consider
https://github.com/kiwibrowser/src.next/issues/1150
solving those feature


Feature/aries hooks

Summary of Changes
Replace this text with a high-level summary of the changes included in this PR.
You'll see a new "aries-hooks" folder that contains a package that'll streamline all usage of AFJ methods and such, I also implemented this package throughout the app so you'll be able to see how much reused code is now removed
Related Issues
Please reference here any issue #'s that are relevant to this PR, or simply enter "N/A" if this PR does not relate to any existing issues.
Pull Request Checklist
This is just a reminder about the most common mistakes. Please make sure that you tick all appropriate boxes. But please read our contribution guide at least once; it will save you a few review cycles!
If an item doesn't apply to your pull request, check it anyway to make it apparent that there's nothing to do.

[ ] All commits contain a DCO Signed-off-by line (we use the DCO GitHub app to enforce this).
[ ] Updated LICENSE-3RD-PARTY.md for any added dependencies or vendored components.
[ ] Run prettier: npm run style-format
[ ] Updated documentation for changed code and new or modified features.

If you have any questions to any of the points above, just submit and ask! This checklist is here to help you, not to deter you from contributing!
PR template adapted from the Python attrs project.

Closing as updates included in #75


Make git repository support file: URI prefix for clone-directory and private-key-path

This adds support for the git clone-directory property to access file path with the file resource prefix, to match documentation. The  privateKeyPath also take a Resource now but the underlying JSch library eventually wants a String path so it would only take a file: type of resource or classpath: type if in file in classpath but not in an archive. File type of resource also only makes sense for clone-directory but that should be obvious.
I don't understand what is going on with GitServiceRegistryTests.java - There is a "cas.service-registry.git.repository-url=file:/tmp/cas-sample-data.git" and it deletes "/tmp/cas-sample-data" but I don't think it uses either one? Is that supposed to be a git repo that it clones from and pushes to because it is making the git repo in cas-service-registry and it tries to push somewhere but there is nowhere to push (the tests pass).
I added a test to GitRepositoryBuilderTests.java to test the Resource usage via file: prefix. The existing test with ssh is doing an assertThrows(IllegalArgumentException... because of an authentication failure but that Exception would be thrown for any type of error so I am not clear on what is being tested. It's also an odd test because it works locally (which means assertThrows fails), presumably b/c the ssh library is using my ssh key (with no password) to authenticate to github.
I added a new property to turn off host key verification but it defaults to being on as before. I think this could be useful when cloning from internal git repos from CAS running in a container that may not have the host key installed (scenarios where you aren't worried about MITM or DNS hijacking, etc).

Yes. It's a wrapper that provides the resource in the form of a
.location setting.

OK, just checking that it is OK to change the property name. I suppose I should update the property migration file as well.

Yup. That would be great!
-- Misagh


updating vllm docs to use llama3  405B as example

What type of PR is this?
/kind documentation

What this PR does / why we need it
Updates vLLM docs to show example of deploying Llama3-405B using LWS and Ray.
Which issue(s) this PR fixes

Fixes #184
Special notes for your reviewer
Does this PR introduce a user-facing change?

NONE

/ok-to-test

I have no test environment right now, but LGTM. I'll try this out once I got a chance.


Refactor MiqExpression.quote

Tidies this method a bit and removes some dead paths
@miq-bot add-label core, refactoring, darga/no
@miq-bot assign @gtanzillo

Looks great! 👍 🍻


The "AlphaReady" user autocmd is not run

Description
Any autocmds for User with the pattern AlphaReady are not run when entering an alpha buffer. The noautcmds option is not set.
Expected Behavior
Autocmds created for AlphaReady are run when opening alpha.
Actual Behavior
The AlphaReady autocmd is not run.
Reproducible Example
Using vimscript instead of lua to make the autocmd does not affect this bug.
vim.api.nvim_create_autocmd("User", {
    pattern = "AlphaReady",
    callback = function()
        print('AlphaReady was run')
    end,
})

this is not reproducible. clone alpha and try again with one of the debug configs
https://github.com/goolord/alpha-nvim/blob/main/debug/DEBUG.md
and if it works then it's a problem with your config

I think its related to Lazy.nvim lazy-loading stuff, because once I clone as a native neovim package, it starts working.

So after some debugging, I realized this is caused by a certain colorscheme plugin, namely Catppuccin. I opened a bug against the colorscheme plugins repo, but I think it also belongs here. The colorscheme does not make any changes to alpha-nvim highlights or config, which is why I reopened this bug.
Reproducible config
-- `minimal.lua` used for reproducible configuration
-- Open with `nvim --clean -u minimal.lua`

local is_windows = vim.fn.has("win32") == 1
local function join(...)
  local sep = is_windows and "\\" or "/"
  return table.concat({ ... }, sep)
end

local root_tmp = is_windows and os.getenv("TEMP") or "/tmp"
local lazypath = join(root_tmp, "nvim", "lazy")

if not vim.loop.fs_stat(lazypath) then
    vim.fn.system({
        "git",
        "clone",
        "--filter=blob:none",
        "https://github.com/folke/lazy.nvim.git",
        "--branch=stable",
        lazypath,
    })
end
vim.opt.rtp:prepend(lazypath)

require("lazy").setup({
    { "catppuccin/nvim", name = "catppuccin" },
    -- ADD PLUGINS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
    { "goolord/alpha-nvim" }
})

require("catppuccin").setup({
    flavour = "mocha"
})

-- ADD INIT.LUA SETTINGS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE

local alpha_config = {
    layout = {},
    opts = {}
}
require("alpha").setup(alpha_config)

vim.api.nvim_create_autocmd("User", {
    pattern = "AlphaReady",
    callback = function()
        print("AlphaReady called")
    end,
})

-- COMMENT this to make the autocmd work
vim.cmd.colorscheme('catppuccin')

if this is some weird interaction with lazy loading i don't consider this a bug with the plugin, fwiw i alos use lazy and i haven't encountered this.
what happens if you add event = "VimEnter", or lazy = false to alpha's pluginspec? i would guess that the magic sauce to make everything work right, (i can check tomorrow if you don't have time)

if this is some weird interaction with lazy loading i don't consider this a bug with the plugin, fwiw i alos use lazy and i haven't encountered this.
what happens if you add event = "VimEnter", or lazy = false to alpha's pluginspec? i would guess that the magic sauce to make everything work right, (i can check tomorrow if you don't have time)

It isn't affected by lazy loading, it has something to do with the colorscheme plugin (see the new config I posted). The config just uses lazy to bootstrap itself, it happens with packer to.

https://github.com/catppuccin/nvim/issues/399#issuecomment-1421838557
what revision of neovim are you using? if it's some old, non-release commit maybe you could try updating to HEAD neovim

The latest brew version, 0.8.3


Allow using different ports for cleartext and TLS when using a client…

… profile
Motivation:
It is currently impossible to specify different ports for cleartext and
TLS connections when using a client profile.
Modifications:
Define two new property keys - centraldogma.httpPorts.* and
centraldogma.httpsPorts.* - so that a client profile can specify
different port numbers.
Result:
Flexibility

Will send a reworked pull request.


--subscription does not work for keyvault related commands

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

E.g, az keyvault secret list will list the same list of secrets no matter what subscription is provided.
Other keyvault related commands also have the problem.
Describe the bug

To Reproduce

Expected behavior

Environment summary

Additional context

we may hide the parameter by setting c.ignore('_subscription') for all such commands in KeyVault


Kurento bug tracker broken

Prerequisites
These are MANDATORY, otherwise the issue will be automatically closed.

[x] I agree to fill this issue template.
[x] I have read the Troubleshooting Guide and Support Instructions.

Issue description
Mentioned several times now. The bugtracker sends a main after issuing a bug, which describes a problem

Checking the workflow reveals a problem with the Access Token GA uses to access the repo (amongst other, like deprecation warnings etc.)

As I told you.


how can I set mysql options

Hi,
this is what I want to do
mysql_options(mysql_conn->_handle->mysql.get(), MYSQL_OPT_CONNECT_TIMEOUT,  &m_iOverTime);
mysql_options(mysql_conn->_handle->mysql.get(), MYSQL_OPT_READ_TIMEOUT,  &m_iOverTime);
mysql_options(mysql_conn->_handle->mysql.get(), MYSQL_OPT_WRITE_TIMEOUT, &m_iOverTime);

but _handle is private in sqlpp::mysql::connection, I cant find any public function to do this.

Hi,
Right, this is currently not exposed, but you could add a function to do so. Can you create a pull request?


Calling Blob#length() on an image column causes an InputStream obtained from Blob#getBinaryStream() to close

Driver version
7.4.1 (appears to be valid for other versions as well)
SQL Server version
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)
Aug 22 2017 17:04:49
Copyright (C) 2017 Microsoft Corporation
Developer Edition (64-bit) on Windows Server 2016 Standard 10.0  (Build 14393: ) (Hypervisor)
(but appears to be valid for other versions as well)
Client Operating System
Windows 10
JAVA/JVM version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
Table schema
create table mytable (
mydata image
);
Problem description
With the fix for https://github.com/Microsoft/mssql-jdbc/issues/611 it's now usually possible to:

Obtain an InputStream from a BLOB with myBlob.getBinaryStream().
Call myBlob.length() to get the size of the BLOB.
Consume the InputStream.

However, if the data type of the column is image then the following exception is thrown:
Caused by: java.io.IOException: The stream is closed.
	at com.microsoft.sqlserver.jdbc.BaseInputStream.checkClosed(SimpleInputStream.java:95) ~[mssql-jdbc.jar:?]
	at com.microsoft.sqlserver.jdbc.SimpleInputStream.read(SimpleInputStream.java:263) ~[mssql-jdbc.jar:?]
	at com.example.copyStreams(JdbcBlobStreamTester .java:41)

This happens when the value byte array in com.microsoft.sqlserver.jdbc.SQLServerBlob is null and the first active input stream isn't an instance of PLPInputStream (the call to stream.getBytes() in getBytesFromStream() causes the stream to be closed).
Reproduction code
Use the same code as in https://github.com/Microsoft/mssql-jdbc/issues/611.

Hi @jborgland, the team will take a look.

I added the fix for this issue into a PR for another semi-related issue. Please feel free to test it out.

PR merged, closing issue.


docs: add isPaused() into the options

This is based on https://github.com/vercel/swr-site/pull/65 and follows up on https://github.com/vercel/swr/pull/845.

Thank you!

Thank you!


Add youre cute by youre cute

Song Name
youre cute
Artist Name
youre cute
Source
Youtube
Youtube Link
K4xLi8IF1FM
Direct File Link
https://m.youtube.com/watch?v=K4xLi8IF1FM&pp=ygUPa2F3YWlrdXRlIGdvbWVu
Song ID
405060
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 87075478

accept

reject
artist and song name must be descriptive


Revisit orgMembership paths

There may be a more user-friendly way to manage org memberships, for instance by using org paths.

Updating target sprint from 21.11 to 21.12


ON DUPLICATE KEY UPDATE ?

Anyway to pull off an on duplicate key update for an insert statement with MySQL ?
Couldn't find anything documentation or search wise.

Right now you need to do this with raw queries.

@bendrucker Can you supply a simple example?

From: http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
Output:
INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

Input:
knex.raw('INSERT INTO table (a,b,c) values (?, ?, ?) ON DUPLICATE KEY UPDATE c=c+1', [1, 2, 3]);

#696 outlines how we want to make edge features like this easier to support in the various databases. No timeline and it won't be in the very near future, but we're interesting in making it easier to use the query builder for creating things like this.

Thought this might help someone:
var data= {
	uuid: req.params.uuid
	,accountcode: req.params.account
	, comment: req.params.feedback || null
	,createdAt : new Date()
	,updatedAt : new Date()
	};
var query = knex('callfeedback').insert(data).toString();
query += ' on duplicate key update ' + knex.raw('updatedAt= ?, comment = ?',[new Date(),req.params.feedback]);

knex.raw(query).then()...

let insert = knex(table).insert(data)
delete data.id
let update = knex(table).update(data)
let query = util.format('%s on duplicate key update %s', insert.toString(), update.toString().replace(/^update `[^`]+` set /i, '')
return knex.raw(query)

@dotnil what does this do differently than the code from @avimar ?

mine is more generic.

@dotnil is the code correct? for me it produces two update keywords after on duplicate key.
Example: insert into "Users" (...) values (...) on duplicate key update update "Users" set ...

@shikasta-kashti Ah, that's because in your query the table name is wrapped with " instead of ```. Give the regex a try /^update (["])[^\1]+\1 set/i`

@dotnil thx for the code. arent u missing ) closing util.format? anyways it works with it

Yes, thanks :-). It's fixed now.

How would one accomplish a multiple record insert...on duplicate key update using parameter substitution?
-- example from: https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html
INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
  ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

I'm using this to insert-or-update in knex (ES6):
updatePage(page) {
  const noop = () => undefined

  const { id } = page
  const content = { id, content: page }

  const result = await client('pages')
    .where({ id })
    .update(content)
    .catch(noop)
  || await client('pages')
    .insert(content)
    .catch(::console.error)

  console.log(result)
}

function insertOrUpdate(knex: Knex, tableName: string, data: any) {
  return knex.raw(knex(tableName).insert(data).toQuery() + " ON DUPLICATE KEY UPDATE " +
    Object.getOwnPropertyNames(data).map((field) => `${field}=VALUES(${field})`).join(", "));
}

@NathanJPhillips it´s possible to make similar code with "batchInsert"?

I test and does not work with "batchInsert" method.
There is a way to make INSERT OR UPDATE with BATCH of items (array of data)?

@dcbasso I've made one for postgress but perhaps you could adapt it for mysql: https://gist.github.com/adnanoner/b6c53482243b9d5d5da4e29e109af9bd

The best way for me, at my point of view is: INSERT OR UPDATE.

ON DUPLICATE KEY UPDATE It´s not supported by SQLITE.

If someone could collect info how each database does this, maybe it could be specified what kind of API would be good for knex. If support is very different on every dialect, it might be better to have different API for each dialect.
This is pretty common request, so in this case separate implementations could be valid solution compared to unusable abstraction which works well only on one platform.

@elhigu could be one method (insertOrReplace and insertOrReplaceBatch) only and if the K'NEX knows the information about the database (connection) he can use the correct implementation... abstraction itself!

Guys in this code: https://github.com/tgriesser/knex/blob/master/src/util/batchInsert.js we have the method "insert".
Where I can find this method to take a look on the code?

@dcbasso it is spread in multiple places in different dialects and in base implementation. Also builder part and compiling part of the query are two separate things... So... It is not easy to point out where the code is found.
Anyways for this issue it is not relevant either. Relevant thing is to figure out how each database engine support upsert things (as I tried to point out in my last comment).
Then its up to community to decide what kind of support is wanted, add builder method(s) which creates internal representation of the thing and write compiler implementations to have it supported in different dialects (and obviously add docs + tests at the same time).

I wish to make my own changes here, that´s why I ask for.

Utility funciton to generate upsert query
Usage:  upsert(data, 'tableName', [], ['colName']);
exports.upsert = (t, tableName, columnsToRetain, conflictOn) => {
    const insert = knex(tableName)
        .insert(t)
        .toString();
    const update = knex(tableName)
        .update(t)
        .toString();
    const keepValues = columnsToRetain.map((c) => `"${c}"=EXCLUDED."${c}"`).join(',');
    const conflictColumns = conflictOn.map((c) => `"${c.toString()}"`).join(',');
    let insertOrUpdateQuery = `${insert} ON CONFLICT( ${conflictColumns}) DO ${update}`;
    insertOrUpdateQuery = keepValues ? `${insertOrUpdateQuery}, ${keepValues}` : insertOrUpdateQuery;
    insertOrUpdateQuery = insertOrUpdateQuery.replace(`update "${tableName}"`, 'update');
    insertOrUpdateQuery = insertOrUpdateQuery.replace(`"${tableName}"`, tableName);
    return Promise.resolve(knex.raw(insertOrUpdateQuery));
};

@abdulkaderjeelani which is filled with SQL injection security threats...

Most of these solutions seems to be filled with potential SQL injection threats. Here is a simple generic function for anyone looking to do this on Postgres.
/**
 * Knex Postgres INSERT or UPDATE
 * @param {string} knex - knex instance
 * @param {string} table - table name
 * @param {string} constraint - constraint name
 * @param {Object} keys - constraint key/value object (insert)
 * @param {Object} payload - row data values (insert and/or update)
 * @returns {Promise} - knex raw response
 */
async function insertOrUpdate(knex, table, constraint, keys, payload) {

  const update = Object.entries(payload)
    .map(([key, value]) => {
      return knex.raw('?? = ?', [key, value]);
    })
    .join(', ');

  return await knex.raw(`? ON CONFLICT ON CONSTRAINT ?? DO ${update && 'UPDATE SET ' + update || 'NOTHING'};`,
    [knex.insert({
      ...keys,
      ...payload
    }).into(table), constraint]);
}

Usage: If you have a foo_bar table with a unique key on foo_id and bar_id named foo_bar_uk with data_number, data_string and data_json columns, use the function as follows:
const res = await insertOrUpdate(knex, 'foo_bar', 'foo_bar_uk',
  {
    foo_id: '1',
    bar_id: '2'
  },
  {
    data_number: 10,
    data_string: 'twenty',
    data_json: JSON.stringify({ a: 'b' })
  });

This will create an entry with all data from the keys and payload parameter, if there is a unique constraint error, the row will be updated using the values supplied in the payload parameter.

I've wrote tiny lib, that adds onDuplicateUpdate function to Knex QueryBuilder.
https://github.com/felixmosh/knex-on-duplicate-update

Here's an improvement of @j0h's version from https://github.com/knex/knex/issues/701#issuecomment-488075856 for Postgres. It doesn't require bothering with the constraint name, and re-uses inserted values via the special excluded table, that appears to work (unlike the original version) e. g. when an integer is inserted as JSONB.
/**
 * Knex Postgres INSERT or UPDATE
 * @param {string} table - table name
 * @param {Object} keys - constraint key/value object (insert)
 * @param {Object} payload - row data values (insert and/or update)
 * @returns {Promise} - knex raw response
 */
async function insertOrUpdateQuery(table, keys, payload) {
  const update = Object.keys(payload)
    .map(key => knex.raw("?? = EXCLUDED.??", [key, key]))
    .join(", ")

  const constraint = Object.keys(keys)
    .map(key => knex.raw("??", key))
    .join(", ")

  const sql = `? ON CONFLICT (${constraint})
               DO ${(update && `UPDATE SET ${update}`) || "NOTHING"};`
  return knex.raw(sql, [
    knex
      .insert({
        ...keys,
        ...payload,
      })
      .into(table),
  ])
}

@leventov do you happen to have an example of how one might use your function? Having difficulties using it here. Thanks in advance!

@NathanJPhillips it´s possible to make similar code with "batchInsert"?

Here a quick example about how to insert batch data or update few fields.
const query = `${knex('users')
      .insert(users)
      .toQuery()} ON CONFLICT (email) DO UPDATE SET active = EXCLUDED.active, name = EXCLUDED.name;`;

knex.raw(query);

@NathanJPhillips it´s possible to make similar code with "batchInsert"?

Here a quick example about how to insert batch data or update few fields.
const { knex } = require('../../config/db');
const { error } = require('../../helpers/logger');

const batchUpsert = async (users) => {
  try {
    const query = `${knex('users')
      .insert(users)
      .toQuery()} ON CONFLICT (email) DO UPDATE SET active = EXCLUDED.active, name = EXCLUDED.name;`;

    await knex.raw(query);
  } catch (err) {
    error(err);
  }
};

module.exports = {
  upsertBatch,
};

Knew has now a built in support for this, no more query concats 🎉

I know @felixmosh , but unfortunately, it didn't work.

@ivoneijr Could you please share more details, what exactly is not working?

@ivoneijr, if it is .onConflict('column').merge(), it is probably the version of knex

@kibertoad @jardelgoncalves I tried to use .onConflict('colum').merge() on postgres 13, knex version "knex": "^0.21.1" and it just didn't work.

@ivoneijr Please try version ^0.21.14, and if that still doesn't work, please share the code you are using and the error that you are getting.

@kibertoad version 0.21.14 working perfectly. Thks.
Sorry about that.

let url = new URL('https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest')
url.search = new URLSearchParams({start:1, limit:100, convert:'USD'})
let response = await fetch(url, {headers:{'X-CMC_PRO_API_KEY':'xxxxxxxxxxxxxxxxxxxx'}})
let data = await response.json()
let coins = data.data.map(coin => {
return {
'id' : coin.id,
'symbol' : coin.symbol,
'name' : coin.name,
'slug' : coin.slug,
'ranking': coin.cmc_rank,
'price': coin.quote.USD.price,
'volume24h': coin.quote.USD.volume_24h,
'change1h': coin.quote.USD.percent_change_1h,
'change24h': coin.quote.USD.percent_change_24h,
'change7d': coin.quote.USD.percent_change_7d,
'marketCap': coin.quote.USD.market_cap,
}
})
let columns = Object.keys(coins[0]).join(',')
let values = coins.reduce((acc, current) => {
let values = Object.values(current).map(x => '${x}').join(',')
return acc + (${values}),
}, '')
values = values.slice(0,-1)
knex.raw(    INSERT INTO coins (${columns})     VALUES ${values} ON DUPLICATE KEY UPDATE      name=VALUES(name),     slug=VALUES(slug),     ranking=VALUES(ranking),     price=VALUES(price),     volume24h=VALUES(volume24h),     change1h=VALUES(change1h),     change24h=VALUES(change24h),     change7d=VALUES(change7d),     marketCap=VALUES(marketCap)  )
.catch((err) => {
console.log('UPSERT error:', err.message);
})
.then(() => console.log('UPSERT done'))

@samhess Or use my small util https://github.com/felixmosh/knex-on-duplicate-update#readme which does something similar :)

I've inspired by @NathanJPhillips and created the Gist for PostgresQL - https://gist.github.com/Kostanos/2c12029a3d917d26c2333463016a62bc

Knex already supports .onConflict() https://knexjs.org/#Builder-onConflict


Introduce publish package pipeline

Description
Introduce package build and publish pipeline. At this stage, publishing is made only to the internal NPM registry.
Related Issue(s)

Checklist

[x] I have read the contribution guidelines
[ ] Suitable unit/system level tests have been added and they pass
[ ] Documentation has been updated

[ ] Upgrade instructions
[ ] Configuration details
[ ] Concepts

[ ] Changes flowforge.yml?

[ ] Issue/PR raised on flowforge/helm to update ConfigMap Template
[ ] Issue/PR raised on flowforge/CloudProject to update values for Staging/Production

Labels

[ ] Backport needed? -> add the backport label
[ ] Includes a DB migration? -> add the area:migration label

Once this is merged we will need to also update the release action to publish full releases to the private repo as well

@joepavitt do we expect these tests to fail at the moment?

Nope

Once this is merged we will need to also update the release action to publish full releases to the private repo as well
https://github.com/flowforge/flowforge-nr-dashboard/blob/main/.github/workflows/publish-release.yml

Change available here.

Not sure why this has triggered those tests to fail, need to investigate

Tests fixed in #146 but I also would like to rename this a little better, as we do already have a Publish & Release workflow for publishing the to public repository.
If I understand correctly, a more appropriate name for this workflow would be publish-ff-private or something like that? Do we also need to update the flowforge usage here too, since the rebrand?

The name of the workflow has been updated.

Do we also need to update the flowforge usage here too, since the rebrand?

flowfroge reference in the workflow is the name of the GitHub organisation. We will update it everywhere once we rename it.

Apart from that dashboard content appears to have snuck in here as well, is this good to merge now?

Maybe let's merge #146 first.

My reasoning for wanting to split the workflows is because of this:

We now have these workflows labelled accordingly running for every PR, but the labelling doesn't reflect what is actually happening.
Here, it's just running the build and test. In another instance, where we are pushing/merging to main, then that labelling is appropriate.


x/website:

Thank you in advance!

What version of Go are you using (go version)?
Not applicable.
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
Fedora 31 on amd64
What did you do?
I tried to copy the link from here; specifically, where it says "Download the archive and extract it into /usr/local, creating a Go tree in /usr/local/go". The "Download the archive" portion is a hyperlink to the Go tarball.
What did you expect to see?
I expected for the hyperlink to be "https://dl.google.com/go/go1.13.8.linux-amd64.tar.gz" instead of "https://golang.org/dl/".
What did you see instead?
The "Download the archive" hyperlink resolves to "https://golang.org/dl/" and not "https://dl.google.com/go/go1.13.8.linux-amd64.tar.gz".

Hi,
well, the link on "Download the archive" points to the generic dl page because pointing to the linux/amd64 archive would be wrong for anyone not running linux on amd64, right? I'm not sure why you'd expect the link to point to the linux/amd64 archive. Have I misunderstood your report?

Hi - You know what? I was totally off base here. You are correct. My apologies.
For some reason, I had though in the past that the installation instructions used the Linux amd64 link as an example.
I apologize :). I can either close this or the team can.

No problem and thanks for following up. Closing.


Add Processing Condition labels

Signed-off-by: Carlo Lobrano<EMAIL_ADDRESS>

/lgtm
/hold
Nit: maybe also add nhc TimeOut Annotation ("remediation.medik8s.io/nhc-timed-out")

/lgtm

missed this. Why are the condition types in labels.go? 🤔 @clobrano

I think I considered labels.go as a place for strings, but after this simple question it's clearly the wrong place :facepalm:
What could be a good name for the right package?
status_conditions.go maybe?

just conditions.go would be fine IMHO, they are always in the status


SIMD vectorization failure when accumulating in an array element

On the current master, the when one accumulates in an array element SIMD vectorization fails:
import llvmlite.binding as llvm
import numpy as np

from numba import njit
from tools.native_cfg import patch_numba

patch_numba()
llvm.set_option('', '--debug-only=loop-vectorize')

@njit(fastmath=True)
def test_numba_itemset(arr, out):
    for i in range(arr.size):
        out[()] += arr[i]

test_arr = np.arange(100)
out = np.array(0, test_arr.dtype)

test_numba_itemset(test_arr, out)

# test_numba_itemset.inspect_cfg(
#     test_numba_itemset.signatures[0]).display(view=True)
test_numba_itemset.inspect_asm_cfg(
    test_numba_itemset.signatures[0]).display(view=True)

Output:
LV: Checking a loop in "_ZN8__main__22test_numba_itemset$241E5ArrayIiLi1E1C7mutable7alignedE5ArrayIiLi0E1C7mutable7alignedE" from test_numba_itemsetmset
LV: Loop hints: force=? width=0 unroll=0
LV: Found a loop: B14
LV: Found an unidentified PHI.  %.223 = phi i32 [ %.267, %B14 ], [ %.223.pre, %B14.preheader ]
LV: Can't vectorize the instructions or CFG
LV: Not vectorizing: Cannot prove legality.

LV: Checking a loop in "_ZN7cpython8__main__22test_numba_itemset$241E5ArrayIiLi1E1C7mutable7alignedE5ArrayIiLi0E1C7mutable7alignedE" from test_numba_itemset
LV: Loop hints: force=? width=0 unroll=0
LV: Found a loop: B14.i
LV: Found an unidentified PHI.  %.223.i = phi i32 [ %.267.i, %B14.i ], [ %.223.pre.i, %B14.preheader.i ]
LV: Can't vectorize the instructions or CFG
LV: Not vectorizing: Cannot prove legality.

CFG.pdf
Assembly CFG.pdf
Same problem with:

0d array and out.itemset(out[()] + arr[i]).
1d array and out[0] += arr[i]
1d array and out.itemset(out[0] + arr[i])

No problem occurs if the accumulator is a variable on the stack. (Like the variable c in the example below.)

Note: The example above mixes read and write access to array items in the line out[()] += arr[i]. If one removes the read access completely, the problem persists. Example code:
@njit(fastmath=True)
def test_numba_itemset(arr, out):
    c = 0
    for i in range(arr.size):
        out[()] = c + arr[i]
        c = c + arr[i]

Never mind. I just checked with clang  and gcc. Neither support SIMD vectorization directly in an array element.
ICC does support this btw.

interesting


Update Scoverage to latest version

Current coverage is 92.91%

Merging #417 into master will decrease coverage by -1.15% as of e604699

Powered by Codecov. Updated on successful CI builds.

Thanks @rpless!
Any thoughts why codecov keeps reporting a decreased coverage?

@vkostyukov This is really weird. Seems like Travis stopped building merge commits to master about 2 months ago, so the master branch coverage is out of date. I can look into it further this weekend.

Merging this. Thanks @rpless!


perf(docs): if i is the same as j, execute continue

according to my idea, the current changes will not cause badcase, which is in line with expectations,
and can reduce invalid assignments.🥰
@golamrabbiazad

will you give an example of how this can reduce invalid assignments?

will you give an example of how this can reduce invalid assignments?

        const demoArray = [2,5,6,7,3098];
        [demoArray[3],demoArray[3]] = [demoArray[3],demoArray[3]];
        console.log(demoArray);

if i ==j ,array not change,we don't need to assign

Yes, it doesn't for your example case but that is different from what I'm saying.
So, the shuffleArray function should return shuffle values for each function call, there are no static things in the sense.
idx I'm getting based on the array and randIdx I'm getting from randomize value and it is bound to the array. These values are changing dynamically.
shuffleArray example, if you could run it, hope you understand that array is shuffled.
Thanks

@mhevery cc ❤

@adamdbradley cc

@manucorporat I don't understand why you both ignored me. I'm so sad...

Thanks for the PR @LockingReal !
Can you fix the conflicts please? That way I could merge
Thanks 🙏

done~

Thanks for the PR @LockingReal !
Can you fix the conflicts please? That way I could merge
Thanks 🙏

done~

Thanks for the PR @LockingReal !
Can you fix the conflicts please? That way I could merge
Thanks 🙏

There should be no problem ~ 😁


Fix up Security samples

#7765 None of these samples have been working since InProcess became the default model. This mitigates the issue until we can come up with a standard solution.

How long have the samples not been working? Was this due to us taking in a new websdk?
Anyways, can we just fix samples everywhere with this PR?

Not sure on the timing, I only noticed it this week when updating them.
This is only a mitigation for samples I commonly use during development, I'm not pushing it to all samples. #7765 covers the real fix for all samples.


RH submissions can be old hunts before RH moved.

Need to check timestamp and compare to current time.
If current time is after reset, and the timestamp is before reset, ignore.

.journal_markup["0"].render_data.entry_timestamp

added a check in 1.12.25


(GH41) When puppetdb is false, do not manage puppetdb at all

Update README.markdown with the proper puppetdb-related variable names.
If puppetdb is false, do not manage puppetdb-termini.
Update rspec tests.

Fixes #41

Thanks!  I'll try to get this moved over and cut a release on it tomorrow - there's a few other things I need to address.  The module will become jlambert121/puppet.


The proximity_alert_triggered is required for ProximityAlertTriggered message

Now parameter proximity_alert_triggered is optional.
https://github.com/KnorpelSenf/typegram/blob/master/message.d.ts#L178
Because of this, it is not possible to exclude ProximityAlertTriggeredMessage from the union Message type. It will always be never.

Thanks. Will take care of it later today.

Thanks. Will take care of it later today.


Ads are not showing up with Original adUnit ID's

I am getting error message as error loading 0 with original adUnit ID's. But with test adUnit ID's ads are showing up perfectly. I have created adUnit ID's more than 48hours ago.
Any help would be highly appreciated
Regards
Vishnu

Same issue, even after publishing an alpha version the app doesn't display any ads, there are ad requests being send to admob though. 🤔

Test ads id works quite well (small laggy when loading) but the ads does not show with real id. I created ad id some weeks ago, I also tried to delete an ads id then re-created, no luck.

I have that same problem. I was using a different plug-in before. There was no problem. It shows test ads with test unit Id, but it does not appear when published on google play with real unit id.

@hkndzdr is it working now?

@hkndzdr is it working now?

No, It doesn't work.

Issue you have is not related to this plugin. For new apps it is OK to receive first real ad in up to 2 weeks. For old apps try to check Ad unit type, Native ad is required. In general plugin works as expected.

My application was showing ads with the admob_flutter package. It has also been on google play for 6 months. Of course it's about the plugin. It has nothing to do with what you say.

I have doubts that it is plugin issue, since in my case it works as expected.
It is not correct to directly compare this plugin to admob_flutter since it used to display different ad unit type - "Native advanced", but  not "Banner"  as admob_flutter. If you think you have configured everything correctly, just wait a couple of days.

I have this problem too. Although TestId is running smoothly, ads are not running in my app published on Google Play.
How can I solve it or will I have to wait a few days?

i had a problem with admob recently too; and i found the problem cause was the keystore in the app and the signing configurations;
real ads didn't show when using a recently created keystore;
also didn't show if i don't provide Sha1 of the keystore (old-one) to firebase;

I am facing the same issue Test ads id works quite well but the ads does not show with real id. I created ad id a few days ago, here is the error code showing.

I had to update my payment info on Admob and it started working.

I had to update my payment info on Admob and it started working.

But it's my old account.

That issue is clearly shown here how to solve admob failed to load ads

Did anyone find a solution to this