Generated memes do not appear in iOS app

Everything is in the title, just did a fresh install (Mattermost & mattermost-plugin-memes) works like a charm on desktop & web, but I get blank posts from the mobile version.

Do you see any errors in the server logs?

Nope, I haven't got anything, unless there is a config to change to see mattermost-plugin-memes's logs

I'm seeing the same problem on Android Mattermost. Memes with standard text appear fine, but if there's custom text it does not show any meme at all. Nothing in the logs unless you use a single quote in the text, then logs say "Unterminated single-quoted string"
Works perfectly on desktop and web.

Seeing the same problem. Memes show up in Web and in Desktop Client, but not in IOS (stable and beta) and Android clients..

Here too…

Hi @shazm, thanks for digging into this!
I tried the command /meme ancient-aliens "Aliens man!", a variation with several arguments /meme ancient-aliens "Aliens" "man!" and without argument /meme ancient-aliens.
In each case, both sent from mobile (android) or web :

the command doesn't fail (no error message, no server log, the message is sent)
On web, the meme shows correctly with the good text
On Android, there is an "empty" message, without any text or image showing, just a small empty space.

Hope it helps!

This bug exists on both iOS and Android.

This bug exists now for two years?

I think I've found the issue...
The full story
After a somewhat short debugging session I discovered that this plugin is sending the images as markdown.
First I though that it might be due to multiple domains on the same server (havn't ruled that one out yet), but if I manually send a message with markdown, that's supposed to display an image, it doesn't work in the mobile-app, but works fine on desktop (web and app).
And it is not due too total lack of markdown support in the mobile-app, because headers, list and hightlighting works, just images that's not working.
Don't know if this means that we have to submit the bug elsewhere....

Sorry, anyone try this? Is issue fixed?


Remove deprecated API for 1.107

Fixes https://github.com/CesiumGS/cesium/issues/11195
Fixes https://github.com/CesiumGS/cesium/issues/11259
Fixes https://github.com/CesiumGS/cesium/issues/11375
Removes deprecated APIs and cleanup corresponding specs in preparation for the 1.107 release.
TODO:

[x] Fix I3SDataProvider and related specs
[x] Fix TS errors
[x] Merge main

Thanks for the pull request @ggetz!

:heavy_check_mark: Signed CLA found.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

For the most part, this was a pretty wrote find & remove/replace. There were some updates needed to unit tests in order to ensure everything was up to date with the newer APIs. In particular, I3S specs needed some significant cleanup due to tightly coupled specs. I removed a few specs which were really testing mocks more than the actual classes.
@jjhembd I think this is ready for review.

Thanks @jjhembd!


Using IP

JTAG currently uses Synopsys IP for the TAP state machine. I can't put this IP in the repo, so any test that uses JTAG will fail on Travis (it will basically fail when it runs on anything other than kiwi). Previously, our workaround for this was that our Travis tests didn't use JTAG or the global controller at all. This obviously was not a good solution, but I'm not sure what is the best way around this. Any ideas?

I completely agree. We need to handle both cases in the long run. That would be cool!


Please set SOVERSION

Please consider to set the SOVERSION when generating a shared object.
In the patch provided in this PR the project mayor version number has bee used.
Of course the SOVERSION should be updated in future releases to ensure that ABI changes do not break the backward compatibility.

Thanks @tmaurer3


Is it possible to get pandoc 2.3?

Issue:
The newest pandoc release is 2.3 (see https://pandoc.org/releases.html), the latest on conda-forge is 2.2.2 (see https://anaconda.org/conda-forge/pandoc).
Normally the update happens automatically with a bot (e.g. https://github.com/conda-forge/pandoc-feedstock/pull/38) but this time it didn't.
Pandoc 2.2.3 isn't on conda-forge either, BTW.

@ocefpaf Thanks for the quick update!


command not working

cdv coinrecords --by id e16dbc782f500aa24891886779067792b3305cff8b873ae1e77273ad0b7e6c05
The following code (directly copied from the documentation) does not run (cdv version 1.0.2)

I forgot to put RPC in front of it.  This should be fixed in the newest commit and release thank you!


('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)") #717

Environment
To diagnose, we usually need to know the following, including version numbers.  On Windows, be
sure to specify 32-bit Python or 64-bit:

Python:  3.6.3
pyodbc: 4.0.30
OS: Debian Buster 10.2 (docker image FROM Debian:10.2)
DB:
driver:

Issue
Unnable to connect (unable to open lib ODBC driver 17 for SQL Server"
please help.

Please check:
https://github.com/mkleehammer/pyodbc/issues/878
https://github.com/mkleehammer/pyodbc/issues/775
https://github.com/mkleehammer/pyodbc/issues/717

HI,
it looks like issue on MS side
https://github.com/MicrosoftDocs/sql-docs/issues/6494, most probably you
can close the ticket
st 16. 6. 2021 v 22:58 odesílatel v-chojas @.***>
napsal:

Please check:
#878 https://github.com/mkleehammer/pyodbc/issues/878
#775 https://github.com/mkleehammer/pyodbc/issues/775
#717 https://github.com/mkleehammer/pyodbc/issues/717
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mkleehammer/pyodbc/issues/914#issuecomment-862721732,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDANUXYKYC2KFWE2AMWBLTTTEF6RANCNFSM462HT2CQ
.


Failed to update endpoint cert-manager/cert-manager-webhook

I have a MicroK8s 1.24 single Node installation, cert-manager(1.8.2) deployed via helm3.
deploy my ClusterIssuer:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-staging
spec:
  acme:
    email<EMAIL_ADDRESS>    solvers:
    - selector: {}
      http01:
        ingress:
          class: public # ingress class is called public in MicroK8s, not nginx
                         # https://github.com/cert-manager/cert-manager/issues/2842
    privateKeySecretRef:
      name: letsencrypt-staging
    server: https://acme-staging-v02.api.letsencrypt.org/directory
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    email<EMAIL_ADDRESS>    solvers:
    - selector: {}
      http01:
        ingress:
          class: public # ingress class is called public in MicroK8s, not nginx
                         # https://github.com/cert-manager/cert-manager/issues/2842
    privateKeySecretRef:
      name: letsencrypt-prod
    server: https://acme-v02.api.letsencrypt.org/directory

Then i deploy nextcloud with the following ingress:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nextcloud-ingress
  namespace: nextcloud
  annotations:
    kubernetes.io/ingress.class: "nginx"
    cert-manager.io/cluster-issuer: "letsencrypt-prod"

spec:
  tls:
  - hosts:
    - cloud.domain.tld
    secretName: nextcloud-secret
  rules:
  - host: cloud.domain.tld
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: nextcloud-server
            port:
              number: 80

All thems to be good and i get a certificate:
kubectl get certificate -n nextcloud
NAME               READY   SECRET             AGE
nextcloud-secret   True    nextcloud-secret   145m

But i cant reach my nextcloud and get a 404 error.
and this message:
cert-manager   5m15s       Warning   FailedToUpdateEndpoint   endpoints/cert-manager-webhook                  Failed to update endpoint cert-manager/cert-manager-webhook: Operation cannot be fulfilled on endpoints "cert-manager-webhook": the object has been modified; please apply your changes to the latest version and try again
if more information is needed to find the reason of the problem please tell me.

I have the same issue,maybe annotations:kubernetes.io/ingress.class: "nginx" is not work.


Bug: Following a Deep link sometimes persists and happens repeatedly after that app launch

Describe the bug
This was seen on Android, not sure if it's reproducible on iOS
Followed a conversation DM link
Connected with the user
Closed the app and reopened
The app still attempted to follow the previous DM Link
Expected behavior
No response
Steps to reproduce the bug
No response

@alexrisch

Connected with the user

What does this mean?

@technoplato

@alexrisch

Connected with the user

What does this mean?
Sent the initial Wave message to the user

Android not working right now with push notifications - this is blocked as per our conversation on Mon, Dec 9 @ 5pm EST


upload stream has error

Hello, I had a problem uploading the stream
Stream<List<int>>? data=...;

final uno.Response response = await _client.post(path,
    data:
        await data?.fold<List<int>>(<int>[], (List<int> previous, List<int> element) => previous..addAll(element)),
    headers: _getHeader(options),
    responseType: ResponseType.stream,
    onDownloadProgress: onSendProgress);

error
Status 400

The code 400 refers to a Bad Request. Check if your 'post' method is sending your data correctly as your API demands.
If it's right, then please reopen the issue and give more details of what is expected.
Also, there's a double dot in your method addAll
 previous..addAll(element)),


[Feature Request] Display the Inactive Group Bookmarks Labels at end of line

Proposal
It would be great if the labels for inactive groups still show (maybe faded). I use the bookmarks as labels for the different sections of my code, but if they are not the active group, those labels don't show.
Why It's Needed
So, if I'm editing a LaTex file, I have a bookmark group for the different sections, and subsections. And then I have a bookmark group for TODOs. If the TODO bookmark group is active, the labels for the sections disappear.
Would there be a way to either have more than one group active, or allow inactive bookmark labels to still show?

There is a lot of stuff parking in a dev branch, once I have that sorted out, I'll come back to this.
Showing (the fainter version of) inactive group labels sounds OK, Multiple active groups are currently architecturally unfeasible.


Missing Optional::orElseThrow() from JDK 10

orElseThrow(Supplier) is present but the no-parameter method is missing.

Optional::isEmpty() is also missing (from JDK 11)


Supervised Learning question & numpy issue

Hello,
First, I wanted to point out that the current version of numpy (1.12.0) raises the following issue when using your code: https://github.com/rbgirshick/py-faster-rcnn/issues/481. I used numpy 1.11.0 for the time being.
For my application, I would like to test your implementation of HSMM, however I have a supervised classification problem. Does your code also contain methods for supervised training?

Thanks for letting us know about the float index issue! Can you tell us what line it happens on and/or provide an example that causes the error?
For supervised training, it depends on what your supervised training objective is and what optimization algorithm you intend to use. If you can set up your problem so that all you need from the HSMM part is to be able to draw samples or compute some particular expectations and not differentiate through those computations, then you can probably use parts of this library. If you want to differentiate an HSMM log likelihood then this the E-step code in this library can also help, though it's a bit tricky to set up. However, this library doesn't support differentiating through the expected sufficient statistics or sampling procedures.

Actually, the numpy error seems to come from pybasicbayes (line 224 in sample_invwishart: x = np.random.randn(nu,n)).
My problem is a segmentation/classification task. I basically hope to infer aircraft configuration (flaps and gears setting) from positional data. Put differently I have events described by z(t), v(t) and I want to figure out flaps (=1,2,3,4) and gears (=0,1) settings per timestep.
I tried experimenting with scikit-learn, considering each timestep as independent event. However I do think the dynamics are important and I need to consider sequences. This is because 1) I can have significant noise (wind, sideslip, atmosphere) and 2) because my observational variables do not lead to separable classification outputs (e.g. the same height and velocity can be achieved in different flap settings if the angle of attack, unknown to me, is changed). This is what lead me to H(S)MMs, hoping that considering sequences could improve my results.


tests: fix DebugApiService tests

Issue
N/A
Description
Fix 2 unit tests:

debug-api.service => init ngIfMatchInterceptor with a fake getLastEtag method
api-list.component => the way icons are displayed has changed and the is no longer some text in the html table. We now check the existence of the right MatIcon.

🚀 CI was able to deploy the build of this PR, so you can now try it directly here
Notes: The deployed app is linked to the management API of APIM master. (Same login and password as APIM master)

📚  View the storybook of this branch here

Merging as it because failing tests will be fixed by https://github.com/gravitee-io/gravitee-api-management/pull/2807


Consider removing auto-slug functionality from app entirely

Leave the slug field present, and unique, but push the "autoslugging" out.

The last release revealed how fragile dependencies on specific model definitions are, especially those outside of your control, w/r/t to Django migrations.
The predecessor to db.migrations, South, was a lot "dumber" but it didn't track every single little detail, like the differentiation between the values in the populate_from field. The non-database related changes that are tracked have been a pain in the tucchus here.
It is only a consideration, but one posted here for public consumption.


Bnb chain

This PR adds support for BNB chain pools, and adds the vaBNB pool and the vaBUSD pool.
It also upgrades veWBTC-DAI pool to v5, otherwise the tests wouldn't pass.
Metrics
Actual effort: 3h

@leanazulyoro let's fix this and remember to push the tag (git push --tags):

Fixed and tag pushed: https://github.com/vesperfi/metadata/tree/v2.83.0


[ci] Use DotNetCoreCLI to sign macOS files

We've been having issues with the signing steps that run doing the macOS
build.  Migration to a new post-build workflow is in progress, however
this will hopefully fix things more quickly and be safer to backport.

Test run is here - https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9867896&view=logs&j=96fd57f5-f69e-53c7-3d47-f67e6cf9b93e&t=03623c90-56c3-5072-0b1e-47001de6cb90, looks like we've made it further than recent builds on main. Looking to rework this a bit in https://github.com/dotnet/android/pull/9091 as well but this should be safer to backport as needed if it works.

This doesn't crash, but it's timed out twice now so I guess it doesn't really work either...

Looks like we got a successful run with CodeQL explicitly disabled. Not yet sure if signing services are running better this week or the CodeQL changes sped things up, but I've moved those changes into https://github.com/dotnet/android/pull/9111.
I think this should be good to go to at least fix our mono MSBuild crash in signing.


UIKitz reimagined

Taking a different approach with this library, must update the docs and tests to reflect that

Hi,
What type of docs update is needed ? I will try to contribute.

I already forgot 😅

I already forgot 😅

@Mazyod Great 👍🏼 regarding Appz I really wish to review and test each app with its actions because I feel that some actions are deprecated or need to be updated. But the problem is I totally forgot from where I found all those actions. Days ago I searched and I didn’t find the links which I used before.
Sent with GitHawk

It’s ok, if a user faces issues, we’ll find out
(Githawk is amazing btw!)
Sent with GitHawk


Can't open launch.json

Issue Type: Bug
1.Click on the gear
2.Ctrl + Shift + p
3.Click the options
None of the above is valid
VS Code version: Code 1.32.3 (a3db5be9b5c6ba46bb7555ec5d60178ecc2eaae4, 2019-03-14T23:43:35.476Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (12 x 3192)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.93GB (10.14GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

vscode-language-pack-zh-hans
MS-
1.32.4

Please give more details. I don't understand what the problem is.

I click the gear button and the profile should pop up but nothing happened,my debug profile doesn't open.I reinstalled vscode, but the problem still exists.

I have no clue what you are saying.

Can you reproduce with vscode insiders https://code.visualstudio.com/insiders/
If yes please attach a .gif video showing the problem
Write nice reproducable steps

1.Vscode insiders is ok!
2.That's it,

3.I don't know the steps

If vscode insiders is ok than that means this is fixed. So closing


PlanWorkspacePath detects collision error only when the whole method …

…terminates with an error.

@mkoval  I think this will fix the issue you mentioned. Now it runs FindIKSolutions only when it's about to raise error for the whole plan.

Thanks!


luci-app-attendedsysupgrade: use versioned endpoints

The unversioned endpoint /api/overview has been removed from ASU which breaks the request when searching for an available sysupgrade if the device is on a stable release. In the case where the unversioned endpoint is added back to prevent this regression in 23.05.3 and earlier (so upgrade is once again possible) we should anyway rely on the versioned endpoints as those replace the unversioned ones.
Ref: https://github.com/openwrt/asu/issues/896

[X] This PR is not from my main or master branch :poop:, but a separate branch :white_check_mark:
[X] Each commit has a valid :black_nib: Signed-off-by<EMAIL_ADDRESS>row (via git commit --signoff)
[X] Each commit and PR title has a valid :memo: <package name>: title first line subject for packages
[X] Incremented :up: any PKG_VERSION in the Makefile
[X] Tested on: (architecture, openwrt version, browser) :white_check_mark:

x86/64, 23.05.3, Firefox -> upgraded to 23.05.4 successfully
x86/64, SNAPSHOT r26870-4a2f712f85, Firefox -> upgraded to SNAPSHOT r26971-66177c081f successfully

[X] ( Preferred ) Mention: @ the original code author for feedback @aparcar
[ ] ( Preferred ) Screenshot or mp4 of changes:
[ ] ( Optional ) Closes: e.g. openwrt/luci#issue-number
[ ] ( Optional ) Depends on: e.g. openwrt/packages#pr-number in sister repo
[X] Description: (describe the changes proposed in this PR)

@dannil thanks for the PR.
regardless of whether this PR is merged, are you planing to add the old endpoint back to the server?
if not i guess users could update their luci-app-attendedsysupgrade package, the do the upgrade. but this breaks ASU in various ways. some people maintain routers that do not have internet connection yet used to be easily upgraded via luci-app-attendedsysupgrade (which requires access to the internet on the browser, not in the router). users who are using older snapshots may not be able to upgrade the luci asu package, though i am less clear on that one.
in any case, the endpoint change breaks the ASU premise and workflow. IMHO it would be a good thing to restore it.

regardless of whether this PR is merged, are you planing to add the old endpoint back to the server?

Good question! I'm waiting to hear back from @aparcar in https://github.com/openwrt/asu/issues/896, I've never contributed to ASU itself but adding back the old endpoint (doesn't have to be an endpoint on the API but instead a 301 Redirect to /api/v1/overview) seems to me the only proper solution, since we obviously won't be able to backport this to already running systems, so the fix needs to be server side on ASU.

A redirect was added for /api/overview -> json/v1/overview.json in https://github.com/openwrt/asu/issues/896#issuecomment-2241326073 so the regression for already running system is fixed.

versioning API endpoints is almost a must. The other issue is resolved, does that mean this can go in as-is?

versioning API endpoints is almost a must. The other issue is resolved, does that mean this can go in as-is?

Yes, it should be fine to merge this.

Merged. Thanks @dannil


Modal is undefined in dom

As in title in my DOM tree modal displays as <undefined></undefined>.
I can't also pass id prop, it's undefined too.
One more problem with modal is I can't open 2 at the same time it makes them buggy.
Same problem on your page https://ajainvivek.github.io/preact-fluid/#modal

Hi @sabeq96 , did you solve this?


Please add @Generated("gradle-buildconfig-plugin")

The generated class could be annotated with @Generated.
Tools such as errorprone can be configured to ignore generated classes.

@sdavids Can do. But @Generated has @Retention(value=SOURCE), and I compile the buildconfig class and THEN add it as library/dependency. So the annotation no longer exists.

errorprone "replaces" javac therefore "your" compilation also goes through errorprone.

plugins {   id 'net.ltgt.errorprone' version '0.0.11' }
apply plugin: 'net.ltgt.errorprone'


The neomake eslint experience

The issue
This post is meant as constructive criticism, because the out of the box experience for the uninitiated JS developer is pretty rough. Keep in mind that ALE just works, and so does Visual Studio Code with the eslint plugin.

Install neomake by e.g., adding it to the plugin list.,
Open .js file and run :Neomake -> Nothing happens. This is going to be the first hurdle since I assume people will have to first figure out that they can run :NeomakeInfo. But this is also out of scope for the eslint specific isssues, so moving on.
:NeomakeInfo shows

   - WARNINGS:
     - maker's exe (eslint) is not executable.

Somehow the users now needs to understand that neomake assumes linters to be available globally because in many (most?) languages that's how it works. But we absolutely need the local eslint because a global eslint is pretty much useless (plugin version mismatch).
The https://github.com/neomake/neomake/issues/247 issue is lengthy with vastly different solutions. Let's assume that the user does something like the below so things just work for now.

let b:eslint_exe = substitute(system('npm bin') ,'\n', '', 'g') . '/eslint'

let b:neomake_eslint_exe = b:eslint_exe

Open .js file again, run :Neomake and see too many errors. The cwd is now set to the folder of the current file and at least in our codebase at work this breaks absolute imports like import Foo from 'components/Foo' which use the webpack and eslint resolve plugin and which works in ALE and VSC.
Empowered by the prior success of setting exe the user might now try to do the same with cwd but as far as I can see from :h neomake that's not actually possible because it's not part of the maker properties that can be set.
Try to just set the entire maker as an object, realize that you now need to copy & paste the error format and args from the maker source file from the neomake repo. (which does work)

What could help
I do understand that not everyone is a JS dev and that eslint is a bit of a special snowflake. But I really like neomake and I'd love to make it easier for JS devs. What would help is a FAQ entry which outlines the issue (neomake uses global binaries) and proposes a solution (with a link to an issue where people can find more help) which ideally doesn't require additional vimscript files and functions. I also think that cwd should be easier to override or that the object/record way of creating makers can somehow be merged into the defaults for that maker rather than overriding it entirely.
Thanks for neomake 🍬 🎊

i agree with this, i have a bunch of boilerplate that sets up eslint to run using npx in the cwd (so it will download and use a temporary global version if 1) local version not available, 2) global version not available)
you can check it out here https://github.com/davidosomething/dotfiles/blob/dev/vim/autoload/dko/neomake/javascript.vim
i'll try to port these changes in at some point, but given this if you want to give it a shot go for it!

Thanks for the issue and the clear outline.
Some quick response already:
In general the best fix is to make custom linters available on your $PATH, i.e. from node_modules/.bin.
But I also agree that it could be either made easier to do this automatically (there are helpers for finding the project root already for example), and that documentation could be improved in this regard.

If I find some time I'll try to improve the documentation!

@blueyed I wanted to tackle this issue and wanted to first look at the $PATH option. I prepended ./node_modules/.bin/ to my $PATH in fish. If I navigate to a JS project and do which eslint it correctly shows me the local path. If I open a JS file inside that project and do NeomakeInfo it shows the correct path when determining the eslint version. Yet running :Neomake or :Neomake eslint tells me it can't find the eslint executable. :thinking:

This issue should have actually resolved itself with ESLint 6. ESLint now resolves plugins and configs relative to the project. So at least in my case I can run a globally installed eslint on our project at work which has a lot of custom stuff and It Just Works. That also means that neomake should be free to use the global eslint https://eslint.org/docs/user-guide/migrating-to-6.0.0#package-loading-simplification

@cideM thanks for the update, closing then.

Just one final comment, since the cwd issue remains (I don't actually know why eslint has cwd set to %:p:h per default): I'm currently getting around the limitation with this in after/ftplugin/javascript.vim
let eslint = neomake#makers#ft#javascript#eslint()
call remove(eslint, 'cwd')
let eslint.exe = 'eslint'
let g:neomake_javascript_eslintcustom_maker = eslint

This will re-use the existing maker and just remove the cwd property from it. In my case I'm then defining it as a new maker, which now uses the globally installed eslint.


Not working with DevTools (server side)

I'm using node --inspect-brk and chrome://inspect to debug the server side rendering (Using Webpack, React and Redux stack) but sure enough it says window object doesn't exist. maybe it should try installing those in global instead for it to work.

Yes, verified, it works if it uses global instead of window for that case.

Any update on getting this merged in? :)


Error:Adding Azure Key Vault to the project failed: Key Vault and App Service belongs to different subscriptions

I've attempted to add a key vault to my ASP.NET Core MVC application several times and repeatedly get the error:
Error:Adding Azure Key Vault to the project failed: Key Vault and App Service belongs to different subscriptions
I've confirmed the app service and key vault do indeed exist in the same resource group and region and subscription. Are we missing a step?

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

ID: ead83747-c629-e979-f0c5-5e4ba7eab154
Version Independent ID: 792525b0-b7ad-aa7b-5425-cbd9dcfc3844
Content: Add Key Vault support to your ASP.NET project using Visual Studio
Content Source: articles/key-vault/vs-key-vault-add-connected-service.md
Product: visual-studio-dev15
GitHub Login: @ghogen
Microsoft Alias: ghogen

I managed to solve this by signing out of Visual Studio with my MSFT account and signing back in with the same identity as my Azure subscription. I had added my secondary ID to Visual Studio so I could craft the project together with resources from that subscription but the main ID I was using in VS2017 was different. As soon as I signed in with the same in VS2017 as Azure it worked perfectly.
Probably worth noting as a document update on this page.

@jasonshave Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

Added a note as suggested. Thanks!
#please-close


log scale without transformation?

hi there,
This is just a "wouldn't it be nice" request - I would love it if it were possible to plot graph-like tracks on a log-scaled y-axis, rather than actually transforming the data.
Is there a way to do it in Gviz?  I could imagine transforming the data, then hacking into the y-axis labels to un-log them, but that seems like a pain.
See example plot I'll attach to show the kind of thing that would be nice.  The code I used to make that is below, although that's less relevant.
thanks again,
Janet
library(tidyverse)
library(patchwork)

dat <- data.frame(x=c(1,2,3,4),
                  y=c(1,10,100,1000) )

p1 <- dat %>%
    ggplot(aes(x=x, y=y)) +
    geom_col() +
    scale_y_log10() +
    labs(title="I like this y-axis")

p2 <- dat %>%
    ggplot(aes(x=x, y=log10(y))) +
    geom_col()  +
    labs(title="better than this one")

p1 + p2

ggsave(filename="bug_testing/gviz_logScale_request.png", height=5,width=5)


Paperclip :pageflow_filesystem_root interpolation

Previously, this interpolation would only be defined in development, test and production environments. A staging environment did not have this interpolation which would lead to an error. Changed the existing code to a switch inside the definition, so that an interpolation value always exists.
The special cases for Rails.env.test should probably move into a support file under spec.

Coverage remained the same at 99.058% when pulling 0d056707600ca51cf2c687e167acf358ab2862b6 on scrollytelling:pageflow_filesystem_root-interpolation into da119adb1e2873bb6a942c5df9e43582f325cf38 on codevise:master.

Agreed. This initializer is a mess. Moving test related things to spec/support sounds like a good idea. Some random thoughts:

Changing the default of paperclip_filesystem_root should not change much since the generated initializer probably overrides it for most applications.
Always using the config value in the interpolation is probably a good idea. But then the value set in the generator template ("tmp/attachments/production") probably also has to be changed.
The proposed change removes the filesystem directory from the path in test and development, but leaves in the s3 directory in test environment. Changing the path should not be too much of a breaking change for development setups since the filesystem paths are only used until files have been uploaded to S3. Still, it might make sense to be consistent here.
PAGEFLOW_ATTACHMENTS_SCOPE_NAME is also a bit of a strange special case. Should it also be a config option?

So far I've not faced these problems since I prefer to also run staging systems in production environment by separating behavior and credentials.

Sure, I'll work on a bigger cleanup in this area.
I don't disagree in principle with separating credentials and behaviour, and in fact this applies fully to our infrastructure. But ENV is not the safe haven for our secrets we once thought. In fact, ENV for secrets is down right dangerous.
I am tantalisingly close to launching with Pageflow 12, but need a few days to look at some weird permission errors that arose on our staging. I will relaunch it under production and see if that clears up the issues. After the launch of that I can start focusing on the changes you mentioned.

I have assigned this to 12.1 in which I want to move the test-specific stuff out of the way.
I am thinking the bigger refactoring can go into 12.2 but open to other thoughts on this subject.

Sounds fine. :+1:

Coverage remained the same at 99.169% when pulling dc206397b6124a6867a79887604180f4eef93179 on scrollytelling:pageflow_filesystem_root-interpolation into a8a53e57b8ca6003d9fc5f971bb878680264528b on codevise:master.

Coverage remained the same at 99.169% when pulling dc206397b6124a6867a79887604180f4eef93179 on scrollytelling:pageflow_filesystem_root-interpolation into a8a53e57b8ca6003d9fc5f971bb878680264528b on codevise:master.

Can this one be closed then now that there is #895?

Can this one be closed then now that there is #895?

Yes


Error In Change-log v2.1.0 Ma5onic Music

You Wrote:
"Added support for new UI. Added Ma5sonic Music."
But its supposed to be Ma5onic (you added an "s")
Also, Ma5onic Music Should be listed as a new connector.

Fixed.


remove unnecessary files for production

Q
A

Type
improvement

BC Break
no

Fixed issues
n.a.

Summary

remove useless files for production from package
configure git to automatic line endings normalized

After looking through the various Doctrine repositories, there's no clear "with" or "without" docs. Some repos exclude them, some don't. However, we've recently merged a few PRs that explicitly excluded the docs folder from exports. With that in mind, I'm ok with removing them here. Thanks for your opinions!


nestedItems in List are not indented

Problem description
I programmatically create a <List> and some <ListItem>s has nestedItems, the list is created correctly, though the nested items are not indented at all.
I guess that the problem is related on how I create the List, as I interfere with the components hierarchy that material-ui expects, is there another way to do that? or it's an issue with material-ui?
update 25/07/2016: the nestedLevel property on the ListItem components is always 0, so the marginLeft CSS property is consequently 0
Steps to reproduce
I need to create a List from an XML file that is something like this:
<navitem>
  <navitem>
    <navitem />
  </navitem>
</navitem>

So I uses a main component:
var ConfigurationNav = React.createClass({
  render: function() {
    var items = [];
    var _this = this;
    this.props.nav.find('> navitem').each(function(i) {
      items.push(<ConfigurationNavItem item={this} />);
    });

    return (
      <List>
        {items}
      </List>
    );
  }
});

and a subcomponent:
var ConfigurationNavItem = React.createClass({
  render: function() {
    var nested = [];
    for (var i=0; i<this.props.item.children.length; i++) {
      nested.push(<ConfigurationNavItem item={this.props.item.children[i]} />);
    }

    return (
      <ListItem key={this.props.item.id}
          primaryText={this.props.item.getAttribute('label')}
          nestedItems={nested}
          />
    );
  }
});

The list is created with <ConfigurationNav nav={this.state.nav}/>
Versions

Material-UI: 0.15.2
React: 15.2.1
Browser: 45.0.2 - Ubuntu

Same problem here. Have you found a solution beside giving the subelements a margin-left?

not yet, now I put aside this problem and kept the list without indent. that's pretty awful though.
I took a look at material-ui source code and probably we can hack the property nestedLevel that is used to compute the margin-left, but i didn't try yet

It seems ListItem component's nestedItems prop only accepts ListItem components for proper indentation, I believe that is the root of this issue...
It should really accept any component, as I'm wrapping my children ListItem's in container components, some of which relay on a base div to work properly.

FYI, a simple workaround for this right now is to add this prop to the parent ListItem component:
nestedListStyle={{ marginLeft: 18 }}

If you are in fact using ListItem children but need to wrap them within div components or something similar, you can also pass this prop to the children:
nestedLevel={1}

There is a bug somewhere in the code. I looked around and couldn't find exactly where this was happening, as by looking at the code it seems to be set correctly https://github.com/callemall/material-ui/blob/master/src/List/ListItem.js#L52 -- perhaps this is happening somewhere else.

I was abble to achieve this via recursive function.
const recursiveList = (node, index) => {
  const children = node.children.map(
    (node, i) => recursiveList(node, i)
  );

  const item = (
    <ListItem
      key={index}
      primaryText={node.title}
      primaryTogglesNestedList={true}
      nestedItems={children}
    />
  );

  return item;
};

class Page extends Component {
  render() {
    const tree = [
      {
        title: "Category1",
        children: [
          {
            title: "foo",
            children: []
          },
          {
            title: "bar",
            children: [
              {
                title: "so deep",
                children: []
              },
              {
                title: "inception",
                children: []
              }
            ]
          }
        ]
      }
    ];
    return (
      <List>
        {tree.map(
          (node, i) => recursiveList(node, i)
        )}
      </List>
    );
  }
}

Just stumbled over this issue, when encountering the same problem and looking for a solution.
Basically, the indentation in material-ui's List component is achieved via the ListItem component. It has a property nestedLevel with a default value of 0. When ListItem elements are inserted via the nestedItems attribute, they are wrapped into a NestedList element which increments the parents nestedLevel and forwards it to its children. Thus, only ListItem components and other components which have a nestedLevel property and use it to control their own indentation are nicely indented.
If you just want to wrap a ListItem into another component, you could give it a property nestedLevel (with the default value 0) that is forwarded to the wrapped ListItem. As opposed to the workaround proposed by @markoshust, this works also if the element is inserted in deeper or changing nesting levels.
import React from 'react';

var NestedComponent = React.createClass({
  propTypes: {
    // Define the nestedLevel property
    nestedLevel: React.PropTypes.number,
  },
  getDefaultProps() {
    return {
      // Set the default value for the nestedLevel property
      nestedLevel: 0,
    };
  },
  render() {
    return (
      // Create the wrapped ListItem element and forward the nestedLevel property
      <ListItem key={/*The key of the list item*/}
          primaryText='The primary text of the list item'
          nestedItems={/*Whatever you want to nest into the list item*/}
          nestedLevel={nestedLevel}
          />
    );
  }
});

If you do not want to wrap a ListItem component you need to implement the indentation yourself, e.g. using margin-left. This is the same thing that ListItem does. In order to allow for deeper nesting levels, also provide your component with a nestedLevel property. In material-ui the nestedLevelDepth is retrieved from this.context.muiTheme.listItem.nestedLevelDepth, but you might define your own indentation depth. The code might look as follows:
import React from 'react';

var NestedComponent = React.createClass({
  propTypes: {
    // Define the nestedLevel property
    nestedLevel: React.PropTypes.number,
  },
  getDefaultProps() {
    return {
      // Set the default value for the nestedLevel property
      nestedLevel: 0,
    };
  },
  contextTypes: {
    // Define the requirement for a muiTheme object in the context
    muiTheme: React.PropTypes.object.isRequried,
  },
  render() {
    const {listItem} = this.context.muiTheme;
    const {nestedLevel} = this.props;
    const styles = {
      innerDiv: {
          marginLeft: nestedLevel * listItem.nestedLevelDepth,
      },
    };
    return (
      // Indent the inner div or any other wrapped element

    );
  }
});

However, as Facebooks favours the use of ES2015 ("Our eventual goal is for ES6 classes to replace React.createClass completely", https://facebook.github.io/react/blog/2015/03/10/react-v0.13.html), here comes the corresponding code.
ES2015:
import React from 'react';

class NestedComponent extends React.Component {
  render() {
    const {listItem} = this.context.muiTheme;
    const {nestedLevel} = this.props;
    const styles = {
      innerDiv: {
          marginLeft: nestedLevel * listItem.nestedLevelDepth,
      },
    };
    return (
      // Indent the inner div or any other wrapped element

    );
  }
}
NestedComponent.propTypes = {
  // Define the nestedLevel property
  nestedLevel: React.PropTypes.number,
};
NestedComponent.defaultProps = {
    // Set the default value for the nestedLevel property
    nestedLevel: 0,
};
NestedComponent.contextTypes = {
  // Define the requirement for a muiTheme object in the context
  muiTheme: React.PropTypes.object.isRequried,
};

It now users responsibility to set the text indent CSS property on the v1-beta branch.

@oliviertassinari Could you provide a complete example of a nested list in v1-beta?

@athrunsun We have been doing the following for the documentation:
https://github.com/callemall/material-ui/blob/1a9b612c02cd606a3ae31c8a241505a2e8e67264/docs/src/modules/components/AppDrawerNavItem.js


problem

I tried running cadet1620's Trig.hack (26016 instructions) in emulator --> no go.
the assembler disassembles it but there are problems, it does not re-assemble and I find a line 'A=' which is clearly problematic.
I was looking at your vmtranslator because I want to reduce my hack sizes to <32k, I see that there is still some potential, especially in combining instructions like e.g. AMD=M-1 with or without jumps...
(AMD=M-1 instead of M=M-1, D=M, A=M)
Great work in C, by the way!
JK- spin flipper 2010 ... g m ai l
attached.zip

Thanks for the heads up! Could you clarify what you mean by 'A=' is problematic? It seems according to the spec that A is a valid destination register.
It seems the issue is in lines such as dest=n;JMP in the disassembled Trig.hack. On further review of the spec that seems to be valid, however I never accounted for that (my code only handles jumps in the form of dest;JMP hence why an error is thrown about an invalid compute). I'll work on fixing that.
Yeah I was having trouble getting my assembled hack binaries to fit in the 32k of ROM as well. You may have already seen, but I saw big improvements by not repeating the frame saving/return code and instead jumping to it when necessary. Though that still is obviously not enough when trying to combine any non-trivial program with the OS code. Those are some good suggestions though and I'll see if I can incorporate them.
Thanks again!

Thanks for checking this! Can you push the changes to the emulator too please?
I think your emu is great. The only other one I found was written in rust (which is not bad), but it started pulling in 1GB worth of cargo just for compiling on my Debian box... :-/

Are there issues in the emulator as well? I believe it uses different logic than the assembler but maybe I'm forgetting something.
And thanks! Yeah I just tried to keep mine simple to make testing with it easy.

The emulator will presently not run the Trig.hack file from above. I guess by the same rarely used instructions as was the issue with your dis/assembler.
On a different note, I visualized memory management in the screen memory segment.
Post and asm files here:
http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/New-Heap-Management-algorithm-Coursera-version-td4032026.html

Just wanted to let you know I am working on this and hopefully have a fix soon. And that's really cool! It's impressive the clever things you and other people are able to to with such a simple machine.

I found the problems. Will send you a pull request.
Simple fix after some debugging: Your code did not handle CR-LF line endings in Hack files well. Silly Windows.
Also fixed that my hack files did not work the keyboard correctly. Tranlate lower case keys to upper and it behaves as in the official CPU Emulator.


wrong type for params in tuple

Version
1.26.0
What happened?
The type for id is detected wrong.
type ListTasksParams struct {
	CreateTime   pgtype.Timestamptz
	CreateTime_2 pgtype.Timestamptz
	Limit        int32
	Offset       int32
}

func (q *Queries) ListTasks(ctx context.Context, arg ListTasksParams) ([]Task, error)

I expected it to be:
type ListTasksParams struct {
	CreateTime   pgtype.Timestamptz
	IDorSth int64
	Limit        int32
	Offset       int32
}

Relevant log output
No response
Database schema
create table tasks (
	id bigint generated by default as identity primary key,
	info text,
	create_time timestamp with time zone not null default current_timestamp
);

SQL queries
select * from tasks
where
	(create_time, id) > ($1, $2)
order by create_time, id
limit $3 offset $4;

Configuration
version: "2"
sql:
  - engine: "postgresql"
    queries: "query.sql"
    schema: "schema.sql"
    gen:
      go:
        package: "dbgw"
        out: "dbgw"
        sql_package: "pgx/v5"

Playground URL
No response
What operating system are you using?
Windows
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

I have the same issue using Mac OS

I couldn't find any workaround. So, I wrote the code for that specific query (in another file under the same package) manually.


VirtualService is ignored for egress traffic

Bug description
VirtualService is ignored when routing egress traffic.
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
The request is sent to postman-echo.com
Actual behavior
The request is sent to www.python.org
Steps to reproduce the bug

Connect to any pod
Execute curl www.python.org

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
client version: 1.10.0
control plane version: 1.10.0
data plane version: 1.10.0 (40 proxies)

How was Istio installed?
Using IstioOperator
Environment where the bug was observed (cloud vendor, OS, etc)
Kubernetes
Istio templates
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: python-external
spec:
  endpoints:
  - address: <IP_ADDRESS>
  hosts:
  - www.python.org
  ports:
  - name: https
    number: 80
    protocol: HTTPS
    targetPort: 443
  resolution: STATIC
---
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: python-istio-destrule-mtls
spec:
  host: www.python.org
  trafficPolicy:
    portLevelSettings:
    - port:
        number: 80
      tls:
        mode: SIMPLE
---
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: python-istio-egressgateway
spec:
  selector:
    istio: istio-egressgateway
  servers:
  - hosts:
    - www.python.org
    port:
      name: http
      number: 80
      protocol: HTTP
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: python-external-vs
spec:
  gateways:
  - python-istio-egressgateway
  - mesh
  hosts:
  - www.python.org
  http:
  - match:
    - gateways:
      - mesh
      port: 80
    route:
    - destination:
        host: istio-egressgateway
      weight: 100
  - match:
    - gateways:
      - python-istio-egressgateway
      port: 80
    route:
    - destination:
        host: postman-echo.com
        port:
          number: 80
      weight: 100
---

can you post the access logs from the sidecar and gateway

can you post the access logs from the sidecar and gateway

gateway_logs.txt
sidecar_logs.txt

Those only show requests to api-account:5000, nothing about python.org


"RiderLink plugin was designed for build 4.26.0" message

When I boot up our 4.26.2 (latest stable release of 4.26) with the latest RiderLink/Rider, I get a popup that tells me the plugin isn't designed for my engine version:

If I choose yes, it loads fine, but it's annoying that it requires manual intervention to start the editor. This seems to be because Engine\Plugins\Developer\RiderLink\RiderLink.uplugin has an EngineVersion specification for 4.26:
{
  "EngineVersion": "4.26.0"
}

I don't see that in the RiderLink.uplugin.template in this project, so I'm not sure what's adding it.
UnrealLink IDE plugin version 2021.1.9 and RiderLink UE4 plugin version 2021.1.9 as well.
Rider version info:
Rider for Unreal Engine 2021.1.2
Build #RDCPPP-211.7442.37, built on May 28, 2021
Licensed to Joergen Tjernoe
Subscription is active until November 30, 2021.
Runtime version: 11.0.11+9-b1341.57 amd64
VM: Dynamic Code Evolution 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
.NET Framework 4.0.30319.42000
GC: G1 Young Generation, G1 Old Generation
Memory: 2500M
Cores: 16
Registry: debugger.new.debug.tool.window.view=true, ide.tree.horizontal.default.autoscrolling=false, performance.watcher.sampling.interval.ms=200, ide.borderless.tab.caption.in.title=false, ide.tooltip.showAllSeverities=true, show.diff.preview.as.editor.tab=true, light.edit.file.open.enabled=false, performance.watcher.unresponsive.interval.ms=1000, vcs.enable.add.ignored.directories.to.exclude=false, search.everywhere.settings=true, show.diff.preview.as.editor.tab.with.single.click=true, ea.enable.developers.list=false, parameter.info.max.visible.rows=10, ide.win.file.chooser.native=true, vcs.log.show.diff.preview.as.editor.tab=true, search.everywhere.pattern.checking=false, ide.tooltip.initialDelay=0, ide.require.transaction.for.model.changes=false, ide.debug.in.title=true, rdclient.asyncActions=false
Non-Bundled Plugins: com.microsoft.vso.idea (1.161.1), org.toml.lang (<IP_ADDRESS>11-211), unreal-link (2021.1.9), org.rust.lang (<IP_ADDRESS>11-211)

Fixed with https://github.com/JetBrains/UnrealLink/commit/fc114f2262e1552521937fb7877755697d4fb750
Will be available in the next build


Support for client side rendering (v8)

Is your feature request related to a problem? Please describe.
At the moment (on v.8.0.1) it seems like you're forced to use either getServerSideProps or getStaticProps functions on the page level. However there might be cases where you don't want to use either. One example would be some sort of dashboard where data is changing frequently and it makes no sense to pre-render the page.
Describe the solution you'd like
It would be nice if you could just use the useTranslation hook without exporting getServerSideProps or getStaticProps and using serverSideTranslations inside them.
Describe alternatives you've considered
Haven't figured out any other methods to get this working  than to use either getServerSideProps or getStaticProps.
Additional context
When I'm talking about client side rendering in this feature request I'm referring this:
https://nextjs.org/docs/basic-features/data-fetching#fetching-data-on-the-client-side

+1 on this

Not sure I follow – even if you want to do client side rendering, why not send down the translations hypothetically necessary with the HTML document, as opposed to a separate network request?

@isaachinman the point is, we totally did not use getServerSideProps or getStaticProps in most of our pages. Because the data is fetched using swr as https://nextjs.org/docs/basic-features/data-fetching#fetching-data-on-the-client-side
But now in the 8.0.1 version, we have to manually add getStaticProps for all the pages we have been done (to use serverSideTranslations)

@hgbao Then, I think a solution would be dependent on the global singleton that we want to release for #983.
Flow would go like such:
First, add i18next-http-backend via config.use.
Then, in your code, you can do:
import { i18n } from 'next-i18next'

i18n.reloadResources(locale, namespace)

Let me know if that makes sense. As I say, this depends upon the global i18n client being exposed, which is still a work in progress.

i18next-http-backend

Hi Isaac, thanks for your work on this, it's coming just in time for us :)
Can you please add an example to the readme/doc on how to implement the global singleton solution? I don't really understand how i18next-http-backend comes into it, or how to configure it for this purpose.

@nicolasconnault The global singleton is now merged, and you can do:
import { i18n } from 'next-i18next'

i18n.reloadResources(locale, namespace)

To make this work over http (client side), you'll need to add something like this to your next-i18next.config.js:
const i18nextHttpBackend = require("i18next-http-backend").default;

module.exports = {
  i18n: {
    defaultLocale: "en",
    locales: ["en", "de"],
  },
  use: process.browser ? [i18nextHttpBackend] : [],
};

@isaachinman thanks for your help Isaac, much appreciated!

import { i18n } from 'next-i18next'

i18n.reloadResources(locale, namespace)

Hi again @isaachinman , we're having some difficulty with this code, as the i18n export from next-i18next is a type, and has no reloadResources function. We can only get reloadResources from
import i18next from "i18next";

But when we call i18next.reloadResources we get
TypeError: Cannot read property 'reload' of undefined

Hi,
Is this feature implemented?
I have a user dashboard where I don't want to use both getServerSideProps and getStaticProps. In that case how I can use the translation?
I will be very thankful for your reply.

@adrai thanks for your reply.
Can you share an example? I couldn't manage to solve my problem.

https://github.com/i18next/next-i18next#client-side-loading-of-translations-via-http

just follow the link there:

https://github.com/i18next/i18next-http-backend/tree/master/example/next
https://github.com/i18next/i18next-http-backend/blob/master/example/next/pages/client-page.js


removed unused install script for aws

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/mango-prb/621/
Test PASSed.


Updating post conditions for the dsDisplay and dsComposite Module.

Adding post conditions in the interface file for the devicesettings module.

merged to develop


Add Mr.TyDi regressions for arabic

Codecov Report

Merging #1685 (1aea2b8) into master (e33f1ff) will decrease coverage by 0.26%.
The diff coverage is 2.12%.

@@             Coverage Diff              @@
##             master    #1685      +/-   ##
============================================
- Coverage     57.23%   56.96%   -0.27%
  Complexity     1029     1029
============================================
  Files           172      173       +1
  Lines          9668     9715      +47
  Branches       1336     1344       +8
============================================
+ Hits           5533     5534       +1
- Misses         3666     3712      +46
  Partials        469      469

Impacted Files
Coverage Δ

.../java/io/anserini/collection/MrTyDiCollection.java
0.00% <0.00%> (ø)

...c/main/java/io/anserini/index/IndexCollection.java
45.12% <100.00%> (+0.11%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e33f1ff...1aea2b8. Read the comment docs.


How to compile a program using rocThrust on Ubuntu 20.04?

On Ubuntu 20.04 system with rocm 5.2 compiling code using rocThrust fails (Score.cpp has "#include <thrust/host_vector.h>" which causes compile to fail):
clang++  -D__HIP_PLATFORM_HCC__= -D__HIP_PLATFORM_AMD__= -I/opt/rocm-5.2.0/include -I/opt/rocm-5.2.0/llvm/bin/../lib/clang/14.0.0 -I/opt/rocm-5.2.0/hsa/include -c -std=c++20 -g -O0 -pg Score.cpp
In file included from Score.cpp:11:
In file included from /opt/rocm-5.2.0/include/thrust/host_vector.h:27:
In file included from /opt/rocm-5.2.0/include/thrust/detail/vector_base.h:25:
In file included from /opt/rocm-5.2.0/include/thrust/iterator/detail/normal_iterator.h:27:
In file included from /opt/rocm-5.2.0/include/thrust/iterator/iterator_adaptor.h:36:
In file included from /opt/rocm-5.2.0/include/thrust/iterator/iterator_facade.h:37:
In file included from /opt/rocm-5.2.0/include/thrust/iterator/detail/iterator_facade_category.h:22:
In file included from /opt/rocm-5.2.0/include/thrust/iterator/detail/device_system_tag.h:23:
In file included from /opt/rocm-5.2.0/include/thrust/system/cuda/detail/execution_policy.h:35:
/opt/rocm-5.2.0/include/thrust/system/cuda/config.h:33:10: fatal error: 'cub/util_namespace.cuh' file not found
#include <cub/util_namespace.cuh>
^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

It seems that 'hipCub' needs to installed first

Hi @sampie Sorry for the extreme delay in response.  If you are using clang directly, then you will need to pass -xhip to the compiler to specify that we are treating source files as HIP language files.  And also make sure that you do have rocprim installed in /opt/rocm as well.

It did upgrade Ubuntu to 22.04 and rocm to 5.3 and added -xhip parameter (rockprim is also installed), but did not manage to compile the file:
$ clang++  -D__HIP_PLATFORM_HCC__= -D__HIP_PLATFORM_AMD__= -I/opt/rocm-5.3.0/include -I/opt/rocm-5.3.0/llvm/bin/../lib/clang/15.0.0 -I/opt/rocm-5.3.0/hsa/include -xhip -fPIE -c -std=c++20 -g -O0 Score.cpp
lld: error: undefined symbol: __oclc_ABI_version

referenced by /tmp/Score-fec864/Score-gfx803.o:(__ockl_hostcall_preview)
referenced by /tmp/Score-fec864/Score-gfx803.o:(__ockl_hostcall_preview)
clang: error: amdgcn-link command failed with exit code 1 (use -v to see invocation)

I haven't encountered that error before.  The only reference I can find online to that is https://docs.olcf.ornl.gov/systems/crusher_quick_start_guide.html#olcfdev-1118-link-errors-with-rocm-5-2-0-and-cce.  As per that webpage, can you try using amdclang++ instead, located in /opt/rocm-5.3.0/bin?

It looks like amdclang++ works!! Perhaps normal clang does not fully yet support hip language.

Closing out as there is no reply from the user


Fix codacy coverage reporting

@jonasrenault I had to fix the pandas version to be lower than 1.2.0 as there is an issue with the new version. We should look into this

@jonasrenault I had to fix the pandas version to be lower than 1.2.0 as there is an issue with the new version. We should look into this


Cinnamon updates 2024-12-05

This is mostly just translation updates.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg build sticky lightdm-slick-greeter xviewer warpinator pix nemo folder-color-switcher cinnamon-translations cinnamon-control-center cinnamon-common bulky


aio app init: generated console config should be added to .gitignore

For aio app init, the generated console config should be added to .gitignore

Hi @shazron ,
Nice catch, could you take care of it? We should avoid developers to accidentally commit configuration that should not be shared.

fixed in https://github.com/adobe/generator-aio-app/pull/63


Issue using with Django Debug Toolbar

Evereything worked smooth, but i do use some well known and popular packages such as django debug toolbar, i had to remove django_debug toolbar to get daisy working.

Hi,
After spending some time, I found out the issue was caused by loading two files with a starting slash:

I changed it to:

Now it's fixed!
Thanks for reporting this. Please update it by running:
pip install -U django-daisy
❤


Add support for hotlinks

This adds support for hotlinks.
Example:
>>> import pyunsplash
>>> pu = pyunsplash.PyUnsplash(api_key='your_api_key')
>>> search = pu.search(type_='photos', query='red,car')
>>> for photo in search.entries:
...     print (photo.id, photo.link_download, photo.hotlink_regular)

Output:
rEcn8OB83EI https://unsplash.com/photos/rEcn8OB83EI/download https://images.unsplash.com/photo-1447931958677-954446df5f70?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjEwNjk3M30
UXKNbZjHCyw https://unsplash.com/photos/UXKNbZjHCyw/download https://images.unsplash.com/photo-1496224303445-89779ef1ed23?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjEwNjk3M30
JF7Yg8wc-9g https://unsplash.com/photos/JF7Yg8wc-9g/download https://images.unsplash.com/photo-1567533198271-f422fc1cb870?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjEwNjk3M30
II3ZlP5Y9Co https://unsplash.com/photos/II3ZlP5Y9Co/download https://images.unsplash.com/photo-1539655488656-60375dcdfb23?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjEwNjk3M30
AW_dOO6URNw https://unsplash.com/photos/AW_dOO6URNw/download https://images.unsplash.com/photo-1575660788700-9776a312fc1c?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjEwNjk3M30

Shows the
photo.id: photo id,
photo.link_download: photo link to download
photo.hotlink_regular: hotlink to photo to embed onto websites
hotlink_regular and hotlink_raw were made as properties, more can be added if needed easily by changing rest.py

Codecov Report

Merging #9 into master will decrease coverage by 0.77%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##           master       #9      +/-   ##
==========================================
- Coverage   87.45%   86.68%   -0.78%
==========================================
  Files          16       16
  Lines         606      616      +10
==========================================
+ Hits          530      534       +4
- Misses         76       82       +6

Hello Suriya,
thank you for the pull request. I'll review it in the next few days, however it looks good.
Cheers,
Salvatore

Hello Suriya,
thank you again for your PR. After careful review of your code, I decided I cannot accept the PR as it is, because (1) it conflicts with current library conventions, and (2) it is not complete with documentation and unit tests. I like your idea of adding hotlinks , however, here is a full and detailed work schedule that I think is needed to satisfy both (1) and (2).
Source code

In /pyunsplash/pyunsplash/src/rest.py
Rename Rest.hotlink to Rest.urls, to keep consistency with Rest.links

In /pyunsplash/pyunsplash/src/unobject.py
Rename UnsplashObject.hotlink to UnsplashObject.urls to keep consistency with UnsplashObject.links

In /pyunsplash/pyunsplash/src/photos.py

Define these properties:

url_full
url_regular
url_small
url_thumb
url_raw

Make alias properties for

hotlink_full pointing to url_full
hotlink_regular pointing to url_regular
hotlink_small pointing to url_small
hotlink_thumb pointing to url_thumb

Do not define hotlink_raw (remove hotlink_raw as property)

Define method url_custom(width, **kwargs)
and add support to parameters described in https://unsplash.com/documentation#dynamically-resizable-images
We officially support the parameters:
   w, h: for adjusting the width and height of a photo
   crop: for applying cropping to the photo
   fm: for converting image format
   auto=format: for automatically choosing the optimal image format depending on user browser
   q: for changing the compression quality when using lossy file formats
   fit: for changing the fit of the image within the specified dimensions
   dpi: for adjusting the device pixel ratio of the image

Define alias method

hotlink_custom(width, **kwargs) pointing to url_custom(width, **kwargs)

Documentation
In /pyunsplash/docs/source/classes/class_photo.rst

Provide documentation for additional properties and their alias, documenting parameters as needed.

Tests
In /pyunsplash/tests/test_photos.py

Provide required testcases for additional properties and their alias define above.

I know it's a lot, but it helps keeping the library consistent and well documented. Let me know if you'd like to take on these additional tasks.

Makes sense. If anyone would like to use it, it's there, although relatively messy.


Refactor ResourceAddresses in order to support generic Strings instead of URIs

New pull request created due to issue with automatic close of previous pull request.
Reference to closed PR

@jitsni @sbadugu  Hello, Jitu, I have some questions regarding the current pull request (pull request not finalized, work in progress):

Where should we perform conversions from Strings to URIs? (at which layer should this be performed; some class names/or any relevant examples would be very useful)

In classes extending ResourceAddressFactorySpi (e.g. HttpResourceAddressFactorySpi), setAlternateOption methods iterates through resourceFactory items and instantiates URI locations using these resourceFactories. With the current approach, should URIs be instantiated at this stage? What is your suggestion regarding this? (for now, in the checked in code, the instantiation is commented out and the initial String is used, TODOs have been added in order to fix this)

Also, any other feedback on the pull request at its current initial stage would be very useful

Thank you, Irina.

@jitsni @sbadugu  Hello, Jitu, I would have some questions regarding the current pull request (pull request not finalized, work in progress):

Where should we perform conversions from Strings to URIs? (at which layer should this be performed; some class names/or any relevant examples would be very useful)

In classes extending ResourceAddressFactorySpi (e.g. HttpResourceAddressFactorySpi), setAlternateOption methods iterates through resourceFactory items and instantiates URI locations using these resourceFactories. With the current approach, should URIs be instantiated at this stage? What is your suggestion regarding this? (for now, in the checked in code, the instantiation is commented out and the initial String is used, TODOs have been added in order to fix this)

Also, any other feedback on the pull request at its current initial stage would be very useful

Thank you, Irina.

I think String to URI conversion happens in the corresponding ResourceAddresFactorySpi classes. I would think ResourceAddress#getResource() would return URI
ResourceAddressFactorySpi#setAlternateOption can take String if it helps.

@jitsni Hello, Jitu, I have updated the pull request with URIs passed to ResourceAddress constructors. There are no compilation errors at the current stage of the pull request. I have performed a build (with no tests for now) and it was successful.
Pending points:

There are situations where URIs are available, but need to be passed to methods which receive Strings instead of URIs with the current implementation. There are many such scenarios in which I use java.net.URI.toString() method in order to address this scenario. I am not too happy with this approach, and I am looking into using a better approach. Any suggestion would be most welcome. Relevant example:

ResourceAddress.java line 219: return factory.newResourceAddress0(newExternalURI.toString(), newResourceURI.toString(), newOptions);

Refactoring of the URIUtils class is also pending.
An important point is to check is that tests are working properly (together with performing some manual testing of the gateway - ensuring that the gateway can be started properly).
Also, please let me know if there is any feedback on the current pull request status.

Thank you, Irina.

I am still going through the code in IDE. I think there are places where ResourceAddress is used to create some other ResourceAddress (with different scheme, path etc). There is conversion (URI -> String) happening in that case. I think it is ok.
Some cases, the new code doesn't have to create URI (for e.g ResourceAddress creation from inet address)

@jitsni Hello, Jitu, thank you for your feedback. I am currently working on getting the ITests working, because there are failures to them and I want to clarify tests issues.
After that I will continue with the items mentioned above. Please let me know of more feedback as you go through the code in the IDE, your feedback is very useful. Thank you, Irina.

@jitsni Hello, Jitu, I have checked in a new set of fixes based on ITest failures.
Please let me know if the overall direction of the pull request seems to be the right one; also please give me more feedback as you go through the IDE code, your feedback is very useful. Thank you, Irina.

I think the direction is ok in this PR. So let us get the build to pass. Then

Separate PR for network interface syntax functionality
A PR for enterprise.gateway based on these changes

@jitsni Hello, Jitu, thank you for your reply. I have just managed to get a successful build which also runs tests with some local changes to my gateway project (some tests are ignored for now on my local setup and they require additional investigation).
I have noticed that after my refactoring there are some issues with URI strings provided in ITest configs which have neither path, nor trailing slash. Consequently, after my refactoring I get errors to ITests which have URIs provided in <accept>s or <connect>s with no trailing slashes, e.g.

GatewayConfiguration configuration =
new GatewayConfigurationBuilder()
.service()
.accept(URI.create("https://localhost:8110"))
.connect(URI.create("https://localhost:8080"))
I have started looking into this.

@jitsni Hello, Jitu, fixed the issues regarding the trailing slash. I have just checked in a set of changes that fixed the build together with tests (there are still a couple of tests to be clarified, these are marked with @Ignore("TODO: Clarify this") annotation in my latest commit).

@jitsni Hello, Jitu, fixed the issues regarding the trailing slash: I am now using the getCanonicalURI(uri, true) in the GatewayContextResolver on the input String URI.
Also, I have just checked in a set of changes that fixed the build together with tests (there are still a couple of tests to be clarified, these are marked with @ Ignore("TODO: Clarify this") annotation in my latest commit).

@jitsni Hello, Jitu, I have addressed some TODOs which I had entered in the code and done a round of reviewing. There are still three tets which fail:

HttpDirectoryServiceIT
TcpAcceptorIT
TcpConnectorIT
Failing tests are ignored for now with "TODO: Clarify this"
Any feedback on these and on the overall pull request would be very useful. Thank you, Irina.

@jitsni Hello, Jitu, I have removed

@ Ignore("TODO:Clarify this")
from the all the above-listed test cases (giving details on them also below:

TcpIdleTimeout->serverDoesNotCloseWithData
TcpAcceptorIT->concurrentConnections
TcpConnectorIT->shouldEstablishConcurrentConnections
HttpDirectoryServiceIT->testHexEncodedUri,testNoServerHeader,testGetIndexCheckWholeResponse

) since these specific tests seem to fail for me locally without my PR changes (tested that they still fail for me on the develop branch).
Consequently no tests should be ignored by my pull request now.
I am currently awaiting your feedback on the PR, thank you.

This branch builds on my machine fine.
I think the readability can be improved by using local variables in some places. For e.g.
return factory.newResourceAddress0(URIUtils.uriToString(newExternalURI), URIUtils.uriToString(newResourceURI), newOptions);
URIUtils.uriToString() may not be necessary. We won't have any impl other than uri.toString(), right ?
In places where we don't expect string contain all those chars, we can just delegate to URI.create(). For e.g. SslResourceAddressFactorySpi

Hello, Jitu

This branch builds on my machine fine.
Thank you for your feedback.

I think the readability can be improved by using local variables in some places. For e.g. return factory.newResourceAddress0(URIUtils.uriToString(newExternalURI), URIUtils.uriToString(newResourceURI), newOptions);
I will try to identify such places.

URIUtils.uriToString() may not be necessary. We won't have any impl other than uri.toString(), right ?
I had decided to add a wrapper over uri.toString() due to the fact that URI has both uri.toString() and uri.toASCIIString() methods and wanted to have a method over the new uri.toString() methods I had added in order to be able to modify this in just one place if needed in the future.
Should I switch back to simply using uri.toString() and remove the URIUtils.uriToString() method?

In places where we don't expect string contain all those chars, we can just delegate to URI.create(). For e.g. SslResourceAddressFactorySpi
Can you please provide some more information on this item?
Thank you,
Irina.

@jitsni Hello, Jitu

This branch builds on my machine fine.
Thank you for your feedback.

I think the readability can be improved by using local variables in some places. For e.g. return factory.newResourceAddress0(URIUtils.uriToString(newExternalURI), URIUtils.uriToString(newResourceURI), newOptions);
I will try to identify such places.

URIUtils.uriToString() may not be necessary. We won't have any impl other than uri.toString(), right ?
I had decided to add a wrapper over uri.toString() due to the fact that URI has both uri.toString() and uri.toASCIIString() methods and wanted to have a method over the new uri.toString() methods I had added in order to be able to modify this in just one place if needed in the future.
Should I switch back to simply using uri.toString() and remove the URIUtils.uriToString() method?

In places where we don't expect string contain all those chars, we can just delegate to URI.create(). For e.g. SslResourceAddressFactorySpi
Can you please provide some more information on this item? Is your comment in regard to the fact that we are performing the validations:
 if (host == null) {
            throw new IllegalArgumentException(format("Missing host in URI: %s", location));
        }

if (port == -1) {
            throw new IllegalArgumentException(format("Missing port in URI: %s", location));
        }

if (path != null && !path.isEmpty()) {
            throw new IllegalArgumentException(format("Unexpected path \"%s\" in URI: %s", path, location));
        }

?
They are present due to the fact that they were in the initial code. Any clarifications regarding this would be useful.
Thank you,
Irina.

@jitsni Hello, Jitu. I have added a refactoring to the PR for situations where extracting URI.create as local variables would improve readability.
I have also added static imports for URIUtils in several classes.
Please provide your feedback on this and on the comment above.

@jitsni Hello, Jitu. I have added a refactoring to the PR for situations where extracting URI.create() as local variables would improve readability.
I have also added static imports for URIUtils methods in several classes.
Please provide your feedback on this and on the comment above. Thank you.

I was saying that the following may be better. We don't expect location and original strings to have any network interface related syntax in SslResourceAddressFactorySpi. We can directly use URI. I think this applies to many places.
    protected SslResourceAddress newResourceAddress0(String original, String location) {
        URI locationUri = URI.create(original);
        String host = locationUri.getHost(location);
``

@jitsni Thank you for your clarification, Jitu, as per the discussion on Slack we will rely for path/port/host nullchecks on the URI object validation and no longer throw specific errors from the ResourceAddressFactorySpi classes.

@jitsni Thank you for your clarification, Jitu, as per the discussion on Slack we will rely for path/port/host nullchecks on the URI object validation and no longer throw specific errors from the ResourceAddressFactorySpi classes.

@jitsni Thank you for your clarification, Jitu, as per the discussion on Slack we will rely for path/port/host nullchecks on the URI object validation and no longer throw specific errors from the ResourceAddressFactorySpi classes.
Also, considering we will no longer perform validation, the line
String host = locationUri.getHost(location);

will also no longer be required and will refactor the existing method to basic ResoourceAddress creation
URI uriOriginal = URI.create(original);
URI uriLocation = URI.create(location);
return new SslResourceAddress(this, uriOriginal, uriLocation);

@jitsni Hello, Jitu, I have left the validation within the ResoureAddresFactorySpis due to the fact that there are differences within the implementation for different ResourceAddressFactorySpis, e.g.:

TcpResourceAddress throws an error

if  (path != null && !path.isEmpty())

SseResourceAddressFactorySpi throws an error

if (path == null || path.length() == 0))

@jitsni Hello, Jitu, I have just merged the latest changes from gateway develop into this branch due to the fact that conflicts had arised due to the latest gateway merges. I have fixed the conflicts and checked in the changes.
Conflicts are likely to occur between the latest gateway merges and this pull request since this pull request impacts a large number of files.

@jitsni Hello, Jitu, I have also written on Slack, there are situations where there  are some generics maps returned, e.g.

Map<MemberId, Map<String, List>> memberIdBalancerMap = factory
.getMap(HttpBalancerService.MEMBERID_BALANCER_MAP_NAME);
(GatewayManagementBeanImpl, line 392)
In such situations any return type can be specified and these should all be changed accordingly in the source code. Such errors can not be caught at compile time/build, but only at runtime.
We should be very careful with such situations, please check my latest commit as it catches such an issue.

IMO, your signature should be fine otherwise the cluster tests would fail. But can we not keep Map<MemberId, Map<URI, List>> ?
Post it to engineering channel, someone / @mjolie  should be able to answer it.

Hi, not sure what the question is can you clarify ??  We have to be very careful with the cluster and balancer service maps as some of them are created by hazel cast code and we do not have control over that.  We have had 2 very serious customer escalations in this code recently.

Slack reply from @jitsni [9:41 PM] (#roadmap channel)
This is in 5.0. We are changing some signatures in ResourceAddressFactory. They will take String instead of URI while creating the ResourceAddress objects (this is required since URI cannot deal with network syntax like @eth0 etc). So gateway server is passing accept, connect, balancer Strings directly to ResourceAddressFactorySpi. Since gateway server is also creating these hazelcast maps, we are wondering to update the signatures to Strings

Slack reply from @mjolie [11:10 PM] (#Roadmap channel)
@jitsni:  @irina.mitrea  Hi ,  I do not think we will see any compile time issues but I worry about possible runtime issues, we will need to do a lot of testing of the balancer service . Also be sure and test with trace on "ha" trace to be exact there are functions that use the maps that only get called with logging enabled.(edited)

Reply from @irina-mitrea-luxoft [8:46 AM] (#Roadmap channe;)
@mjolie: @jitsni Hello, Marie, thank you for your feedback and thank you, Jitu, for explaining the issue. There are no compile issues. Runtime problems are the main concern.
Some information on the coverage on the balancer service would be useful, I see that we have some tests under org.kaazing.gateway.service.http.balancer, but I am not sure they cover all the needed scenarios.
Also, I have modified such a map yesterday within GatewayManagementBeanImpl, i.e:
Map<MemberId, Map<String, List>> memberIdBalancerMap = factory.getMap(HttpBalancerService.MEMBERID_BALANCER_MAP_NAME);
; looking at the existing tests for gateway.management this seems to not be covered by gateway.management tests under the test JMX package.
[Will copy the thread of messages on this topic also within the pull request: https://github.com/kaazing/gateway/pull/395]

I have a PR with some new tests that you can run locally , https://github.com/kaazing/gateway/pull/407

@irina-mitrea-luxoft @jitsni @sbadugu I have a PR with some new tests that you can run locally , #407, They work locally for me, but are ignored for Travis build until a Robot bug is fixed. I am most concerned about when cluster members go up and down, that the balancer maps have the correct state of each server. You could also ask @daniel-smith-kaazing about the testing environment he used to verify the recent fixes we made to the balancer service for escalations. And remember it is very important that ha trace be enabled and you check the log for class cast exceptions and null pointers. thanks

We did nothing fancy, really. Set up 3 gateways with a balancer service on
all and JMS service on all.
DNS round robin in front handing out IPs in turn for each of the gateways.
Balancer name, DMZ1, DMZ2, DMZ3.
We had scripts that brought each of the nodes up and down and observed in
the ha TRACE if the nodes updated properly when a node joined or left the
cluster.
One variation is to try to make sure at least one node is always up.
That's it.
On Fri, Jan 29, 2016 at 10:40 AM, Marie-Denise Jolie <
<EMAIL_ADDRESS>wrote:

@irina-mitrea-luxoft https://github.com/irina-mitrea-luxoft @jitsni
https://github.com/jitsni @sbadugu https://github.com/sbadugu I have
a PR with some new tests that you can run locally , #407
https://github.com/kaazing/gateway/pull/407, They work locally for me,
but are ignored for Travis build until a Robot bug is fixed. I am most
concerned about when cluster members go up and down, that the balancer maps
have the correct state of each server. You could also ask
@daniel-smith-kaazing https://github.com/daniel-smith-kaazing about the
testing environment he used to verify the recent fixes we made to the
balancer service for escalat ions. And remember it is very important that
ha trace be enabled and you check the log for class cast exceptions and
null pointers. thanks
—
Reply to this email directly or view it on GitHub
https://github.com/kaazing/gateway/pull/395#issuecomment-176902369.

--
Dan Smith
Senior Support Engineer  |  Phone:<PHONE_NUMBER> | Mobile:<PHONE_NUMBER>
<EMAIL_ADDRESS><EMAIL_ADDRESS>------------------------------------------------------------
KAAZING >|<
When Real-time Matters
Kaazing.com http://www.kaazing.com/  |  Download
http://kaazing.com/download.html  |  Blog http://blog.kaazing.com/  |
Twitter https://twitter.com/kaazing
http://kaazing.com http://kaazing.com/about-us/careers/

I would add that IMHO it is essential that three nodes be involved, not
two. I believe that in the past some odd behavior for joining/leaving a
cluster was missed because it may only manifest when there are > 2 nodes.
On Fri, Jan 29, 2016 at 2:00 PM, Dan Smith<EMAIL_ADDRESS>wrote:

We did nothing fancy, really. Set up 3 gateways with a balancer service on
all and JMS service on all.
DNS round robin in front handing out IPs in turn for each of the gateways.
Balancer name, DMZ1, DMZ2, DMZ3.
We had scripts that brought each of the nodes up and down and observed in
the ha TRACE if the nodes updated properly when a node joined or left the
cluster.
One variation is to try to make sure at least one node is always up.
That's it.
On Fri, Jan 29, 2016 at 10:40 AM, Marie-Denise Jolie <
<EMAIL_ADDRESS>wrote:

@irina-mitrea-luxoft https://github.com/irina-mitrea-luxoft @jitsni
https://github.com/jitsni @sbadugu https://github.com/sbadugu I have
a PR with some new tests that you can run locally , #407
https://github.com/kaazing/gateway/pull/407, They work locally for me,
but are ignored for Travis build until a Robot bug is fixed. I am most
concerned about when cluster members go up and down, that the balancer maps
have the correct state of each server. You could also ask
@daniel-smith-kaazing https://github.com/daniel-smith-kaazing about
the testing environment he used to verify the recent fixes we made to the
balancer service for escalat ions. And remember it is very important that
ha trace be enabled and you check the log for class cast exceptions and
null pointers. thanks
—
Reply to this email directly or view it on GitHub
https://github.com/kaazing/gateway/pull/395#issuecomment-176902369.

--
Dan Smith
Senior Support Engineer  |  Phone:<PHONE_NUMBER> | Mobile:<PHONE_NUMBER>
<EMAIL_ADDRESS><EMAIL_ADDRESS>------------------------------------------------------------
KAAZING >|<
When Real-time Matters
Kaazing.com http://www.kaazing.com/  |  Download
http://kaazing.com/download.html  |  Blog http://blog.kaazing.com/  |
Twitter https://twitter.com/kaazing
http://kaazing.com http://kaazing.com/about-us/careers/

--
Dan Smith
Senior Support Engineer  |  Phone:<PHONE_NUMBER> | Mobile:<PHONE_NUMBER>
<EMAIL_ADDRESS><EMAIL_ADDRESS>------------------------------------------------------------
KAAZING >|<
When Real-time Matters
Kaazing.com http://www.kaazing.com/  |  Download
http://kaazing.com/download.html  |  Blog http://blog.kaazing.com/  |
Twitter https://twitter.com/kaazing
http://kaazing.com http://kaazing.com/about-us/careers/

Adding reference to QA story performed by Nicoleta

can we close this PR since you another PR (network interface suppor one) builds on this one.

Adding reference to PR holding changes for both URI to String refactoring and network interface support.

As per Jitu's above comment, closing current PR.
The changes present here are now merge-able together with PR holding changes for both URI to String refactoring and network interface support.


[Bug]: EfficientAD memory growth during validation

Describe the bug
I am working with the EfficientAD model and I have been training the model in AWS Sagemaker. I have noticed the GPU memory usage explodes during validation. I was wondering if this is related to this issue involving the mean and standard deviation calculations?
I am using the current version of anomalib (not the release version which does not have the above fix included). I have attached screen shots showing epoch progress (using Sagemaker metrics/regex) and the GPU memory usage.
I am using a custom dataloader instead which subclasses the Folder one, since my data needs special decoding, but aside from that it should be quite similar in terms of operations.
Dataset
Folder
Model
Other (please specify in the field below)
Steps to reproduce the behavior
Run EfficientAD model in the cloud.
OS information
OS information:

OS: Ubuntu 20.04
Python version: 3.7
Anomalib version: current commit 1f50c95
PyTorch version: 2.0
CUDA/cuDNN version:
GPU models and configuration: Sagemaker ml.g4dn.2xlarge
Any other relevant information: I am using a custom dataset

Expected behavior
That memory usage is stable from the start of training
Screenshots

Pip/GitHub
GitHub
What version/branch did you use?
commit 1f50c95
Configuration YAML
dataset:
  name: thermal
  format: folder
  root: ./root/
  normal_dir: raw_unlabelled # name of the folder containing normal images.
  abnormal_dir: null # name of the folder containing abnormal images.
  task: classification # classification or segmentation
  mask_dir: null #optional
  extensions: .png
  normal_test_dir: null # optional
  train_batch_size: 8
  eval_batch_size: 8
  num_workers: 8
  image_size: 256 # dimensions to which images are resized (mandatory)
  # image_size: [386, 516]
  center_crop: null # dimensions to which images are center-cropped after resizing (optional)
  normalization: none # data distribution to which the images will be normalized: [none, imagenet]
  transform_config:
    train: null
    eval: null
  test_split_mode: from_dir # options: [from_dir, synthetic]
  test_split_ratio: 0.05 # fraction of train images held out testing (usage depends on test_split_mode)
  val_split_mode: same_as_test # options: [same_as_test, from_test, synthetic]
  val_split_ratio: 0.5 # fraction of train/test images held out for validation (usage depends on val_split_mode)
  # image normalization params
  min_val: 400.0
  max_val: 1000.0

model:
  name: efficient_ad
  teacher_out_channels: 384
  model_size: small # options: [small, medium]
  lr: 0.0001
  weight_decay: 0.00001
  padding: false
  pad_maps: true # relevant for "padding: false", see EfficientAd in lightning_model.py
  # generic params
  normalization_method: min_max # options: [null, min_max, cdf]

  early_stopping:
    patience: 5
    metric: train_loss
    mode: min

metrics:
  threshold:
    method: adaptive #options: [adaptive, manual]
    manual_image: null
    manual_pixel: null

visualization:
  show_images: False # show images on the screen
  save_images: False # save images to the file system
  log_images: False # log images to the available loggers (if any)
  image_save_path: null # path to which images will be saved
  mode: full # options: ["full", "simple"]

project:
  seed: 42
  path: /opt/ml/model

logging:
  logger: [csv] # options: [comet, tensorboard, wandb, csv] or combinations.
  log_graph: true # Logs the model graph to respective logger.

optimization:
  export_mode: openvino # options: torch, onnx, openvino
# PL Trainer Args. Don't add extra parameter here.
trainer:
  enable_checkpointing: true
  default_root_dir: null
  gradient_clip_val: 0
  gradient_clip_algorithm: norm
  num_nodes: 1
  devices: 1
  enable_progress_bar: true
  overfit_batches: 0.0
  track_grad_norm: -1
  check_val_every_n_epoch: 1
  fast_dev_run: false
  accumulate_grad_batches: 1
  max_epochs: 50
  min_epochs: 10
  max_steps: 500000
  min_steps: null
  max_time: null
  limit_train_batches: 1.0
  limit_val_batches: 1.0
  limit_test_batches: 1.0
  limit_predict_batches: 1.0
  val_check_interval: 1.0
  log_every_n_steps: 50
  accelerator: auto # <"cpu", "gpu", "tpu", "ipu", "hpu", "auto">
  strategy: null
  sync_batchnorm: false
  precision: 32
  enable_model_summary: true
  num_sanity_val_steps: 0
  profiler: null
  benchmark: false
  deterministic: false
  reload_dataloaders_every_n_epochs: 0
  auto_lr_find: false
  replace_sampler_ddp: true
  detect_anomaly: false
  auto_scale_batch_size: false
  plugins: null
  move_metrics_to_cpu: false
  multiple_trainloader_mode: max_size_cycle

Logs
See screenshots

Code of Conduct

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

Hello. I believe that the issue you linked is related to this. So you can update that section of code to resolve this problem.


The IDL upload not work for alibaba cloud of mindsphere

Describe the bug
A clear and concise description of what the bug is.
For alibaba cloud mindsphere, upload the file to datelake, the header need add the "Content-Type": "application/octet-stream", this is not need for eu1 and eu2 platform, but that's need for ali platform.
https://github.com/mindsphere/mindconnect-nodejs/blob/master/src/api/sdk/data-lake/data-lake.ts
Suggest add the logic check for alibaba signedURL as below:
public async PutFile(file: string | Buffer, signedUrl: string): Promise {
const myBuffer = typeof file === "string" ? fs.readFileSync(file) : (file as Buffer);
    const proxy = process.env.http_proxy || process.env.HTTP_PROXY;
    const proxyHttpAgent: any = proxy ? new HttpsProxyAgent(proxy) : null;

    let headers;

    if (signedUrl.match(".*oss-.*.aliyuncs.com.*") != null ) {
        /**
         * In case of MindSphere in Alibaba cloud,
         * it needs to set content-type to be 'application/octet-stream' when to put file to data lake.
         */
        headers = { "Content-Type": "application/octet-stream" };
    } else {
        headers = { "x-ms-blob-type": "BlockBlob" }
    }

    // x-ms-blob is necessary on eu2 and is ignored on eu1
    const request: any = { method: "PUT", headers: headers, agent: proxyHttpAgent };
    request.body = myBuffer;
    const response = await fetch(signedUrl, request);
    return response.headers;
}

@nrh387 I will add the support in the next version of the library. In the mean time as a workaround, you can use the node just to generate the signed URL (but don't do the upload) and do the actual file upload with standard node-red http nodes , while adding the necessary header. Sorry that i missed that, I don't have access to mindsphere on ALI...
// Uncomment the next code line if you just want to generate an upload url (in msg._signedUrl)
// without actually uploading the file
msg._ignorePayload = true;

so that the node

Yes, i try to do that, but it looks it hard for me to pass the signed URL to standard node-red http node, the http node not accept the msg.payload from previous node.

@nrh387  any luck?

I have install the alpha version, but it looks still not work for me

from code perspective, it looks ok to check the alibaba gateway address. Is there any debug information could get from node red?

@nrh387 I've just gotten access to a tenant in CN, I have the same behavior, looking into it.

@nrh387 I got it running ;) It was my fault , I told you to install the alpha in the wrong directory, the correct one for hacking the dependency is

It is working now, the example is here:
https://playground.mindconnect.rocks/#flow/5eda11af.df734

I will release a new version some time later today, which should work as expected ;)

@nrh387 the release is out, uninstalling and reinstalling the node so that it picks up the 3.19.0 version of the library should fix the problem.

Yes, i verified and it works. Thanks so much @sn0wcat

@sn0wcat  May i know if the latest docker image have been updated for this change or not?  Right now, i fixed it with npm install manually. https://hub.docker.com/r/mindconnect/node-red-contrib-mindconnect

Not yet, sorry I forgot to start the docker image build I will take care of it today ...

@sn0wcat  that's great, please let me know when the docker image have been pushed to docker hub. Thanks a lot