SCSS support (or disabling for a given extension)

Using the new v3 version, I cannot get SCSS file to be formatted with this plugin. Is there a way to either disable this plugin for some file extensions or to add support for it?
For reference, here is the config I am using:
module.exports = {
  importOrder: ['^[./]'],
  importOrderSeparation: true,
  importOrderCaseInsensitive: true,
  importOrderSortSpecifiers: true,
  importOrderParserPlugins: ['jsx', 'typescript'],
  overrides: [
    {
      files: '*.scss',
      parser: 'scss',
      options: {
        importOrderParserPlugins: ['scss'],
      },
    },
  ],
};

If my scss file has an @import at the beginning, the following error is thrown:
This experimental syntax requires enabling one of the following parser plugin(s): 'decorators-legacy, decorators' (1:0). I have tried several ways, including removing the importOrderParserPlugins entirely, use the parser: 'typescript' as the root option, removing the parser 'scss' in the overrides. I also tried adding the decorator-legacy or 'decorators' but these two only gives an error that @import is an invalid syntax.
One idea to disable would be to have importOrder support a boolean value: false would disable the plugin and true would enable and only use the natural sort order.

I have the same issue, not for scss files but for typescript files when actually using decorators.
I'm running a monorepo setup. The linter works fine in my frontend configuration, however it does not run well with @nestjs.
.eslintrc.js
module.exports = {
  parser: '@typescript-eslint/parser',
  parserOptions: {
    project: 'tsconfig.json',
    sourceType: 'module',
  },
  plugins: ['@typescript-eslint/eslint-plugin'],
  extends: [
    'plugin:@typescript-eslint/recommended',
    'plugin:prettier/recommended',
  ],
  root: true,
  env: {
    node: true,
    jest: true,
  },
  ignorePatterns: ['.eslintrc.js'],
  rules: {
    '@typescript-eslint/interface-name-prefix': 'off',
    '@typescript-eslint/explicit-function-return-type': 'off',
    '@typescript-eslint/explicit-module-boundary-types': 'off',
    '@typescript-eslint/no-explicit-any': 'off',
  },
};

.prettierrc
{
  "singleQuote": true,
  "trailingComma": "all"
}

tsconfig.json
{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es2017",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false
  }
}

Note, that prettier autoloads all packages in node_modules with prettier-plugin. In my case, the plugin is autoloaded by prettier, it's not explicitly configured in my .prettierrc. Autoloading the plugin is sufficient to lead to this issue even though the plugin is not specified in my configuration.


Public Install Directory

I think that the installation directory of the games shouldn't be public. The route could have things like usernames, real names or other sensitive information.
For example: D:\John\PiratedGames\
At least shouldn't be public by default.

I know that the entire profile isn't public by default. I'm saying that if you mark it as public, you could be publishing some sensitive information by mistake.
If this is going to change, it's ok.


Upgraded golang/x/net to 0.24 to fix vuln

Per https://issues.redhat.com/browse/OSD-22355

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 15.24%. Comparing base (3f6c3f6) to head (4a1d6d0).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #229   +/-   ##
=======================================
  Coverage   15.24%   15.24%
=======================================
  Files          17       17
  Lines        1358     1358
=======================================
  Hits          207      207
  Misses       1137     1137
  Partials       14       14


Restore ADOPTIUM vendor for JDK

@bot-gradle test and merge

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

OK, I've already triggered a build for you.


Without the ss editor: where is the text file to edit to configure the bot?

Choosing to not use the superscript editor, then where I can find the file to edit to configurate the bot?

I received the answer in chat, thanks!
Once installed, edit “main.ss”. It will be located at /“yourInstallDir”/“yourClient”/topics/main.ss

@matteoraggi if you have successfully installed can you then close #181 #182 and #183?


Impossible to download any song !

Hi, when i try to put URL's songs into a file, then i run python spotdl.py --list
I have the following error, in loop Failed to download song. Will retry after other songs.
So, i tried to download my songs one by one, and i have the following error: `Enter a Spotify URL or Song Name:

https://open.spotify.com/track/27auF4u7jd4yq3uSytmJVm

Traceback (most recent call last):
File "spotdl.py", line 259, in
grabSingle(raw_song=command, number=None)
File "spotdl.py", line 165, in grabSingle
content = goPafy(raw_song)
File "spotdl.py", line 86, in goPafy
trackURL = generateYouTubeURL(raw_song)
File "spotdl.py", line 58, in generateYouTubeURL
song = generateSongName(raw_song)
File "spotdl.py", line 41, in generateSongName
raw_song = tags['artists'][0]['name'] + ' - ' + tags['name']
TypeError: 'NoneType' object has no attribute 'getitem'`
Thank you for your help !

Another user reported this issue in #58 too but I can't seem to reproduce this and the script works correctly for me.
But hold on, I'll investigate more into this. Most likely, this is Spotify rate-limiting us.

@Hugustus Could you please try running the script again after replacing the client_id and client_secret in L466-467 with these newly generated credentials:
client_id='6451e12933bb49ed8543d41e3296a88d',
client_secret='40ef54678fe441bd9acd66f5d5c34e69')

Let me know how it goes. Thanks!

@Ritiek Sorry, i tried to reinstall all, and now when i tried to launch spotdl.py, i have this error,
Traceback (most recent call last):   File "spotdl.py", line 5, in <module>     from bs4 import BeautifulSoup ImportError: No module named bs4
But BeautifulSoup is already installed !
Thank you ....

@Hugustos That is weird. Try re-installing it.
pip uninstall BeautifulSoup4
pip install BeautifulSoup4
If that does not work, please paste the output of pip freeze | grep beautifulsoup4.

@Hugustos That is weird. Paste the output of pip freeze | grep beautifulsoup4 here.

Ok, so all the dependencies were not installed correctly (I think the problem come from the requirements.txt), i had to reinstall all with easy_install, now the script is working again but still the same problems with URLS,
However, here is what you ask:
pip freeze | grep beautifulsoup4 beautifulsoup4==4.6.0
EDIT:
I solve my problem when i tried to open your spotdl.py in github, i had the wrong spotdl.py and i dont know why, my spotdl.py was this one: `#!/usr/bin/env python
-- coding: UTF-8 --
Usual import stuff
from bs4 import BeautifulSoup
from shutil import copyfileobj
from sys import path, version_info
import spotipy
import eyed3
import requests
import pafy
import os
import argparse
import pathlib
#import spotipy.util as util
def getInputLink(links):
while True:
try:
the_chosen_one = int(raw_input('>> Choose your number: '))
if the_chosen_one >= 1 and the_chosen_one <= len(links):
return links[the_chosen_one-1]
elif the_chosen_one == 0:
return None
else:
print('Choose a valid number!')
except ValueError:
print('Choose a valid number!')
Check if input song is Spotify URL or just a song name
def isSpotify(raw_song):
if (len(raw_song) == 22 and raw_song.replace(" ", "%20") == raw_song) or (raw_song.find('spotify') > -1):
return True
else:
return False
[Artist] - [Song Name]
def generateSongName(raw_song):
if isSpotify(raw_song):
tags = generateMetaTags(raw_song)
raw_song = tags['artists'][0]['name'] + ' - ' + tags['name']
return raw_song
def generateMetaTags(raw_song):
try:
if isSpotify(raw_song):
return spotify.track(raw_song)
else:
return spotify.search(raw_song, limit=1)['tracks']['items'][0]
except:
return None
def generateSearchURL(song):
URL = "https://www.youtube.com/results?sp=EgIQAQ%253D%253D&q=" + song.replace(" ", "%20")
return URL
def generateYouTubeURL(raw_song):
song = generateSongName(raw_song)
searchURL = generateSearchURL(song)
items = requests.get(searchURL).text
items_parse = BeautifulSoup(items, "html.parser")
check = 1
if args.manual:
links = []
print(song)
print('')
print('0. Skip downloading this song')
for x in items_parse.find_all('h3', {'class':'yt-lockup-title'}):
if not x.find('channel') == -1 or not x.find('googleads') == -1:
print(str(check) + '. ' + x.get_text())
links.append(x.find('a')['href'])
check += 1
print('')
result = getInputLink(links)
if result == None:
return None
else:
result = items_parse.find_all(attrs={'class':'yt-uix-tile-link'})[0]['href']
while not result.find('channel') == -1 or not result.find('googleads') == -1:
result = items_parse.find_all(attrs={'class':'yt-uix-tile-link'})[check]['href']
check += 1
full_link = "youtube.com" + result
return full_link
def goPafy(raw_song):
trackURL = generateYouTubeURL(raw_song)
if trackURL == None:
return None
else:
return pafy.new(trackURL)
def getYouTubeTitle(content, number):
title = content.title
if number == None:
return title
else:
return str(number) + '. ' + title
Generate name for the song to be downloaded
def generateFileName(content):
return fixEncoding((content.title).replace("\", "").replace("/", "").replace(":", "").replace("*", "").replace("?", "").replace('"', "").replace("<", "").replace(">", "").replace("|", "").replace(" ", ""))
def downloadSong(content):
music_file = generateFileName(content)
link = content.getbestaudio(preftype="m4a")
link.download(filepath="Music/" + music_file + ".m4a")
def convertToMP3(music_file):
if os.name == 'nt':
os.system('Scripts\avconv.exe -loglevel 0 -i "' + 'Music/' + music_file + '.m4a" -ab 192k "' + 'Music/' + music_file + '.mp3"')
else:
os.system('avconv -loglevel 0 -i "' + 'Music/' + music_file + '.m4a" -ab 192k "' + 'Music/' + music_file + '.mp3"')
os.remove('Music/' + music_file + '.m4a')
def checkExists(music_file, raw_song, islist):
if os.path.exists("Music/" + music_file + ".m4a.temp"):
os.remove("Music/" + music_file + ".m4a.temp")
if args.no_convert:
extension = '.m4a'
else:
if os.path.exists("Music/" + music_file + ".m4a"):
os.remove("Music/" + music_file + ".m4a")
extension = '.mp3'
if os.path.isfile("Music/" + music_file + extension):
if extension == '.mp3':
audiofile = eyed3.load("Music/" + music_file + extension)
if isSpotify(raw_song) and not audiofile.tag.title == (generateMetaTags(raw_song))['name']:
os.remove("Music/" + music_file + extension)
return False
if islist:
return True
else:
prompt = raw_input('Song with same name has already been downloaded. Re-download? (y/n): ').lower()
if prompt == "y":
os.remove("Music/" + music_file + extension)
return False
else:
return True
Remove song from list.txt once downloaded
def trimSong(file):
with open(file, 'r') as fin:
data = fin.read().splitlines(True)
with open(file, 'w') as fout:
fout.writelines(data[1:])
def fixSong(music_file, meta_tags):
audiofile = eyed3.load("Music/" + music_file + '.mp3')
audiofile.tag.artist = meta_tags['artists'][0]['name']
audiofile.tag.album = meta_tags['album']['name']
audiofile.tag.title = meta_tags['name']
albumart = (requests.get(meta_tags['album']['images'][0]['url'], stream=True)).raw
with open('last_albumart.jpg', 'wb') as out_file:
copyfileobj(albumart, out_file)
albumart = open("last_albumart.jpg", "rb").read()
audiofile.tag.images.set(3,albumart,"image/jpeg")
audiofile.tag.save(version=(2,3,0))
Logic behind preparing the song to download to finishing meta-tags
def grabSingle(raw_song, number):
if number:
islist = True
else:
islist = False
content = goPafy(raw_song)
if content == None:
return
print(getYouTubeTitle(content, number))
music_file = generateFileName(content)
if not checkExists(music_file, raw_song, islist=islist):
downloadSong(content)
print('')
if not args.no_convert:
print('Converting ' + music_file + '.m4a to mp3')
convertToMP3(music_file)
meta_tags = generateMetaTags(raw_song)
if not meta_tags == None:
print('Fixing meta-tags')
fixSong(music_file, meta_tags)
Fix python2 encoding issues
def fixEncoding(query):
if version_info > (3,0):
return query
else:
return query.encode('utf-8')
def grabList(file):
lines = open(file, 'r').read()
lines = lines.splitlines()
# Ignore blank lines in list.txt (if any)
try:
lines.remove('')
except ValueError:
pass
print('Total songs in list = ' + str(len(lines)) + ' songs')
print('')
# Count the number of song being downloaded
number = 1
for raw_song in lines:
try:
grabSingle(raw_song, number=number)
trimSong(file)
number += 1
print('')
except KeyboardInterrupt:
graceQuit()
except:
lines.append(raw_song)
trimSong(file)
with open(file, 'a') as myfile:
myfile.write(raw_song)
print('Failed to download song. Will retry after other songs.')
def graceQuit():
print('')
print('')
print('Exitting..')
exit()
Python 3 compatibility
if version_info > (3,0):
raw_input = input
eyed3.log.setLevel("ERROR")
os.chdir(path[0])
if not os.path.exists("Music"):
os.makedirs("Music")
open('list.txt', 'a').close()
spotify = spotipy.Spotify()
Set up arguments
parser = argparse.ArgumentParser()
parser.add_argument("-n", "--no-convert", help="skip the conversion process and meta-tags", action="store_true")
parser.add_argument("-m", "--manual", help="choose the song to download manually", action="store_true")
parser.add_argument("-l", "--list", help="download songs present in list.txt", action="store_true")
args = parser.parse_args()
if args.no_convert:
print("-n, --no-convert skip the conversion process and meta-tags")
if args.manual:
print("-m, --manual     choose the song to download manually")
print('')
if args.list:
grabList(file='list.txt')
exit()
while True:
for temp in os.listdir('Music/'):
if temp.endswith('.m4a.temp'):
os.remove('Music/' + temp)
try:
print('Enter a Spotify URL or Song Name: ')
command = raw_input('>> ')
print('')
grabSingle(raw_song=command, number=None)
print('')
except KeyboardInterrupt:
graceQuit()
`
Only 262 lines, so i replaced it by this one: https://github.com/Ritiek/Spotify-Downloader/blob/remake/spotdl.py
And now it's working fine and i didn't have to replace client id and secret !
The problem is when you use the tutorial, you download the wrong spotdl.py (The one with 260lines) with the git command

@Hugustus That's great. Good to know it is working correctly now but I am still not sure why git would download this old script instead of the latest one.. I am pretty sure I have the default branch set to remake..


Problem with restarting the song

Describe your problem here.
When I press enter in GameOverSubState, the song does not restart, but the black screen continues, and everything is also with PauseSubState, the song does not restart
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Yes

I believe that the MusicBeatState.hx is the cause of the issue.
Version 0.7 completely changes how the song is reset. Hope this helps.


Context?

Can someone explain
const context = initContext();
And what the context actually entails?
And why it's being passed into composer functions?

context is the all the core stuff stays in your app. Just like Meteor collections, some Meteor packages and  so on.
We passed it to the composer function because, we need to do dependency injection and remove the coupling between layers.

Hope this is fixed.


Integrate the cli within kdk project

First version published https://www.npmjs.com/package/@kalisio/kdk


Planner stops commanding braking when soft disabling

fixed when setting self.params[:,1] to 2 (not caused by v_upper)

Fixed in #26765


Update README.rst

api keys are deprecated and will no longer be supported next year but using an access key as generated at https://airtable.com/developers/web/guides/personal-access-tokens in the airtable.Airtable method works just the same as the API_KEY currently does. lets shift the language to what it will be in the future.

Thanks.


Unecessary include - curry_and_treehash.clib

https://github.com/trgarrett/chialisp/blob/a8b3400f88138b499ff62c437ab6927988d213e7/royalty_share/clsp/p2_royalty_share_arbitrary_shares/p2_royalty_share_arbitrary_shares_rest_to_last.clsp#L12
Line 12: (include curry_and_treehash.clib)
Nothing from the include is used in the program therefore it can be commented out or removed.

Thanks. This puzzle is directly from CHIP-0008, so it may not change in this repository.  If we can remove it without changing puzzlehashes, I am willing to consider it though.


chore: CanonicallyLinearOrdered[Add]CommMonoid extends more

Originally:
class CanonicallyLinearOrderedAddCommMonoid (α : Type*)
  extends CanonicallyOrderedAddCommMonoid α, LinearOrder α

class CanonicallyLinearOrderedCommMonoid (α : Type*) extends CanonicallyOrderedCommMonoid α,
  LinearOrder α

Now:
class CanonicallyLinearOrderedAddCommMonoid (α : Type*)
  extends CanonicallyOrderedAddCommMonoid α, LinearOrderedAddCommMonoid α

class CanonicallyLinearOrderedCommMonoid (α : Type*)
  extends CanonicallyOrderedCommMonoid α, LinearOrderedCommMonoid α

It gives the same union of properties as before, but now we have two more conversions for free:
CanonicallyLinearOrderedAddCommMonoid  -> LinearOrderedAddCommMonoid
CanonicallyLinearOrderedCommMonoid  -> LinearOrderedCommMonoid

Please also fix the PR title to match the conventions, and write a short description

bors r+


Flag bypassing of Settings API

The only way I can think of to automate checking of this is to look for instances of add_menu_page or add_submenu_page, and for the callback argument, and then to attempt to find that callback function and check to see if it outputs any fields, and if it does, warn that they should use settings API.
However, this seems to be better checked with PHPUnit. A unit test could be run which executes the admin page callback for each admin page and checks to see if the settings API is ever invoked during the execution of the function.

Not Using the Settings API #
Instead of handling the output of settings pages and storage yourself, use the WordPress Settings API as it handles a lot of the heavy lifting for you including added security.
Make sure to also validate and sanitize submitted values from users using the sanitize callback in the register_setting call.

Is this meant to be for VIP only, or is it something everyone could benefit from?

I think checking that register_setting() is always called with sanitize_callback set in the $args would be a good addition for everyone, this is covered by #126.
Checking the callback functions passed to add_(sub)menu_page() is something which IMHO cannot easily be done in a reliable manner with PHPCS.

Closing as VIP issues are no longer relevant here.


Why is alwayscallvirt the default?

By default, the F# compiler always uses the callvirt instruction, even when the faster call instruction is safe/appropriate.  Default is set in build.fs.
You can override this with the undocumented --alwayscallvirt- flag.
Why is this the default? Should we consider changing it?

Edit: Found root cause of why base class constructors use callvirt instead of call.  Changed this issue to discussion of why this is the default setting.

I guess this is my fault :)

Could the reason be the same as in C#, that is NullReferenceException sooner and then a better story with no need to recompile referenced assemblies. I don't think it adds more than a check for null reference, so there unlikely is a noticeable performance penalty. Though looking from the C++ perspective, the native compilers do a lot of work to remove virtual tables and related machinery, so I'm not sure about that.
An article going into detail of this looks like being .NET Type Internals - From a Microsoft CLR Perspective. Interesting blog on observing null this is Jarepar's Observing a null this value.

@veikkoeeva The C# compiler does use call when it is safe/appropriate - one example being the invocation of base class constructors.  The F# compiler uses callvirt even in these situations.

Oh I see, --alwayscallvirt- is really more like --alwayscall+ :smile:  It goes too far and causes call to be used even when it "shouldn't" (i.e. when null-check is desired).
So a proper fix would require reviewing everywhere in the code generator that currently specifies a call, and determine if it should really be a callvirt...

@latkin yes, that is correct

The performance difference could be huge between the direct and indirect calls. I have (re)created a small benchmark [1] in F# to measure the call overhead in different cases.


Replace the edit message way to send telegram message

I received the similar error frequently. It seems this bot use the edit message api to send(keep editing one message). When the message is long, the edit action will happen too frequently, then hit the api call rate limit. Hope could replace it by the normal send message.
Error Message:
2022/12/06 09:01:25 Couldn't edit message: Too Many Requests: retry after 30
2022/12/06 09:01:26 Couldn't edit message: Too Many Requests: retry after 29
2022/12/06 09:01:26 Couldn't perform final edit on message: Too Many Requests:

Have a same problem. I think we should choose between editing and waiting for a full message.
If you use language is not an English, chatgpt returns an answer in a very slow → many edits.

Do you know why it's not authorized?
(base) chatgpt-telegram-Darwin-arm64 % ./chatgpt-telegram 2022/12/06 16:26:58 Started ChatGPT 2022/12/06 16:27:28 Couldn't start Telegram bot: Post Couldn't start Telegram bot: Post "https://api.telegram.org/bot[telegram_token]/getMe": dial tcp <IP_ADDRESS>:443: i/o timeout
there is return value of the above link： {"ok":false,"error_code":401,"description":"Unauthorized"}

Looks like token is wrong

Would be down for a PR that makes the number of seconds customizable

Would be down for a PR that makes the number of seconds customizable

I have implement this feat in this PR: https://github.com/m1guelpf/chatgpt-telegram/pull/28

@m1guelpf Hope this PR could be merged, I have tested it on my server, works just fine.


Interface with remote server

It would be nice to be able to use the command line to access the server on a remote machine, as is doable with the TypeScript SDK. Methods that currently use file-based communication (e.g. server start, server stop) will not really be implementable, but everything else should be by simply pointing the base URL of the LMStudioClient to a remote machine.
We should support --port, --hostname options for individual commands, and allow the user to permanently set these options (e.g. for configurations where a client machine expects to always access a particular server). I suggest we add commands e.g. lms server setremote [hostname] [port] and lms server setlocal to revert to using the local server (names subject to change).

Has been resolved at some point. It is now possible to use --host and --port flags on any lms subcommand to achieve this functionality.


Static reports 404 on sub-reports and thumbnails as /reports (leading slash) is hardcoded somewhere in _ctx.report.artifactUrl

Describe the bug
Only been playing with it an hour or so, can't pinpoint exactly where yet, but when you deploy a static site that's in a sub-directory, some of the thumbnails and all the individual page reports have the URL beginning with /reports/, which refers back to example.com/reports/unlighthouse-report/the-file, instead of example.com/unlighthouse-report/reports/the-file.

What's attempting to be fetched:

https://mayfairfinanceaustralia.com/reports/businessfinance/screenshot.jpeg

Actual URL example:

https://mayfairfinanceaustralia.com/seo/reports/20240408_0243/reports/businessfinance/screenshot.jpeg

Reproduction
No response
System / Nuxt Info
No response

Update: the issue is in the payload.js file, I just did a find/replace for artifactUrl":"/reports to remove the leading slash and everything works, so wherever that initial generation comes from.

Hi, I think you might want the routerPrefix optin? https://unlighthouse.dev/api/config#routerprefix

In 0.14.0 relative paths are used when routerPrefix isn't configured which should solve this.


bug: Sending incorrect application crashes casdoor

Description
When sending a post request to casdoor for /api/signup, casdoor crashes when the application field in the json is either empty or it's a value that does not belong to an application.
Case 1: Empty Application Value

signUp tries getting application details
The getApplication will return both empty values because the name is empty.
Signup proceeds to nil crash on application variable since it's nil

Case 2: Incorrect Application Value

signUp tries getting application details
The getApplication will return both empty values because the application did not exist.
Signup proceeds to nil crash on application variable since it's nil

Fixed by: https://github.com/casbin/casdoor/commit/901867e8bb4b07284fc91f378b5641d5742a8b9c


[Testing] add polarion id for non-existent pvc test

What this PR does / why we need it:
polarion id for non-existent pvc test
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

None

LGTM

/retest

/lgtm

/cc

/lgtm


Language status item improvements

While adapting the status item for ESLint I noticed that it is hard to spot the reason why the language status is NOT OK.
I would like to request the following two improvements:

render the severity icon with every status if the overall status is !== OK. This will help to spot the contribution that causes issues
if the status item is detached (rendered as its own status item) always render the status severity with the item.

if the status item is detached (rendered as its own status item) always render the status severity with the item.

For that I am leaning towards the corresponding status bar colors, like the warning and error background

Given the special treatment of the language status indicator being a "friend" of editor language, the background color might not work as nicely as it would if the indicator was separate:

I would rather then suggest to have both the indicator and the language picker to have the same background color:

fyi @daviddossett

That makes sense however I meant something different. In the screen shot below there is a warning icon in front of TypeScript since one of the language status item has a severity of warn. But which one? You need to read the text of all the items and even then it would not be clear.

Rendering the item with the warn severity in a different background might be better than adding icons.

Yeah, there the two options: (a) show warning/error when pinned and (b) show warning/error when inside the hover. This is how both variants look like now:

The OK (double check) icon might not be needed after all. Also, the color of the "main" status bar entry doesn't change right now


fix Remove mini load in LOADING and PENDING state

Proposed changes
Issue Number: close #8648
Problem Summary:

Remove some unused code.
handle mini load with wrong state

For some historical reasons, some mini load jobs in LOADING state have not been cleared.
As a result, new load jobs cannot be committed.
If a mini load job is created right before FE restart, the mini load job will be in PENDING state forever.
But it should be removed finally.

Checklist(Required)

Does it affect the original behavior: (No)
Has unit tests been added: (No Need)
Has document been added or modified: (No Need)
Does it need to update dependencies: (No)
Are there any changes that cannot be rolled back: (No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

LGTM

Could we reimplement the miniload api by using stream load? And remove all these mini load code?

Could we reimplement the miniload api by using stream load? And remove all these mini load code?

Actually, when using mini load in current version, it is same as stream load. The only difference it that the mini load will
create a MiniLoadJob in FE so that user can view the job with show load stmt.
I plan to disable the /_load api in Doris v1.1


Trident v18.10.0 failed to install with default --in-cluster arg

When installing trident-v18.10.0 using tridentctl-v18.10.0, if I run the command:
./tridentctl install -n trident -d

The result is:
DEBU Initialized logging.                          logLevel=debug
DEBU Running in a pod, creating API-based client.  namespace=trident
DEBU Initialized Kubernetes API client.            cli=kubectl flavor=k8s namespace=trident version=v1.12.3
DEBU Validated installation environment.           installationNamespace=trident kubernetesVersion=v1.12.3
DEBU Namespace exists.                             namespace=trident
DEBU Parsed YAML into unstructured object.         group=rbac.authorization.k8s.io kind=ClusterRoleBinding version=v1
DEBU Found API resource.                           group=rbac.authorization.k8s.io kind=ClusterRoleBinding resource=clusterrolebindings version=v1
DEBU Deleting object.                              kind=ClusterRoleBinding name=trident-installer namespace=trident
DEBU Object not found for delete, ignoring.        name=trident-installer
DEBU Deleted installer cluster role binding.
DEBU Parsed YAML into unstructured object.         group=rbac.authorization.k8s.io kind=ClusterRole version=v1
DEBU Found API resource.                           group=rbac.authorization.k8s.io kind=ClusterRole resource=clusterroles version=v1
DEBU Deleting object.                              kind=ClusterRole name=trident-installer namespace=trident
DEBU Object not found for delete, ignoring.        name=trident-installer
DEBU Deleted installer cluster role.
DEBU Parsed YAML into unstructured object.         group= kind=ServiceAccount version=v1
DEBU Found API resource.                           group= kind=ServiceAccount resource=serviceaccounts version=v1
DEBU Deleting object.                              kind=ServiceAccount name=trident-installer namespace=trident
DEBU Object not found for delete, ignoring.        name=trident-installer
DEBU Deleted installer service account.
DEBU Parsed YAML into unstructured object.         group= kind=ServiceAccount version=v1
DEBU Found API resource.                           group= kind=ServiceAccount resource=serviceaccounts version=v1
DEBU Creating object.                              kind=ServiceAccount name=trident-installer namespace=trident
DEBU Created object by YAML.                       name=trident-installer
INFO Created installer service account.            serviceaccount=trident-installer
DEBU Parsed YAML into unstructured object.         group=rbac.authorization.k8s.io kind=ClusterRole version=v1
DEBU Found API resource.                           group=rbac.authorization.k8s.io kind=ClusterRole resource=clusterroles version=v1
DEBU Creating object.                              kind=ClusterRole name=trident-installer namespace=trident
DEBU Created object by YAML.                       name=trident-installer
INFO Created installer cluster role.               clusterrole=trident-installer
DEBU Parsed YAML into unstructured object.         group=rbac.authorization.k8s.io kind=ClusterRoleBinding version=v1
DEBU Found API resource.                           group=rbac.authorization.k8s.io kind=ClusterRoleBinding resource=clusterrolebindings version=v1
DEBU Creating object.                              kind=ClusterRoleBinding name=trident-installer namespace=trident
DEBU Created object by YAML.                       name=trident-installer
INFO Created installer cluster role binding.       clusterrolebinding=trident-installer
DEBU Parsed YAML into unstructured object.         group=rbac.authorization.k8s.io kind=ClusterRoleBinding version=v1
DEBU Found API resource.                           group=rbac.authorization.k8s.io kind=ClusterRoleBinding resource=clusterrolebindings version=v1
DEBU Deleting object.                              kind=ClusterRoleBinding name=trident-installer namespace=trident
DEBU Deleted object by YAML.                       name=trident-installer
INFO Deleted installer cluster role binding.
DEBU Parsed YAML into unstructured object.         group=rbac.authorization.k8s.io kind=ClusterRole version=v1
DEBU Found API resource.                           group=rbac.authorization.k8s.io kind=ClusterRole resource=clusterroles version=v1
DEBU Deleting object.                              kind=ClusterRole name=trident-installer namespace=trident
DEBU Deleted object by YAML.                       name=trident-installer
INFO Deleted installer cluster role.
DEBU Parsed YAML into unstructured object.         group= kind=ServiceAccount version=v1
DEBU Found API resource.                           group= kind=ServiceAccount resource=serviceaccounts version=v1
DEBU Deleting object.                              kind=ServiceAccount name=trident-installer namespace=trident
DEBU Deleted object by YAML.                       name=trident-installer
INFO Deleted installer service account.
FATA Install failed; not implemented.  Resolve the issue; use 'tridentctl uninstall' to clean up; and try again.

Fix: I have to run ./tridentctl install -n trident -d --in-cluster=false, then it's successful.
Investigation: into the code, the in-cluster arg default value in v18.07 is false: https://github.com/NetApp/trident/blob/stable/v18.07/cli/cmd/install.go#L117. While in v18.10, the default is true. Then the install code runs CreateConfigMapFromDirectory that was not implemented:
https://github.com/NetApp/trident/blob/stable/v18.10/cli/k8s_client/k8s_client.go#L672

We've been unable to reproduce this. The default is intentionally the in-cluster method, and we have not had any other reports of this failing. Please try again with the latest stable version. If you still see this issue, feel free to re-open with more information about your environment, logs, etc.

The reproduction path requires following:

Install trident as a pod: then a new KubeClient is created: https://github.com/NetApp/trident/blob/47c001ba9ecfa9b8de0a4bd1e1e5dafc0ccbd6ad/cli/cmd/install.go#L262
Run with default in-cluster=true, then the method CreateConfigMapFromDirectory is called at https://github.com/NetApp/trident/blob/47c001ba9ecfa9b8de0a4bd1e1e5dafc0ccbd6ad/cli/cmd/install.go#L1622, this method is not implemented and return Error object.

@clintonk, can you explain how someone would fall into this situation?
Installation as a pod (in-cluster=true) is the default installation method, so there must be something else going on. If there were some basic issue like this, installations to be failing all the time.
  If that assumption is true, the only way I can see that we'd get here is if the file /var/run/secrets/kubernetes.io/serviceaccount/namespace exists on the host.  Reading that file is how we determine whether or not we are running in a K8S container; it should exist inside a K8S pod and it should not exist outside a pod.

We're running tridentctl inside a pod (of a Docker image containing all trident-installer and kubectl tools). That explains why the execution flow goes through that branch.

@canhnt Yes, that explains it.  Since you're already inside a pod, the workaround is to use --in-cluster=false.  Keep in mind we haven't ever tested the installer that way, but it seems to me it should work.

tridentctl can already be run in the shell in the running trident container and corresponding namespace. I think what you are asking for is installing trident from/within a container/pod

Closing this issue as workaround solutions were provided.


Callback when node has been restored

Is there a way to get a callback for when a node of a given service has been restored?  For example:
Node A is running service test_service
Node B starts and is Polling for nodes of type test_service
Node B sees Node A and connects via the Discovery.Handler.NodeConnect
Node A goes down (elixir app not consul)
Node B does not get a callback
Node A returns
Node B is not getting a callback (however the:  [info]  Connected to: name@route is printing so they are reconnecting)
Example code for Node B:
defmodule Sample do
    use Application
    require Logger

    def start(_type, _args) do
        import Supervisor.Spec, warn: false
        children =
        [
            worker(Discovery.Poller,
                ["test_service", [Discovery.Handler.NodeConnect, &discoveryCB/1]],
                id: :test_service_id)
        ]
        opts = [strategy: :one_for_one, name: Sample.Supervisor]
        Supervisor.start_link(children, opts)
    end

    def discoveryCB(services) do
        Logger.debug("[Sample] services available = #{inspect services}")
    end
end

While getting a callback for when the Node goes down is not really a big deal, getting a callback for when a node returns would be VERY helpful.
NOTE:  If both consul and elixir go down, callbacks are hit upon the return of the service.

@cjimison yes, but it's not super clear how to do it because I've got a bit of work to do in naming and documentation. This is what you are looking for:
defmodule MyApp.Supervisor do
  def init([]) do
    children = [
      worker(Discovery.Poller, ["my_service", [
        {Discovery.Handler.NodeConnect, [
          {MyEventHandler, []}
        ]}
      ]], id: :my_service),
    ]

    supervise(children, strategy: :one_for_one)
  end
end

defmodule MyEventHandler do
  use Discovery.NodeConnector.Handler

  def on_connect(node, service, state), do: state
  def on_disconnect(node, service, state), do: state
end

The event handler will fire each time a connect / disconnect event is fired

Bad ass, this is exactly what I needed to know!  I saw the NodeConnector.Handler in the code base, just wasn’t sure how add my own via the publicly exposed API (and I am now happily reverting my hacks :).
Thanks for the help!
-Chris

On Apr 8, 2015, at 11:16 AM, Jamie Winsor<EMAIL_ADDRESS>wrote:
defmodule MyEventHandler do
use Discovery.NodeConnector.Handler
def on_connect(node, service, state), do: state
def on_disconnect(node, service, state), do: state
end

@cjimison no problem at all, this is something I need to make more clear in the documentation!


Python bindings installation fails

I keep running into errors while attempting to install the Python bindings (Ubuntu 14.04 + OS X Snow Leopard).
pip installing (locally or from github) leads to:
    building 'postal.text._normalize' extension
    cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I. -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/normalize.c -o build/temp.macosx-10.10-intel-2.7/src/normalize.o -std=c99 -DHAVE_CONFIG_H -Wno-unused-function
    In file included from src/normalize.c:1:
    In file included from src/normalize.h:36:
    In file included from src/transliterate.h:12:
    In file included from src/trie.h:32:
    In file included from src/file_utils.h:11:
    src/libpostal_config.h:7:14: fatal error: 'config.h' file not found
        #include <config.h>
                 ^
    1 error generated.
    error: command 'cc' failed with exit status 1

    ----------------------------------------
Command "/Users/driordan/Data/datapy/bin/python -c "import setuptools, tokenize;__file__='/var/folders/mx/2mwxpy5j4nvdfw53dy44xdk80000gn/T/pip-ZN5DJj-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/mx/2mwxpy5j4nvdfw53dy44xdk80000gn/T/pip-CxQMdy-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/driordan/Data/datapy/include/site/python2.7/pypostal" failed with error code 1 in /var/folders/mx/2mwxpy5j4nvdfw53dy44xdk80000gn/T/pip-ZN5DJj-build

I'm foggy enough as is on C build processes, so debugging C meets bindings is hairy territory for me.
Additionally, readme.md needs to be updated so that pip install https is pip install git+https to facilitate installing from GitHub (was going to open a PR, but figured the other install issues took precedence). Figure that makes more sense once the general install issue's worked out.

The move to autoconf may be breaking simple pip installs. Removed that from the Readme.
At the moment the Python lib (pypostal) only does tokenization and basic string normalization, as this was necessary to create some of the training data, so it may not be entirely useful to you until the bindings to the main API and the address parser are added.
The best way to install pypostal is:
git clone https://github.com/openvenues/libpostal
cd libpostal
./bootstrap.sh
./configure --datadir=[some dir with 500MB of space]
python setup.py install

Tested on Ubuntu 14.04.
For the release, I'll try to cook up something simpler so people can include libpostal in a requirements.txt. It should be possible to configure the data directory in a pip install using something like "--install-options".

When I was trying to figure out the Python bindings, Google found this issue and I tried the process documented above.  This is no longer the correct process.  The Python bindings are now in their own GitHub repository and are now installed using sudo pip install
See the documentation here:https://github.com/openvenues/pypostal/blob/master/README.md


improve the code of URLStrParser.java

What is the purpose of the change

URLStrParser#parseDecodedStr 和 URL#valueOf都是将String解析成URL，但是parseDecodedStr解析parameters时支持以；作为分割，valueOf不支持。此pr修改了valueOf方法，支持以；作为分隔符。
优化URLStrParser#addParam方法。

Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #8085 (d548761) into master (943d27b) will decrease coverage by 0.85%.
The diff coverage is 50.00%.

@@             Coverage Diff              @@
##             master    #8085      +/-   ##
============================================
- Coverage     61.18%   60.33%   -0.86%
+ Complexity      491      487       -4
============================================
  Files          1091     1091
  Lines         43953    43898      -55
  Branches       6417     6384      -33
============================================
- Hits          26892    26485     -407
- Misses        14076    14437     +361
+ Partials       2985     2976       -9

Impacted Files
Coverage Δ

...ain/java/org/apache/dubbo/common/URLStrParser.java
85.02% <42.85%> (+1.41%)
:arrow_up:

...mon/src/main/java/org/apache/dubbo/common/URL.java
55.08% <100.00%> (+0.06%)
:arrow_up:

...ookeeper/ZookeeperDynamicConfigurationFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...gcenter/wrapper/CompositeDynamicConfiguration.java
0.00% <0.00%> (-73.34%)
:arrow_down:

...fig/configcenter/TreePathDynamicConfiguration.java
25.71% <0.00%> (-60.01%)
:arrow_down:

...pport/zookeeper/ZookeeperDynamicConfiguration.java
0.00% <0.00%> (-57.15%)
:arrow_down:

.../dubbo/metadata/report/MetadataReportInstance.java
12.50% <0.00%> (-40.63%)
:arrow_down:

.../configcenter/support/zookeeper/CacheListener.java
0.00% <0.00%> (-28.58%)
:arrow_down:

...ng/transport/dispatcher/all/AllChannelHandler.java
62.06% <0.00%> (-27.59%)
:arrow_down:

...g/apache/dubbo/remoting/p2p/support/FileGroup.java
41.50% <0.00%> (-22.65%)
:arrow_down:

... and 75 more

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 943d27b...d548761. Read the comment docs.


Bug with json columns

After 0.2.7 version, aurora-data-api is loading json string into python dictionary and then sqlalchemy does the same thing which results in following error.
Traceback (most recent call last):
  File "/var/task/handler.py", line 106, in handler
    return app.resolve(event, context)
  File "/opt/python/aws_lambda_powertools/event_handler/api_gateway.py", line 502, in resolve
    return self._resolve().build(self.current_event, self._cors)
  File "/opt/python/aws_lambda_powertools/event_handler/api_gateway.py", line 561, in _resolve
    return self._call_route(route, match_results.groupdict())  # pass fn args
  File "/opt/python/aws_lambda_powertools/event_handler/api_gateway.py", line 615, in _call_route
    return ResponseBuilder(self._to_response(route.func(**args)), route)
  File "/var/task/handler.py", line 102, in handle_rutter
    return JsonResponse({'integration_connection_id': str(integration_connection.id)})
  File "/var/task/sqlalchemy/orm/attributes.py", line 481, in __get__
    return self.impl.get(state, dict_)
  File "/var/task/sqlalchemy/orm/attributes.py", line 941, in get
    value = self._fire_loader_callables(state, key, passive)
  File "/var/task/sqlalchemy/orm/attributes.py", line 972, in _fire_loader_callables
    return state._load_expired(state, passive)
  File "/var/task/sqlalchemy/orm/state.py", line 710, in _load_expired
    self.manager.expired_attribute_loader(self, toload, passive)
  File "/var/task/sqlalchemy/orm/loading.py", line 1451, in load_scalar_attributes
    result = load_on_ident(
  File "/var/task/sqlalchemy/orm/loading.py", line 407, in load_on_ident
    return load_on_pk_identity(
  File "/var/task/sqlalchemy/orm/loading.py", line 541, in load_on_pk_identity
    return result.one()
  File "/var/task/sqlalchemy/engine/result.py", line 1407, in one
    return self._only_one_row(
  File "/var/task/sqlalchemy/engine/result.py", line 558, in _only_one_row
    row = onerow(hard_close=True)
  File "/var/task/sqlalchemy/engine/result.py", line 1271, in _fetchone_impl
    return self._real_result._fetchone_impl(hard_close=hard_close)
  File "/var/task/sqlalchemy/engine/result.py", line 1674, in _fetchone_impl
    row = next(self.iterator, _NO_ROW)
  File "/var/task/sqlalchemy/orm/loading.py", line 147, in chunks
    fetch = cursor._raw_all_rows()
  File "/var/task/sqlalchemy/engine/result.py", line 392, in _raw_all_rows
    return [make_row(row) for row in rows]
  File "/var/task/sqlalchemy/engine/result.py", line 392, in <listcomp>
    return [make_row(row) for row in rows]
  File "/var/task/sqlalchemy/sql/sqltypes.py", line 2656, in process
    return json_deserializer(value)
  File "/var/lang/lib/python3.9/json/__init__.py", line 339, in loads
    raise TypeError(f'the JSON object must be str, bytes or bytearray, '

To fix this aurora-data-api will have to accept argument which won't do json loading in when it is used with sqlalchemy

Fixed in v0.3.3.


Corrected compiler command in error message.

if you parameterize this on elm version (e.g. < 0.19 this was the right command), I'd be happy to merge it. Thanks!

merging this now because we've stopped using elm 18 internally. Thank you!


AttributeError: 'BoschSensor' object has no attribute '__attr_state_class'

Describe the bug
The log is clogging up with error messages from BoschSensor
To Reproduce
It occurs constantly, like every minute.
Expected behavior
Everything works as expected. The error doesn't seem to have an impact on functionality.
Logs
2024-01-19 11:24:36.633 WARNING (MainThread) [custom_components.bosch] Unloading Bosch module.
2024-01-19 11:24:42.599 WARNING (MainThread) [bosch_thermostat_client.sensors.sensor] Can't update data for actualSupplyTemperature. Trying uri: /heatingCircuits/hc1/actualSupplyTemperature. Error message: Error requesting data from /heatingCircuits/hc1/actualSupplyTemperature
2024-01-19 11:24:42.600 WARNING (MainThread) [bosch_thermostat_client.sensors.sensor] Can't update data for supplyTemperatureSetpoint. Trying uri: /heatingCircuits/hc1/supplyTemperatureSetpoint. Error message: Error requesting data from /heatingCircuits/hc1/supplyTemperatureSetpoint
2024-01-19 11:24:42.630 ERROR (MainThread) [homeassistant.util.logging] Exception in async_update when dispatching 'bosch_sensor_update': ()
Traceback (most recent call last):
  File "/config/custom_components/bosch/sensor/base.py", line 120, in async_update
    self._state = None if self._attr_state_class == "measurement" else self._bosch_object.state
                          ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 339, in _getter
    return getattr(o, private_attr_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'BoschSensor' object has no attribute '__attr_state_class'

2024-01-19 11:24:42.654 ERROR (MainThread) [homeassistant.util.logging] Exception in async_update when dispatching 'bosch_sensor_update': ()
Traceback (most recent call last):
  File "/config/custom_components/bosch/sensor/base.py", line 120, in async_update
    self._state = None if self._attr_state_class == "measurement" else self._bosch_object.state
                          ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 339, in _getter
    return getattr(o, private_attr_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'BoschSensor' object has no attribute '__attr_state_class'

2024-01-19 11:24:42.677 ERROR (MainThread) [homeassistant.util.logging] Exception in async_update when dispatching 'bosch_sensor_update': ()
Traceback (most recent call last):
  File "/config/custom_components/bosch/sensor/base.py", line 120, in async_update
    self._state = None if self._attr_state_class == "measurement" else self._bosch_object.state
                          ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 339, in _getter
    return getattr(o, private_attr_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'BoschSensor' object has no attribute '__attr_state_class'
...

Version

HA Core 2014.1.3
HA OS 11.4
HA Bosch v0.24.5
Python Bosch HTTP client version?

** Debug SCAN **
** IMPORTANT **
link to debug log
Additional context
Device: Buderus CT100

fixed in dev version https://github.com/bosch-thermostat/home-assistant-bosch-custom-component/releases/tag/v0.25.0-dev.6
I will release stable, when I got confirmation that everything is working.

I get the same issue on the latest stable version 25.1?
It floods the logs with this error
2024-05-17 09:56:10.175 ERROR (MainThread) [homeassistant.util.logging] Exception in async_update when dispatching 'bosch_sensor_update': () Traceback (most recent call last):   File "/config/custom_components/bosch/sensor/base.py", line 118, in async_update     if self._attr_state_class        ^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'BoschSensor' object has no attribute '__attr_state_class'. Did you mean: '_attr_state_class'?


Deploy Handler

Implement deploy handler

Basic job submission is complete, will move on to triggering a job to test the plugin


Brain Non-myeloid data analysis questions

Hi!
Firstly, I've wanted to thank you for providing such an amazing dataset!
I've been learning and working with Brain Non-Myeloid dataset, and over time I've accumulated quite a few questions that I'd like to ask someone. I am relatively new when it comes to RNA-seq data analysis and would love to understand the data more indepth than I do now. Would it be plausible to contact someone to clear a few thing up?
Thank you very much!
Best wishes,
Gabriele

@Gabi86 please use this link to find some time to chat


BaseService delete should filter out previously deleted items

Done in beta branch and will be released in 3.0.


[DOC] Add a best practice and troubleshooting doc page

We should add a best practice and troubleshooting doc page in addition to our FAQ.

Done by https://github.com/NVIDIA/spark-rapids/pull/8972


[BACKLOG-25678] - all steps are stopped if a Trans fails

I couldn't figure a way to unit test this change.  open to suggestions.

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/trans/ael/websocket/TransWebSocketEngineAdapter.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.checksum.CheckSumMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.job.entries.evaluatetablecontent.JobEntryEvalTableContent

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.job.entries.ftpsget.JobEntryFTPSGet

Branch Change: -0.6% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.6% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -3.8% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Branch Change: -2.6% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.symmetriccrypto.symmetriccryptotrans.SymmetricCryptoTransMeta

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -1.8% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:


Simplify installation process

why
Installing EnMasse require you to either:

Run a deployment script
Run ansible playbooks
Walk through a very long manual process

Ideally, the manual process should just be kubectl/oc create -f examples/enmasse instead of the ~20 commands required today. With the simplifications in this proposal, the manual process will be simpler, the deployment script will be simpler, and the ansible playbooks will be simpler. The complexity currently in the ansible playbooks will be moved into the component as part of a auto-create config.
Proposal
templates/install/resources will be reorganized into bigger components like enmasse-base, standard-authservice, none-authservice and service-broker and moved directly under templates and represented as YAML.  On master, these folders can be used to deploy EnMasse to test and experiment from master. The files will be named so that when folders are merged, they will not conflict, and can be used to construct 'bundles' of a particular configuration (i.e. enmasse-with-standard-authservice) as part of the release process. The resource filenames will also be prefixed to enforce an order when creating them using the directory.
Changes to image names etc. (i.e. during a release) is done by using sed.
templates/install/ansible will be moved into ansible at the top level. The ansible playbooks still provide value for those who manage systems using ansible.
templates/install/deploy.sh will be removed, as the simplified manuall process will make it irrelevant.
Resources that are today created dynamically, such as ServiceAccount, ClusterRoleBinding will need to be added to and managed by each component individually.
keycloak-controller deployment should have an added paramter, to indicate whether it should auto-create certs, keycloak-config, keycloak-credentials if they don't exist. In the example templates, this defaults to yes.
api-server should have an added parameter, to indicate whether it should auto-create certs, api-server-config and fetching the client cert for the kube API server.
address-space-controller need to retrieve the keycloak URL at run time.
Testing
Test should deploy with the example configs.
Documentation
Manual steps in the documentation should be updated to using the example bundles.
Tasklist

[ ] Update api-server to auto-generate config if not exists
[ ] Update keycloak-controller to auto-generate config if not exists
[ ] Move generated YAML templates into coarser groups and enumerate filenames to indicate order.
[ ] Move ansible roles and playbooks to top level
[ ] Remove all jsonnet templates

On the whole, I think this sounds like a real improvement.

Two questions:

After having installed using the new process, how will I completely uninstall the product?
@k-wall
These instructions should probably be added to the docs, but it would be something like

oc delete all -l app=enmasse -n <enmasse namespace>  alternatively oc delete <enmasse namespace>
oc delete clusterroles -l app=enmasse
oc delete apiservices -l app=enmasse
oc delete clusterservicebrokers -l app=enmasse # if deploying the service broker

If I am using product version 1, and version 1.1 is shipped, how do I upgrade? How does the process above support the requirement for incremental upgrades?

After spending some more time looking at this, I think we should have a folder per component as part of a release + a simple "bundle" to get started quickly (i.e. address-space-controller, api-server, standard-authservice, enmasse-bundle-with-standard-authservice). This will allow us to provide a good OOTB experience, as well as make it easy for users to upgrade component individually.
The upgrade depends on how the user chooses to customize the resources, but in general, if you want to upgrade components individually, it could be (assuming we have the folders address-space-controller, api-server, standard-authservice for instance)

Download new release bundle
Perform the upgrade per component

oc apply -f address-space-controller
oc apply -f api-server
oc apply -f standard-authservice

This will apply any differences between the resources, and (based on the Deployment Strategy in the Deployment resource for instance) do a rolling upgrade of each component.

Depending its configuration, the address-space-controller may start the upgrade process for the infrastructure backing each address space (this is planned in #1585 )

Closing as work is merged


HttpPostRequestDecoder boundary split bug

Netty  4.1.0.Beta3
When i trying to send multipart forms by Qt to Netty
I found that this bug is based on wrong use of StringUtil.split
String[] boundary = StringUtil.split(headerContentType[mrank], '=');
if (boundary.length != 2) {
throw new ErrorDataDecoderException("Needs a boundary value");
}
Here a check for count of split result not equal to 2
but, when qt sends boundary
For example
multipart/form-data; boundary="boundary_.oOo._MTM2Mjc3NzU1OQ==MTYyMDIwNDkzMA==NTAyNTc2MTI0"
it splits up to 6 elements, and i think that it wrong, or may be more strict protocol in netty?

This is a dupe of https://github.com/netty/netty/issues/3004 and has already been addressed in https://github.com/netty/netty/commit/d6e7997f8dfd0a9b7dfa7c2b9ab0bdbf17e46712

@semoro I confirm this should be fixed already. It is already in the 4.1.0 repository (but not release yet since the 4.1.0 Beta 4 is not already out).
Could you check ?

I had updated to 4.1.0 Beta 4, Now all works fine) Thank you!

Thanks to report this works now !


How do I read a Base64 Url encoded string to excel?

I'm getting a xlsx attachment using the Gmail API https://developers.google.com/gmail/api/v1/reference/users/messages/attachments#resource
It returns it as a "The body data of a MIME message part as a base64url encoded string."
I'm not sure how to read it?
XLSX.read(attachment, {type: 'base64'});
I get

TypeError: f.substr is not a function

How I do read this? Ultimately I want to convert that base64 format from Gmail to a JSON object.
Thanks.

@magician11 the linked doc suggests the encoding is base64url:

The body data of a MIME message part as a base64url encoded string.

Can you try:
XLSX.read(attachment.replace(/\//g, "_").replace(/\+/g, "-"), {type:'base64'})

Ah ok. Convert it to Base64 from base64url.
I tried your code and got

Error: Corrupted zip : can't find end of central directory

I think we also need to pad the end of the string with '=' a few times.
Something like
var workbook = XLSX.read(attachment.replace(/\//g, "_").replace(/\+/g, "-").concat('=', (4 - ( attachment.length % 4 ))), {type:'base64'})
?
Unfortunately I got the same error message as above.
I've been looking around for libraries for this. It seems it would be pretty common, but haven't found anything solid yet. Do you know of one?

@magician11 I haven't tested anything yet.  Can you try the other direction?
XLSX.read(attachment.replace(/_/g, "/").replace(/-/g, "+"), {type:'base64'})

It's really confusing because there are multiple base64 standards https://en.wikipedia.org/wiki/Base64#Variants_summary_table

That worked!
Thank you :)

@magician11 added a note to the wiki: https://github.com/SheetJS/js-xlsx/wiki/Browser-Errors#gmail-api-typeerror-fsubstr-is-not-a-function feel free to embellish or add any other feedback

I have an XLSX file on the server which I am trying to download. When I hit that url with axios call, I get very diff, random data as response. How do I convert it to normal xlsx data?
data :
&��\���ad,��J������]bl��sM�E@�&ŵ�ͧ 0��
b�TC%̔Jba���4���8'��8oA��YRi
ڨV�ߌ�,1/hK8�� K6�+�,�!��D���p�k�%���:v
��h'�T�)�!���c�O�j|�G�Q{����U�pb�n'(��!�R-W0@����W��0��u�I��;�YᲨ�ok>N0YЎ)����=��
Ç��W��/X�\�ZtZ�O�,ᴴ�YU��U����U���JI�]���'�M�b[���	i�Od
Data from response looks like this.

I had this problem and what I did was:
const buf = Buffer.from(attachment, 'base64')
const sheet = xlsx.read(buf, { type: 'buffer' })

I get the same result that with the replace but I find it cleaner for reading.

I am new to react , I have a small problem.
I have a below method and "TestExcel.xlsx"  is in my root folder where my package.json file there
uploadFileAction() {
const workbook = XLSX.readFile('TestExcel.xlsx', 'file');
console.log(workbook)
}
I am getting the below error.
default: throw new Error("Unrecognized type " + opts.type);.
In the document it says node.js only for file type:

type
expected input

"base64"
string: Base64 encoding of the file

"binary"
string: binary string (byte n is data.charCodeAt(n))

"string"
string: JS string (characters interpreted as UTF8)

"buffer"
nodejs Buffer

"array"
array: array of 8-bit unsigned int (byte n is data[n])

"file"
string: path of file that will be read (nodejs only)

Can someone provide me the code how to do that via node.js or can some one help me how to convert my "TestExcel.xlsx" from my root folder to base64string. .
I have searched but there is no proper info provided.  can some one help me with that.
In react when I browse and upload the excel , how to convert the excel into object using
import XLSX from 'xlsx';  component.
Thanks

readFile is specific to nodejs (under the hood, it uses fs.readFileSync, something that has no equivalent in the browser).  If you are trying to read in react, place the file in the public folder (so that users can download it) and use the fetch api to download the file, then read the file with FileReader and call XLSX.read with {type:"array"}

@kantmani4
uploadFileAction() {
    const workbook = XLSX.read('TestExcel.xlsx', { type: 'file' });
    console.log(workbook)
}


How to change row Highlighting color?

Hi guys!
Help please how to turn off whole-row highlighting(when I press Shift+Left, or Shift with other arrow)
In my dark scheme I don't see anything.. I'm not a cat :)

Best regards,
Gennady

Resolved - in Resharper Options changed scheme from "ReSharper 2.x.." to "Visuak Studio"(VS restart required):


Importing addons breaks for native ES module imports (vite)

Summary: placeholder.js not supporting native ES module import?
Calling import 'codemirror/addon/display/placeholder.js' in a vue 3/vite project fails in dev mode with an error message placeholder.js:10 Uncaught ReferenceError: CodeMirror is not defined.
It seems that the root cause of this problem is that vite uses native ES module imports --- which seem not to be supported for this particular addon.
Adding a single line import CodeMirror from 'codemirror' at the top of the file codemirror/addon/display/placeholder.js solves the problem -- of course this is a hack that just demonstrates that the file expects a different import system than used.
Thus, what's needed to resolve this issue is to support native ES module imports for the addons.
How to reproduce the problem?
npm init vite-app import-bug-report
cd import-bug-report
cat > package.json << "EOF"
{
  "name": "import-bug-report",
  "version": "0.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  },
  "dependencies": {
    "codemirror": "^5.55.0",
    "vue": "^3.0.0-beta.14"
  },
  "devDependencies": {
    "vite": "^0.20.0",
    "@vue/compiler-sfc": "^3.0.0-beta.14"
  }
}
EOF

cat > src/main.js << "EOF"
import { createApp } from 'vue'
import App from './App.vue'
import './index.css'

import CodeMirror from 'codemirror'
import 'codemirror/addon/display/placeholder.js'

createApp(App).mount('#app')
EOF

npm install
npm run dev

Open in the browser: http://localhost:3000/ and inspect the DevTool console.
I use Chrome Version 84.0.4147.89 (Official Build) (64-bit) on Ubuntu Linux.
Additional references
Info about vite: https://github.com/vitejs/vite -- The section https://github.com/vitejs/vite#browser-support states: "Vite requires native ES module imports during development. The production build also relies on dynamic imports for code-splitting (which can be polyfilled)."
In a possibly similar issue https://github.com/vitejs/vite/issues/385 -- Evan You (the author of vue and of vite) writes: "I would recommend bugging the author of use-http to switch to ESM syntax and publish an ESM build instead." I'd like to do this here with this bug report.

It seems that the root cause of this problem is that vite uses native ES module imports --- which seem not to be supported for this particular addon.

The addons are all UMD modules, and none of them are compatible with ES modules. As such, until version 6 is production-ready and you are able to move to it, you're going to have to accept that you'll have to pre-bundle the parts of CodeMirror you need using some CommonJS-aware bundler.


Added to onboarding reproduction logs

Also please add some info on your repro - what OS? system config? everything worked okay? etc.


Notification Delivery Issue on Android 13+ with Outdated React Native Version

I'm currently facing an issue with the package in my React Native app. The app is running an outdated version of React Native (0.63.3), and users on Android versions 13 and above are not receiving notifications.
Due to time constraints and the complexity involved, I'm unable to upgrade the React Native version to the latest one supported by the plugin.
However, I'm keen on finding a solution to ensure that notifications are delivered to users on Android 13 and above, as the app is already in production.
Is there a possibility of creating a compatibility patch for the plugin that addresses the issue specifically for Android 13 and above, or maybe a native-level workarounds that could be implemented without requiring a React Native version upgrade?
This could be a temporary solution to ensure continuity for production users until a full upgrade can be performed.
Environment Details:
React Native Version: 0.63.3
Android Versions Affected: 13 and above
Package Version: 5.1.0

Thank you @Hicham-Zaroual for bringing this issue to our attention. While we currently don't have a policy of offering custom patches, we're here to assist you in finding a solution. It seems the issue could be related to the changes in push notification permission handling introduced in Android 13.
As Android 13 support has been provided in plugin versions 7.0.0 and onwards, it's likely that the required adjustments have been made in our SDK. To address this, I recommend reviewing the changes made in versions 7.0.0 and 7.0.1 of our plugin. Additionally, our migration guide and documentation on Android 13 Notification Permission Handling could provide valuable insights.
If you encounter any further difficulties or have questions while implementing the solution, please don't hesitate to reach out. We're here to help.
Could you also confirm if manually requesting the permission resolved the issue on your end?
Thanks!

Thank you @acikul for your prompt response and guidance.
I've successfully addressed the Android notification issue by adding the line
 to the AndroidManifest.xml file. Additionally, I've added the following two lines to the file /node_modules/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js:
POST_NOTIFICATIONS: 'android.permission.POST_NOTIFICATIONS',
POST_NOTIFICATIONS: 'string',
and I have updated the library from version 5.1.0 to version 6.1.0.
These modifications have effectively resolved the notification problem on Android 13 and above within my application.
However, I'm currently encountering an error on ios when running the yarn run mm_build command. The specific error message I'm receiving is as follows:
Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -project node_modules/infobip-mobile-messaging-react-native-plugin/ios/Carthage/Checkouts/mobile-messaging-sdk-ios/MobileMessaging.xcodeproj -scheme MobileMessaging -configuration Release -derivedDataPath Library/Caches/org.carthage.CarthageKit/DerivedData/15.3_15E204a/mobile-messaging-sdk-ios/9.2.16 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive VALIDATE_WORKSPACE=NO -archivePath /var/folders/tk/ck1v7zhj7kvg91ynscdtb89h0000gn/T/mobile-messaging-sdk-ios SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in node_modules/infobip-mobile-messaging-react-native-plugin/ios/Carthage/Checkouts/mobile-messaging-sdk-ios)
Xcode version : 15.3
I will now closely examine this error to identify and resolve the issue. If you have any suggestions or additional advice for resolving this error, I would appreciate hearing them.
Once again, thank you for your help and attention to this matter. I will keep you updated on any progress or further difficulties I encounter while resolving this issue.
Best regards

I'm currently facing an issue with the package in my React Native app. The app is running an outdated version of React Native (0.63.3), and users on Android versions 13 and above are not receiving notifications.
Due to time constraints and the complexity involved, I'm unable to upgrade the React Native version to the latest one supported by the plugin. However, I'm keen on finding a solution to ensure that notifications are delivered to users on Android 13 and above, as the app is already in production.
Is there a possibility of creating a compatibility patch for the plugin that addresses the issue specifically for Android 13 and above, or maybe a native-level workarounds that could be implemented without requiring a React Native version upgrade?
This could be a temporary solution to ensure continuity for production users until a full upgrade can be performed.
Environment Details:
React Native Version: 0.63.3 Android Versions Affected: 13 and above Package Version: 5.1.0

I encountered the same issue. Is there a workaround solution ?
Thanks.

Thank you @acikul for your prompt response and guidance. I've successfully addressed the Android notification issue by adding the line to the AndroidManifest.xml file. Additionally, I've added the following two lines to the file /node_modules/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js: POST_NOTIFICATIONS: 'android.permission.POST_NOTIFICATIONS', POST_NOTIFICATIONS: 'string', and I have updated the library from version 5.1.0 to version 6.1.0. These modifications have effectively resolved the notification problem on Android 13 and above within my application. However, I'm currently encountering an error on ios when running the yarn run mm_build command. The specific error message I'm receiving is as follows: Build Failed Task failed with exit code 65: /usr/bin/xcrun xcodebuild -project node_modules/infobip-mobile-messaging-react-native-plugin/ios/Carthage/Checkouts/mobile-messaging-sdk-ios/MobileMessaging.xcodeproj -scheme MobileMessaging -configuration Release -derivedDataPath Library/Caches/org.carthage.CarthageKit/DerivedData/15.3_15E204a/mobile-messaging-sdk-ios/9.2.16 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive VALIDATE_WORKSPACE=NO -archivePath /var/folders/tk/ck1v7zhj7kvg91ynscdtb89h0000gn/T/mobile-messaging-sdk-ios SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in node_modules/infobip-mobile-messaging-react-native-plugin/ios/Carthage/Checkouts/mobile-messaging-sdk-ios)
Xcode version : 15.3
I will now closely examine this error to identify and resolve the issue. If you have any suggestions or additional advice for resolving this error, I would appreciate hearing them.
Once again, thank you for your help and attention to this matter. I will keep you updated on any progress or further difficulties I encounter while resolving this issue.
Best regards

I encountered the same issue. Is there a workaround solution ?
Thanks.

Hey @Hicham-Zaroual and @MalickDiaw,
It's great to hear that the modifications resolved the notification issue on Android 13! Regarding the iOS error you encountered, what you've provided seems to be the command that's failing rather than the actual error message.
I'd like to get more info about the error you're encountering to successfully reproduce it. Could you provide the specific error message that appears in the output of the failed command? Usually error 65 indicates a compilation/linking issue.
You mentioned you switched from plugin version 5.1.0 to 6.1.0. Have you followed the migration guide for these particular versions?
Additionally, since you're running the yarn run mm_build command, are you following the manual integration guide for iOS?
Best regards.

We didn't receive any answer, so I'll close it due to inactivity, you can reopen it if needed.


Support for customising build.sub_commands directly from distutils has been deprecated and is about to be removed from setuptools

The following feature in setuptools has been deprecated for almost 2 years and is about to be removed:
https://github.com/pypa/setuptools/blob/1ed759173983656734c3606e9c97a348895e5e0c/setuptools/command/build.py#L13-L27
It might be a good idea to import build directly from setuptools for the following code:
https://github.com/andialbrecht/build_manpage/blob/eab1ec290eee86734b10afd8fda83c0e44d8b79e/build_manpage.py#L149
(build is available directly from setuptools, starting on version v62.4.0)

JFTR, this has been fixed in argparse-manpage: https://github.com/praiskup/argparse-manpage/blob/42943e6ac7f311f8ab56268536880d11ee344512/build_manpages/compat.py#L8-L10


Access to Mailchimp Account Data

Hi @floomoon,
With this pull request you should be able to retrieve Mailchimp account data.
Stuff like uid, name and all the rest of it. Using the new OmniAuth 1.0 suggest way to retrieve user hashes.
Sidenote:

update .gitignore
Gemfile.lock should be ignored and not inserted into git

Thanks @asanghi for these commits, all works fine.


overlooked one case, where realTitle should be used

in #50 I introduced the realTitle closure and overlooked one place where it should be used

perfect. thanx.


error: 'class nnvm::Symbol' has no member named 'GetChildren'

src/c_api/c_api_symbolic.cc:156:44: error: 'class nnvm::Symbol' has no member named 'GetChildren'
I did "get pull" in my mxnet folder and then "bash install-mxnet-ubuntu-python.sh"
environment:
Linux ubuntu1604 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 20 11:50:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
/usr/local/cuda-8.0/bin/nvcc
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
cudnn:
#define CUDNN_MAJOR      5
#define CUDNN_MINOR      1
#define CUDNN_PATCHLEVEL 5
#define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
pkg-config --modversion opencv:
<IP_ADDRESS>
MXNet version:
"eeeab1c4c617defe2ba5b7ba4aa8588d9a7f98db"
python -V
Python 2.7.12
Tue Feb 28 08:27:50 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.39                 Driver Version: 375.39                    |

Did you check if you have the most recent version of nnvm? Try git pull in the nnvm folder.
On 2017年2月28日, at 05:26, cpchung<EMAIL_ADDRESS>wrote:
src/c_api/c_api_symbolic.cc:156:44: error: 'class nnvm::Symbol' has no member named 'GetChildren'
I did "get pull" in my mxnet folder and then "bash install-mxnet-ubuntu-python.sh"
Linux ubuntu1604 4.4.0-64-generic #85-Ubuntu SMP Mon Feb 20 11:50:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
/usr/local/cuda-8.0/bin/nvcc
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
cudnn:
#define CUDNN_MAJOR 5
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 5
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
pkg-config --modversion opencv:
<IP_ADDRESS>
MXNet version:\n
eeeab1c
python -V
Python 2.7.12
Tue Feb 28 08:26:04 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.39 Driver Version: 375.39 |
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi Eric,
I git pull in the root folder of mxnet, anything else I should try?

try
cd MXNet/nnvm
Git pull origin master
On 2017年2月28日, at 17:11, cpchung<EMAIL_ADDRESS>wrote:
Hi Eric,
I git pull in the root folder of mxnet, anything else I should try?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Is it resolved?

Hi Eric,
I just git pull the whole caffe folder and compile again. The problem is now resolved. thanks!

pull the nnvm folder and run install-mxnet-osx-python.sh
Problem solved
Thanks

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


backend VI in PYVISA

I am new to Phyton and pyvisa.  I am  unable to run the simple code as below:
import visa
rm=visa.ResourceManager()
CONEX=rm.open_resource("COM10")
CONEX.timeout=2000
CONEX.write("1VE")
print (CONEX.read())
It returns the following error:
Traceback (most recent call last):
File "", line 1, in
File "C:\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 682, in runfile
execfile(filename, namespace)
File "C:\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 71, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "C:/Ali/PyhtonT/CONEXCC/CONEXCC-DRV.py", line 12, in
print (CONEX.read())
File "C:\Anaconda\lib\site-packages\pyvisa\resources\messagebased.py", line 332, in read
message = self.read_raw().decode(enco)
File "C:\Anaconda\lib\site-packages\pyvisa\resources\messagebased.py", line 306, in read_raw
chunk, status = self.visalib.read(self.session, size)
File "C:\Anaconda\lib\site-packages\pyvisa\ctwrapper\functions.py", line 1582, in read
ret = library.viRead(session, buffer, count, byref(return_count))
File "C:\Anaconda\lib\site-packages\pyvisa\ctwrapper\highlevel.py", line 188, in _return_handler
raise errors.VisaIOError(ret_value)
pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.

Here are the information about the Bckend and the Phyton
Platform ID:    Windows-7-6.1.7601-SP1
Processor:      Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
Python:
Implementation: CPython
Executable:     C:\Anaconda\python.exe
Version:        2.7.9
Compiler:       MSC v.1500 64 bit (AMD64)
Bits:           64bit
Build:          Dec 18 2014 16:57:52 (#default)
Unicode:        UCS2
PyVISA Version: 1.8
Backends:
ni:
Version: 1.8 (bundled with PyVISA)
#1: C:\Windows\system32\visa32.dll:
found by: auto
bitness: 64
Vendor: National Instruments
Impl. Version: 5243905
Spec. Version: 5243136
#2: C:\Windows\system32\visa32.dll:
found by: auto
bitness: 64
Vendor: National Instruments
Impl. Version: 5243905
Spec. Version: 5243136

Are you sure you have the correct read_termination and write_termination for the device?

Thanks for your advise.
Commands are executed as the command terminator CRLF (carriage-return
line-feed, ASCII 13 and ASCII 10) is received.  I modified the
open_resource as:
CONEX=rm.open_resource("COM10", read_termination='\r',
write_termination='\r')
but still it returns the same timeout error
Any other suggestion?
On Thu, Aug 27, 2015 at 3:38 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

Are you sure you have the correct read_termination and write_termination
for the device?
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135575051.

If the instrument tells you to use CRLF as write termination, then you should use that. write_termination='\r\n' The same goes for the read_termination. What does the manual of the instrument tells you about the termination?

I used write_termination='\r\n' and read_termination='\r\n' but still the
same error.
Here is the manual:
Commands are executed as the command terminator CRLF (carriage-return
line-feed, ASCII 13 and ASCII 10) is received. The controller will analyze
the received string. If the command is valid and its parameters are in the
specified range, it will be executed. Otherwise it will memorize an error.
After the execution of the command, all remaining characters in the input
string, if any, will be ignored. In particular, it is not possible to
concatenate several commands on a single string from the PC to the
CONEX-CC. Each command will handle properly the memorization of related
errors that can be accessed with the TE command. Please refer to the
command set in section 2.4 for details.
Thanks
On Fri, Aug 28, 2015 at 4:14 PM, Ali Eftekhari<EMAIL_ADDRESS>wrote:

On Fri, Aug 28, 2015 at 3:45 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

If the instrument tells you to use CRLF as write termination, then you
should use that. write_termination='\r\n' The same goes for the
read_termination. What does the manual of the instrument tells you about
the termination?
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135905083.

what is the purpose 1VE? does it changes anything in the device?  is it
supposed to return something?
El 20:15 Vie Ago 28, 2015, aebk2015<EMAIL_ADDRESS>escribió:

I used write_termination='\r\n' and read_termination='\r\n' but still the
same error.
Here is the manual:
Commands are executed as the command terminator CRLF (carriage-return
line-feed, ASCII 13 and ASCII 10) is received. The controller will analyze
the received string. If the command is valid and its parameters are in the
specified range, it will be executed. Otherwise it will memorize an error.
After the execution of the command, all remaining characters in the input
string, if any, will be ignored. In particular, it is not possible to
concatenate several commands on a single string from the PC to the
CONEX-CC. Each command will handle properly the memorization of related
errors that can be accessed with the TE command. Please refer to the
command set in section 2.4 for details.
Thanks
On Fri, Aug 28, 2015 at 4:14 PM, Ali Eftekhari<EMAIL_ADDRESS>wrote:

On Fri, Aug 28, 2015 at 3:45 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

If the instrument tells you to use CRLF as write termination, then you
should use that. write_termination='\r\n' The same goes for the
read_termination. What does the manual of the instrument tells you about
the termination?
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135905083.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135908692.

1VE is the ascii command sent to the device and it should return the
version of the device.
The device supports two-letter ASCII commands . The general command format
is:  nnAAxx
nn — Optional or required controller address.
AA — Command name.
xx — Optional or required value or “?” to query current value.
Most commands can be used to set a value (in that case the command name is
followed by the value “xx”) or to query the current value (in that case the
command name is followed by a “?”). When querying a value, the controller
responds with the command it received followed by the queried value. For
example, a 1VA10 sets the velocity of the controller #1 to 10 units/second.
A 1VA? sends the response 1VA10.
The controller address is 1 for this device
VE command doesn't need ? or value
Thanks,
On Fri, Aug 28, 2015 at 4:24 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

what is the purpose 1VE? does it changes anything in the device? is it
supposed to return something?
El 20:15 Vie Ago 28, 2015, aebk2015<EMAIL_ADDRESS>escribió:

I used write_termination='\r\n' and read_termination='\r\n' but still the
same error.
Here is the manual:
Commands are executed as the command terminator CRLF (carriage-return
line-feed, ASCII 13 and ASCII 10) is received. The controller will
analyze
the received string. If the command is valid and its parameters are in
the
specified range, it will be executed. Otherwise it will memorize an
error.
After the execution of the command, all remaining characters in the input
string, if any, will be ignored. In particular, it is not possible to
concatenate several commands on a single string from the PC to the
CONEX-CC. Each command will handle properly the memorization of related
errors that can be accessed with the TE command. Please refer to the
command set in section 2.4 for details.
Thanks
On Fri, Aug 28, 2015 at 4:14 PM, Ali Eftekhari<EMAIL_ADDRESS>wrote:

On Fri, Aug 28, 2015 at 3:45 PM, Hernan Grecco <
<EMAIL_ADDRESS>wrote:

If the instrument tells you to use CRLF as write termination, then you
should use that. write_termination='\r\n' The same goes for the
read_termination. What does the manual of the instrument tells you
about
the termination?
—
Reply to this email directly or view it on GitHub
<https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135905083
.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135908692.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135912170.

i would suggest that you try something tha produce a visible change in the
device. in that way you could see if you have problem during write or read
El 20:31 Vie Ago 28, 2015, aebk2015<EMAIL_ADDRESS>escribió:

1VE is the ascii command sent to the device and it should return the
version of the device.
The device supports two-letter ASCII commands . The general command format
is: nnAAxx
nn — Optional or required controller address.
AA — Command name.
xx — Optional or required value or “?” to query current value.
Most commands can be used to set a value (in that case the command name is
followed by the value “xx”) or to query the current value (in that case the
command name is followed by a “?”). When querying a value, the controller
responds with the command it received followed by the queried value. For
example, a 1VA10 sets the velocity of the controller #1 to 10 units/second.
A 1VA? sends the response 1VA10.
The controller address is 1 for this device
VE command doesn't need ? or value
Thanks,
On Fri, Aug 28, 2015 at 4:24 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

what is the purpose 1VE? does it changes anything in the device? is it
supposed to return something?
El 20:15 Vie Ago 28, 2015, aebk2015<EMAIL_ADDRESS>escribió:

I used write_termination='\r\n' and read_termination='\r\n' but still
the
same error.
Here is the manual:
Commands are executed as the command terminator CRLF (carriage-return
line-feed, ASCII 13 and ASCII 10) is received. The controller will
analyze
the received string. If the command is valid and its parameters are in
the
specified range, it will be executed. Otherwise it will memorize an
error.
After the execution of the command, all remaining characters in the
input
string, if any, will be ignored. In particular, it is not possible to
concatenate several commands on a single string from the PC to the
CONEX-CC. Each command will handle properly the memorization of related
errors that can be accessed with the TE command. Please refer to the
command set in section 2.4 for details.
Thanks
On Fri, Aug 28, 2015 at 4:14 PM, Ali Eftekhari <
<EMAIL_ADDRESS>wrote:

On Fri, Aug 28, 2015 at 3:45 PM, Hernan Grecco <
<EMAIL_ADDRESS>wrote:

If the instrument tells you to use CRLF as write termination, then
you
should use that. write_termination='\r\n' The same goes for the
read_termination. What does the manual of the instrument tells you
about
the termination?
—
Reply to this email directly or view it on GitHub
<
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135905083
.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135908692.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135912170.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135913048.

Hello again,
I tried different syntax, different ascii command but still the same
problem.  I really appreciate your feedback.  Here is the link to the
manual for this device:
ftp://download.newport.com/MotionControl/Current/MotionControllers/CONEX/Manual/CONEX-CC/CONEX-CC - Controller Documentation.pdf
Thanks,
On Fri, Aug 28, 2015 at 4:37 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

i would suggest that you try something tha produce a visible change in the
device. in that way you could see if you have problem during write or read
El 20:31 Vie Ago 28, 2015, aebk2015<EMAIL_ADDRESS>escribió:

1VE is the ascii command sent to the device and it should return the
version of the device.
The device supports two-letter ASCII commands . The general command
format
is: nnAAxx
nn — Optional or required controller address.
AA — Command name.
xx — Optional or required value or “?” to query current value.
Most commands can be used to set a value (in that case the command name
is
followed by the value “xx”) or to query the current value (in that case
the
command name is followed by a “?”). When querying a value, the controller
responds with the command it received followed by the queried value. For
example, a 1VA10 sets the velocity of the controller #1 to 10
units/second.
A 1VA? sends the response 1VA10.
The controller address is 1 for this device
VE command doesn't need ? or value
Thanks,
On Fri, Aug 28, 2015 at 4:24 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

what is the purpose 1VE? does it changes anything in the device? is it
supposed to return something?
El 20:15 Vie Ago 28, 2015, aebk2015<EMAIL_ADDRESS>escribió:

I used write_termination='\r\n' and read_termination='\r\n' but still
the
same error.
Here is the manual:
Commands are executed as the command terminator CRLF (carriage-return
line-feed, ASCII 13 and ASCII 10) is received. The controller will
analyze
the received string. If the command is valid and its parameters are
in
the
specified range, it will be executed. Otherwise it will memorize an
error.
After the execution of the command, all remaining characters in the
input
string, if any, will be ignored. In particular, it is not possible to
concatenate several commands on a single string from the PC to the
CONEX-CC. Each command will handle properly the memorization of
related
errors that can be accessed with the TE command. Please refer to the
command set in section 2.4 for details.
Thanks
On Fri, Aug 28, 2015 at 4:14 PM, Ali Eftekhari <
<EMAIL_ADDRESS>wrote:

On Fri, Aug 28, 2015 at 3:45 PM, Hernan Grecco <
<EMAIL_ADDRESS>wrote:

If the instrument tells you to use CRLF as write termination, then
you
should use that. write_termination='\r\n' The same goes for the
read_termination. What does the manual of the instrument tells you
about
the termination?
—
Reply to this email directly or view it on GitHub
<
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135905083
.

—
Reply to this email directly or view it on GitHub
<https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135908692
.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135912170.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135913048.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-135913593.

It seems that the moving commands do not return a value. So my suggestions will be that you try to move the device with 1PR2.2 (for example). According to the state diagram, you might need to initialize the device before.

this works when using with earlier version of pyvisa, how is it translated
to new version (1.8):
import visa
print visa.get_instruments_list()
A = visa.SerialInstrument("COM10",baud_rate=57600,data_bits=8,stop_bits=1)
A.write("1VE?\r\n")
print A.read()
Thanks
On Mon, Aug 31, 2015 at 3:04 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

It seems that the moving commands do not return a value. So my suggestions
will be that you try to move the device with 1PR2.2 (for example).
According to the state diagram, you might need to initialize the device
before.
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-136513623.

Jusr give the same parameters to open_resource
El 3:21 Jue Sep 3, 2015, aebk2015<EMAIL_ADDRESS>escribió:

this works when using with earlier version of pyvisa, how is it translated
to new version (1.8):
import visa
print visa.get_instruments_list()
A = visa.SerialInstrument("COM10",baud_rate=57600,data_bits=8,stop_bits=1)
A.write("1VE?\r\n")
print A.read()
Thanks
On Mon, Aug 31, 2015 at 3:04 PM, Hernan Grecco<EMAIL_ADDRESS>wrote:

It seems that the moving commands do not return a value. So my
suggestions
will be that you try to move the device with 1PR2.2 (for example).
According to the state diagram, you might need to initialize the device
before.
—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-136513623.

—
Reply to this email directly or view it on GitHub
https://github.com/hgrecco/pyvisa/issues/176#issuecomment-137347162.


iam.cloud.ibm.com endpoint is hardcoded

Endpoint should not be hardcoded here
Request to provide ability to override iam endpoint

You are referring to the default URL in your link.
The correct way to provide your own URL for IAM is to provide it when building your own IAMTokenSource. The URL can be set during the construction of said struct as TokenURL
https://github.com/IBM/keyprotect-go-client/blob/master/iam/iam.go#L99


Discussion Forum?

Have you considered opening a discussion forum here on github? A place where people can float ideas that aren't necessarily "issues"? Just an idea, thanks for your good work either way :-)

Thank you for your suggestion. I've not used the GitHub discussion feature before. I'll take a look and get back to you.

Thank you, for all of your excellent work :-)