ImportError: cannot import name 'agenerate_from_stream' from 'langchain_core.language_models.chat_models'

System Info
Current LangChain master commit:
https://github.com/langchain-ai/langchain/commits/391f200
Who can help?
@hwchase17 @baskaryan
Information

[ ] The official example notebooks/scripts
[ ] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
Just run
from langchain.chat_models import BedrockChat

Stacktrace:
tests/e2e-tests/test_compatibility_matrix.py:10: in <module>
    from langchain.chat_models import ChatOpenAI, AzureChatOpenAI, ChatVertexAI, BedrockChat
/tmp/venv/lib/python3.11/site-packages/langchain/chat_models/__init__.py:20: in <module>
    from langchain.chat_models.anthropic import ChatAnthropic
/tmp/venv/lib/python3.11/site-packages/langchain/chat_models/anthropic.py:18: in <module>
    from langchain.chat_models.base import (
/tmp/venv/lib/python3.11/site-packages/langchain/chat_models/base.py:1: in <module>
    from langchain_core.language_models.chat_models import (
E   ImportError: cannot import name 'agenerate_from_stream' from 'langchain_core.language_models.chat_models' (/tmp/venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py)

Expected behavior
To being able to import the required modules

Same problem here. I just followed the quick start for using ChatOpenAI class with pip install -e . for langchain dependency
I do see there is no such function from langchain_core:

Full example code and error:

FIxed by https://github.com/langchain-ai/langchain/pull/13932 ?

langchain_core should be >= 0.0.7 in the pyproject.toml, the latest change fixed it. After reinstalling, it works fine.

Yeah after using langchain_core >= 0.0.7 everything worked fine, closing


SCIM util class to add delete users

SCIM util class to add delete users
tested on
1.ubuntu 18.04
2.jdk 1.8.0_161

closing this pr since its pointed to the wrong branch


Custom Colors

Is there a way to use custom colors in highlight and text color ?

:tada: This issue has been resolved in version 2.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Reuse statement nodes from the previous compilation

We can improve the current parser to reuse the statement nodes from the old tree.

This issue has been marked as "Deferred" and will be revisited in the future when resources are available.


some part in plot area has hidden after update data and redraw

I created three charts with another width or height and draw them.
It's good working.
But after quickly update data and redraw it, some part in plot area among them has hidden.
In debug mode if i follow its code slowly step by step, it does not reproduce.
Please check it, I don't know the reason.
Thanks.

Hardly any detail here. jsfiddle, bl.ocks.org, screenshot?
I have no idea what to check based on the description :confused:

In red sqaure area, any vector has not displayed. Do you have any idea or check point ?

At last the problem was solved.
I have some mistakes for the element id of svg.


Environment import

Why are you doing:
    environment:
    - DMS_DEBUG=${DMS_DEBUG}
    - ENABLE_CLAMAV=${ENABLE_CLAMAV}
    - ONE_DIR=${ONE_DIR}
    - ENABLE_POP3=${ENABLE_POP3}
    - ENABLE_FAIL2BAN=${ENABLE_FAIL2BAN}
    - ENABLE_MANAGESIEVE=${ENABLE_MANAGESIEVE}
    - OVERRIDE_HOSTNAME=${OVERRIDE_HOSTNAME}
    - POSTMASTER_ADDRESS=${POSTMASTER_ADDRESS}
    - POSTSCREEN_ACTION=${POSTSCREEN_ACTION}
    - REPORT_RECIPIENT=${REPORT_RECIPIENT}
    - REPORT_SENDER=${REPORT_SENDER}
    - REPORT_INTERVAL=${REPORT_INTERVAL}
    - SMTP_ONLY=${SMTP_ONLY}
    - SSL_TYPE=${SSL_TYPE}
    - TLS_LEVEL=${TLS_LEVEL}
    - SPOOF_PROTECTION=${SPOOF_PROTECTION}
    - ENABLE_SRS=${ENABLE_SRS}
    - PERMIT_DOCKER=${PERMIT_DOCKER}
    - VIRUSMAILS_DELETE_DELAY=${VIRUSMAILS_DELETE_DELAY}
    - ENABLE_POSTFIX_VIRTUAL_TRANSPORT=${ENABLE_POSTFIX_VIRTUAL_TRANSPORT}
    - POSTFIX_DAGENT=${POSTFIX_DAGENT}
    - POSTFIX_MAILBOX_SIZE_LIMIT=${POSTFIX_MAILBOX_SIZE_LIMIT}
    - POSTFIX_MESSAGE_SIZE_LIMIT=${POSTFIX_MESSAGE_SIZE_LIMIT}
    - ENABLE_SPAMASSASSIN=${ENABLE_SPAMASSASSIN}
    - SA_TAG=${SA_TAG}
    - SA_TAG2=${SA_TAG2}
    - SA_KILL=${SA_KILL}
    - SA_SPAM_SUBJECT=${SA_SPAM_SUBJECT}
    - ENABLE_FETCHMAIL=${ENABLE_FETCHMAIL}
    - FETCHMAIL_POLL=${FETCHMAIL_POLL}
    - ENABLE_LDAP=${ENABLE_LDAP}
    - LDAP_START_TLS=${LDAP_START_TLS}
    - LDAP_SERVER_HOST=${LDAP_SERVER_HOST}
    - LDAP_SEARCH_BASE=${LDAP_SEARCH_BASE}
    - LDAP_BIND_DN=${LDAP_BIND_DN}
    - LDAP_BIND_PW=${LDAP_BIND_PW}
    - LDAP_QUERY_FILTER_USER=${LDAP_QUERY_FILTER_USER}
    - LDAP_QUERY_FILTER_GROUP=${LDAP_QUERY_FILTER_GROUP}
    - LDAP_QUERY_FILTER_ALIAS=${LDAP_QUERY_FILTER_ALIAS}
    - LDAP_QUERY_FILTER_DOMAIN=${LDAP_QUERY_FILTER_DOMAIN}
    - LOGROTATE_INTERVAL=${LOGROTATE_INTERVAL}
    - DOVECOT_TLS=${DOVECOT_TLS}
    - DOVECOT_USER_FILTER=${DOVECOT_USER_FILTER}
    - DOVECOT_PASS_FILTER=${DOVECOT_PASS_FILTER}
    - ENABLE_POSTGREY=${ENABLE_POSTGREY}
    - POSTGREY_DELAY=${POSTGREY_DELAY}
    - POSTGREY_MAX_AGE=${POSTGREY_MAX_AGE}
    - POSTGREY_AUTO_WHITELIST_CLIENTS=${POSTGREY_AUTO_WHITELIST_CLIENTS}
    - POSTGREY_TEXT=${POSTGREY_TEXT}
    - ENABLE_SASLAUTHD=${ENABLE_SASLAUTHD}
    - SASLAUTHD_MECHANISMS=${SASLAUTHD_MECHANISMS}
    - SASLAUTHD_MECH_OPTIONS=${SASLAUTHD_MECH_OPTIONS}
    - SASLAUTHD_LDAP_SERVER=${SASLAUTHD_LDAP_SERVER}
    - SASLAUTHD_LDAP_SSL=${SASLAUTHD_LDAP_SSL}
    - SASLAUTHD_LDAP_BIND_DN=${SASLAUTHD_LDAP_BIND_DN}
    - SASLAUTHD_LDAP_PASSWORD=${SASLAUTHD_LDAP_PASSWORD}
    - SASLAUTHD_LDAP_SEARCH_BASE=${SASLAUTHD_LDAP_SEARCH_BASE}
    - SASLAUTHD_LDAP_FILTER=${SASLAUTHD_LDAP_FILTER}
    - SASLAUTHD_LDAP_START_TLS=${SASLAUTHD_LDAP_START_TLS}
    - SASLAUTHD_LDAP_TLS_CHECK_PEER=${SASLAUTHD_LDAP_TLS_CHECK_PEER}
    - SASL_PASSWD=${SASL_PASSWD}
    - SRS_EXCLUDE_DOMAINS=${SRS_EXCLUDE_DOMAINS}
    - SRS_SECRET=${SRS_SECRET}
    - DEFAULT_RELAY_HOST=${DEFAULT_RELAY_HOST}
    - RELAY_HOST=${RELAY_HOST}
    - RELAY_PORT=${RELAY_PORT}
    - RELAY_USER=${RELAY_USER}
    - RELAY_PASSWORD=${RELAY_PASSWORD}

instead of
env_file:
  - .env

?

No idea, possibly for historic reasons? I like your version if it works.

for me it works. Just replaced it in my config. Will come with a PR soon.

Just one remark. I wouldn't call the file .env as this file will then already be sourced by docker-compose. Just drop the dot or call it by another name.

What disadvantage do you see in using the same env file for both docker-compose and the running container? If we split it up in two, everyone has to maintian two environment files. Is that what we want?

@fbartels how about renaming the .env file to docker-mailserver.env and referencing it in this way? I have never liked the .env file as it is hidden and as far as I can see it only defines environment options that should be passed on. Using a visible file that is referenced explicitly is clearer in my view. Plus this is only done at installation time (or manually) so we won't break anything by the change.

@mindrunner the only technical reason would be that if you share the compose file with other services and these other services also rely on .env (for variable substitution for example) you could inject more envs into docker-mailserver than it would be necessary.

Yeah I see the point, however consider this as bad-practice anyways. There is no reason for putting an unrelated service to the mailserver. Howvever, this is how I usually configure my containers and it is way more lean than copy and pasting every variable name to the docker-compose file. (or a second env file)

Since this is only a mailserver there are actually a few containers that you could include in the same compose file, like a webmailer for example.
But it's also fair to say that in these cases the admin will want to write his own compose file and decide to deal with the env file on his own choosing.

Well then, for the PR rename .env-dist to docker-mailserver.env, update the compose example files and update the readme.

There will still be an issue with the variables used by the compose file. I think, thats host and domainname at least. I will have a look into this and find a neat solution.

https://github.com/tomav/docker-mailserver/pull/1270

Closing since the pr has been merged. Thanks for your contribution!


use testify lib (closes #80)

Current coverage is 92.73% (diff: 100%)

Merging #82 into master will not change coverage

@@             master        #82   diff @@
==========================================
  Files            27         27
  Lines          2561       2561
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           2375       2375
  Misses          139        139
  Partials         47         47

Powered by Codecov. Last update a4db9e4...8f96eeb


Add dashed lines and cylinders

(source: http://www.stampcollectingproject.org/crystallography/molecular-graphics/pymol/dash-lines-showing-distances-between-atoms)

done in ts2 branch


Expose mediaSessionConnector on ReactTHEOplayerView interface

Expose the MediaSessionConnector for a player on the ReactTHEOplayerView interface.
The actual Android media session object can be accessed like:
val playerView: ReactTHEOplayerView
val mediaSession: MediaSessionCompat? = playerView.mediaSessionConnector?.mediaSession

@kot331107 would this suffice?

would this suffice?

to sum our slack a bit, is it possible to provide some JS/TS interface to call mediasession's methods from JS/TS code cuz we don't have a direct access to these instances from our native code?


Add to export analysis/tools tracing

Before:
analysis-tools/tracing not listed in BUILD.bazel file and not exporting.
After:

analysis_tools added to BUILD.bazel file. Test fails. What could be the fix?
auto add for *.h files added to BUILD.bazel file(not tested)

was done by https://github.com/woven-planet/slog/pull/8


Add a DataSummary component.

Overview
This branch adds a simple component that can be used to display biometric, environmental, or other data points you'd like the participant to see.  It supports a value, units, label, status, and status color.  It can optionally be supplied with a click listener.

Here is one example of how I plan to use it to display AQI.

Security
REMINDER: All file contents are public.

[x] I have ensured no secure credentials or sensitive information remain in code, metadata, comments, etc.

[x] Please verify that you double checked that .storybook/preview.js does not contain your participant access key details.
[x] There are no temporary testing changes committed such as API base URLs, access tokens, print/log statements, etc.

[x] These changes do not introduce any security risks, or any such risks have been properly mitigated.

Describe briefly what security risks you considered, why they don't apply, or how they've been mitigated.
Checklist
Testing

[x] MyDataHelps iOS app
[x] MyDataHelps Android app
[x] MyDataHelps website

Documentation

[x] I have added relevant Storybook updates to this PR as well.

Closing.  This change (and revisions) is included in https://github.com/CareEvolution/MyDataHelpsUI/pull/203.


Import project view should have the BUILD file first and default

I started out with the plugin by trying to import bazel (had problems which I might open a different ticket for) and during the course of that I somehow chose "from scratch" in the import. I don't remember if the plugin defaulted to it or I chose it but I think that even if I chose it then it's related to the order of options.
I want to suggest making the import from BUILD file the first option and be it checked by default since it sounds to me like that is the main use-case of importing. I'd also move the from scratch option to the bottom of the list since that sounds the most advanced.
Additionally the plugin remembers what you chose last and will default to that, maybe it shouldn't and should default to BUILD file anytime so that even if you make a mistake one time you aren't pushed to it over and over

Hi,
What do you think about this?

Reordering the options and defaulting to 'generate from BUILD file' sounds good -- we'll look into it.
Remembering the last choice seems beneficial -- remembering a previous mistake should only be an issue for new users, whereas existing users can benefit from fewer clicks for whatever their standard workflow is.
My expectation would be that first-time users would almost always choose 'generate from BUILD file', but frequent users, or users with more complex projects, would benefit from using .bazelproject files checked into source code (e.g. as with this project, where we have a .bazelproject file for each plugin API).

@brendandouglas sounds like you can close this one since you disagree with my suggestion and see other user stories. That might be unfortunate but of course your prerogative :)

OK, sounds good.


Fallback imageSrc onError

Hi @AdamRisberg,
I am trying to pass the onError prop to handle broken image links.
I think it is advisable to pass the image onError prop to handle image links that may be broken.
This removes the broken image icon and sets image src to the new one if broken.
** {...props} can be passed to the IMG component or declare the onError prop explicitly to handle broken image links **
Example:
Test 1: Invalid Image URL without error handling
<img
      src="https://solabstore.nyc3.digitaloceanspaces.com/shobbu/products/1592567372859-product_image-image1"
      alt="Golden boot"
 />

Test 2: Invalid Image URL with error handling
//Fallback error handler function
const defaultSrc = (ev) =>
 {
ev.target.src = "http://sc01.alicdn.com/kf/H658894263a8a40539302e9b6d1069ff6p/240382028/H658894263a8a40539302e9b6d1069ff6p.jpg";
};

// html code
<img
      src="https://solabstore.nyc3.digitaloceanspaces.com/shobbu/products/1592567372859-product_image-image1"
      alt="Golden boot"
      onError={defaultSrc}
 />

Hi @AdamRisberg ,
I also came across same issue while using Magnifiers. I think it will be great if it supports this prop.
Thanks

I'm not sure what I'm about to say corresponds to your problem, but I just read that you can use an array of strings as props instead of juste the string, and it will use the subsequent strings as fallback"


📃: create a  new year countdown

New Year Countdown: Creating a Real-Time Countdown Timer with HTML, CSS, and JavaScript
🔴 Tech stack:
HTML: Structure the countdown display
CSS: Style the countdown timer with modern designs
JavaScript: Calculate and update the countdown in real-time
🔴 Objective:
The objective of this project is to build a live countdown timer that counts down the time remaining until New Year's Day. The timer will display the days, hours, minutes, and seconds left, updating in real time.
🔴 Summary:
In this project, we will create a simple yet elegant countdown timer that will track the time until the New Year. We will use HTML to define the structure of the countdown, CSS to style it with a modern look, and JavaScript to calculate the remaining time and update the display dynamically every second.
The process includes:
HTML: Create a basic layout with divisions to hold the days, hours, minutes, and seconds.
CSS: Style the countdown to make it visually appealing, such as adding a background image, custom fonts, and proper spacing.
JavaScript: Calculate the time difference between the current time and midnight on New Year’s Day. Then, update the timer every second to reflect the remaining time.

can you please please assign this issue to me i will make my best


Docker sonarr/radarr-sma on synology NAS

Describe the bug
Maybe not a bug but just user error on my part. I installed the radarr & sonarr-sma docker containers on my synology DS920+. I'm not exactly sure I did it right, but manual.py does work. It was strange because I had to install python dependencies, which I have never done before for a docker container (requests, subliminal, guessit, etc). Anyway, like I said, I can run manual.py and it converts the input file as I would expect. But getting radarr & sonarr to do it automatically, no luck.
I was following the steps for sonarr/radarr and went to add a connection (custom script). Browsed to /usr/local/sma/postSonarr.py and clicked the test button, and I got an error that the script exited with -1. I am wondering if it has something to do with this instruction:
For Sonarr V3 you'll need to make a .sh or .bat file to combine your path to python and script
I don't know what it means to "combine my path to python and script"
Sonarr & radarr work. They are sending requests to sab and the files are downloaded and placed where they are supposed to go. But they aren't being post-processed yet because I haven't been able to get the custom script connected.
Any ideas on how to fix this?
Command or context you are trying to run
manual.py works fine.
autoProcess.ini settings
Please sensor API keys/private information but include all other settings
[Converter]
ffmpeg = ffmpeg
ffprobe = ffprobe
threads = 0
hwaccels =
hwaccel-decoders =
hwdevices =
hwaccel-output-format =
output-directory =
output-format = mp4
output-extension = mp4
temp-extension =
minimum-size = 250
ignored-extensions = nfo, ds_store
copy-to =
move-to =
delete-original = True
process-same-extensions = False
bypass-if-copying-all = False
force-convert = False
post-process = False
wait-post-process = False
detailed-progress = False
opts-separator = ,
preopts =
postopts =
regex-directory-replace = [^\w-_. ]
[Permissions]
chmod = 0644
uid = -1
gid = -1
[Metadata]
relocate-moov = True
full-path-guess = True
tag = True
tag-language = eng
download-artwork = poster
sanitize-disposition =
strip-metadata = False
keep-titles = False
[Video]
codec = h264, x264
max-bitrate = 0
bitrate-ratio =
crf = -1
crf-profiles =
preset =
codec-parameters =
dynamic-parameters = False
max-width = 0
profile =
max-level = 0.0
pix-fmt =
prioritize-source-pix-fmt = True
filter =
force-filter = False
[HDR]
codec =
pix-fmt =
space = bt2020nc
transfer = smpte2084
primaries = bt2020
preset =
codec-parameters =
filter =
force-filter = False
profile =
[Audio]
codec = aac
languages =
default-language =
include-original-language = True
first-stream-of-language = False
channel-bitrate = 128
variable-bitrate = 0
max-bitrate = 0
max-channels = 0
filter =
profile =
force-filter = False
sample-rates =
sample-format =
copy-original = False
aac-adtstoasc = False
ignored-dispositions =
force-default = False
unique-dispositions = False
stream-codec-combinations =
[Audio.Sorting]
sorting = language, channels.d, map, d.comment
default-sorting = channels.d, map, d.comment
codecs =
[Universal Audio]
codec = aac
channel-bitrate = 128
variable-bitrate = 0
first-stream-only = False
filter =
profile =
force-filter = False
[Audio.ChannelFilters]
[Subtitle]
codec = mov_text
codec-image-based =
languages = en
default-language =
include-original-language = False
first-stream-of-language = False
encoding =
burn-subtitles = False
burn-dispositions =
embed-subs = False
embed-image-subs = False
embed-only-internal-subs = False
filename-dispositions = forced
ignore-embedded-subs = False
ignored-dispositions =
force-default = False
unique-dispositions = False
attachment-codec =
remove-bitstream-subs = False
[Subtitle.Sorting]
sorting = language, d.comment, d.default.d, d.forced.d
codecs =
burn-sorting = language, d.comment, d.default.d, d.forced.d
[Subtitle.CleanIt]
enabled = False
config-path =
tags =
[Subtitle.FFSubsync]
enabled = False
[Subtitle.Subliminal]
download-subs = False
download-forced-subs = False
include-hearing-impaired-subs = False
providers =
[Subtitle.Subliminal.Auth]
[Sonarr]
host = <IP_ADDRESS>
port = 8989
apikey = XXX
ssl = False
webroot =
force-rename = False
rescan = True
block-reprocess = False
[Radarr]
host = <IP_ADDRESS>
port = 7878
apikey = XXX
ssl = False
webroot =
force-rename = False
rescan = True
block-reprocess = False
[Sickbeard]
host = localhost
port = 8081
ssl = False
apikey =
webroot =
username =
password =
[Sickrage]
host = localhost
port = 8081
ssl = False
apikey =
webroot =
username =
password =
[SABNZBD]
convert = True
sickbeard-category = sickbeard
sickrage-category = sickrage
sonarr-category = sonarr
radarr-category = radarr
bypass-category = bypass
output-directory =
path-mapping =
[Deluge]
sickbeard-label = sickbeard
sickrage-label = sickrage
sonarr-label = sonarr
radarr-label = radarr
bypass-label = bypass
convert = True
host = localhost
port = 58846
username =
password =
output-directory =
remove = False
path-mapping =
[qBittorrent]
sickbeard-label = sickbeard
sickrage-label = sickrage
sonarr-label = sonarr
radarr-label = radarr
bypass-label = bypass
convert = True
action-before =
action-after =
host = localhost
port = 8080
ssl = False
username =
password =
output-directory =
path-mapping =
[uTorrent]
sickbeard-label = sickbeard
sickrage-label = sickrage
sonarr-label = sonarr
radarr-label = radarr
bypass-label = bypass
convert = True
webui = False
action-before =
action-after =
host = localhost
ssl = False
port = 8080
username =
password =
output-directory =
path-mapping =
[Plex]
host = localhost
port = 32400
refresh = False
token = XXX
Log files
Include log files for the specific job (not just a dump of all your logs for the past month) that's causing the issue. Please turn on debug level logging
Log files are found in your script root config folder ./sma/config/sma.log
When I try to add the custom script in Sonarr/radarr, and press the test button, I get an error that the script exited with a -1, and nothing is logged. I did set [handler_fileHandler] section level = DEBUG.
FFMpeg headers
Run ffmpeg and post the headers, example [headers]https://github.com/mdhiggins/sickbeard_mp4_automator/wiki/FFMPEG-Headers
System Information
Container installed on a synology DS920+ NAS
   sonarr:
    container_name: sonarr
   image: mdhiggins/sonarr-sma:latest
    restart: unless-stopped
    logging:
      driver: json-file
      options:
        max-file: ${DOCKERLOGGING_MAXFILE}
        max-size: ${DOCKERLOGGING_MAXSIZE}
    ports:
      - 8989:8989
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ${DOCKERCONFDIR}/sma:/usr/local/sma/config
      - ${DOCKERCONFDIR}/sonarr:/config
      - /volume1/data/media/tv:/tv
      - /volume1/data/downloads:/downloads

Expected behavior
Expected behavior is that I can add SMA as a custom script in sonarr/radarr and have it automatically convert downloaded files.
Additional context
Do I need to create a custom script or should the docker installation work out of the box?
Issues posted without any logs or autoProcess settings will be closed
logs and autoprocess.ini were included above.

My guess is you're trying to run the script using the default python environment and not the virtual python environment inside the containers that contains all the preset requirements and configuration
The .sh script is also included in the docker containers and does not need to manually be created
If you look at the readme for the docker containers https://github.com/mdhiggins/sonarr-sma#configuring-sonarr note that the path you're supposed to use is
/usr/local/sma/postSonarr.sh and NOT /usr/local/sma/postSonarr.py

Similarly to run manual.py from inside the containers you have to point it to the virtual environment as well
/usr/local/sma/venv/bin/python3 /usr/local/sma/manual.py

Thanks for the help!
Well, your suspicion was correct. I was trying to run postSonarr.py, not .sh.
However, I changed it to the .sh and when I do a test now, I get an exit code of 1, and still nothing in the log file.

Might want to do a clean image given the new information and previous modifications you made and see if that persists. If it does, check the Sonarr logs to see what the error is that's giving the exit code. If you're getting nothing in the SMA logs it's probably an import exception of some kind

That did it! Rebuilt the containers and everything is working. I ran a test with radarr and sab, and it took 4 hours to convert a file. Any ideas of how I can speed it up? Here's the log:
https://gist.github.com/MrGibbage/c56b912bc209fd871c482f60b5f1aff2
Thanks again for the help!

Depends on your hardware, but video transcoding is always going to take a while compared to just audio
The script is a wrapper for FFMPEG so you'll need to look in to how to improve your FFMPEG transcoding times
Best bet is to try to remux video streams when possible, that will give you the no quality loss and be the fastest (so for example, don't download h265 10 bit sources and then transcode down to h264 sdr when possible, just get h264 sources)
If you must transcode, adjusting quality can allow transcoding faster
Using hardware transcoding if you have supported hardware will help as well
https://trac.ffmpeg.org/wiki/HWAccelIntro
And general h264 transcoding information for your reference
https://trac.ffmpeg.org/wiki/Encode/H.264


Default settings in not really "default" but "prefix". No ability to override default export folder.

The "default" keyword behaves as "prefix" in terms of folders.

Create a layer with name "default 150% 1.5x/ + 100% 1.0x/ + 75% 0.75x/"
Name any layer you want to export like "100% 1.5x/filename.png + 75% 1.0x/filename.png"

As a result you will have:
test-assets/1.5x/1.5x/filename.png (100%)
test-assets/1.5x/1.0x/filename.png (75%)
test-assets/1.0x/1.5x/filename.png (100% again)
test-assets/1.0x/1.0x/filename.png (75% again)
This is completely wrong, because any mention of folder should override default one imho.

Thanks for the feedback, @artfabrique. I agree, the default keyword is not as polished as it could be from a usability perspective.
Marking as feature request.

Totally agree. Didn't work as I expected either.


nginx/proxy: allow specifying next upstream behaviour

The motivation is that in our use case 504 http response is a valid user facing status code and nginx is retrying to all upstreams because it's inside the list of retryable errors (proxy_next_upstream):
https://github.com/kubernetes/ingress/blob/master/controllers/nginx/rootfs/etc/nginx/template/nginx.tmpl#L220
I didn't tested it yet because docker is retrying some image layers all the time but in case we can accelerate the acceptance-denying/review process here it is.
Should replace RetryNonIdempotent configuration.
WDYT?

This change is

Lots of work to be done but just to put it on the table and get feedback from you guys.

@glerchundi you need to change the template (no reference int the PR).

Should replace RetryNonIdempotent configuration.

No. We need to keep the current defaults and allow the RetryNonIdempotent customization to the user

Also please add the new flag in the section https://github.com/kubernetes/ingress/blob/master/controllers/nginx/configuration.md#allowed-parameters-in-configuration-configmap

@aledbf in case non_idempotent is defined by the user a warning appears indicating that a duplicate key was present:
2017/06/26 20:54:24 [warn] 1#1: duplicate value "non_idempotent" in /etc/nginx/nginx.conf:98
nginx: [warn] duplicate value "non_idempotent" in /etc/nginx/nginx.conf:98

I don't know if the extra logic to remove non_idempotent is worth it or not. Will do tomorrow in case it is.
Thanks for being that quick!

@aledbf, in the case of non_idempotent we can choose between these options:

Do nothing and let user fix ProxyNextUpstream & RetryNonIdempotent to conform a valid configuration file. nginx will complain with the error below.
Always remove non_idempotent before using it and notifying the removal to the user with a warning which indicates that retry-non-idempotent should be used.
Fail fast and don't allow non_idempotent in proxy-next-upstream.

I would choose the second one, WDYT?

Coverage increased (+0.05%) to 44.285% when pulling 1b3adb51bd36bc066e8b04d162f77ad3742db014 on glerchundi:master into 1468fcb1aaac9ad3c7d21e135a9e117a5d850f87 on kubernetes:master.

Coverage increased (+0.03%) to 44.271% when pulling 1b3adb51bd36bc066e8b04d162f77ad3742db014 on glerchundi:master into 1468fcb1aaac9ad3c7d21e135a9e117a5d850f87 on kubernetes:master.

@aledbf any chance to review and make it inside the next release? ;)
On Tue, 27 Jun 2017 at 07:58, Coveralls<EMAIL_ADDRESS>wrote:

[image: Coverage Status] https://:/builds/12145625
Coverage increased (+0.03%) to 44.271% when pulling 1b3adb5
https://github.com/kubernetes/ingress/commit/1b3adb51bd36bc066e8b04d162f77ad3742db014
on glerchundi:master into 1468fcb
https://github.com/kubernetes/ingress/commit/1468fcb1aaac9ad3c7d21e135a9e117a5d850f87
on kubernetes:master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress/pull/907#issuecomment-311260846,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACIPlr_sfML1yNvky_UX3rJTprNHzSdhks5sIJnogaJpZM4OF0r8
.

any chance to review and make it inside the next release? ;)

Please refactor the template with the function and I will test this asap

@aledbf addressed and squashed.

Coverage increased (+0.06%) to 44.302% when pulling 5503e8d0e91c31108aa025c4f69d562c962c92b2 on glerchundi:master into 05e460012d967c84a62123219b027da6c67c1570 on kubernetes:master.

Coverage increased (+0.08%) to 44.315% when pulling 5503e8d0e91c31108aa025c4f69d562c962c92b2 on glerchundi:master into 05e460012d967c84a62123219b027da6c67c1570 on kubernetes:master.

/lgtm

@glerchundi thanks!

Thanks and keep up the good work!
On Wed, 28 Jun 2017 at 01:24, Manuel Alejandro de Brito Fontes <
<EMAIL_ADDRESS>wrote:

Merged #907 https://github.com/kubernetes/ingress/pull/907.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress/pull/907#event-1141472606, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACIPluTGDxHq6j173zKWEVL94Wccqobtks5sIY8igaJpZM4OF0r8
.


Move LibBpf detection before bcc symbols check

So we can use detected libbpf in libbcc checks.

The CI failed to find bcc_prog_load() for some reasons.

The CI failed to find bcc_prog_load() for some reasons.

The CI failed to find bcc_prog_load() for some reasons.

yep, I forgot to put the condition on LIBBPF_FOUND, should be ok now

The CI failed to find bcc_prog_load() for some reasons.

yep, I forgot to put the condition on LIBBPF_FOUND, should be ok now


Fix for 480

closes #480
(probably this check is not in the right place.)

I'm not sure if we would like to have this behaviour. If the use explicitly sets a legend, they might want to have the space even if there is no legend. Usecase: there are 3 chart in a data story, 1st and 3rd have legend, but not for the 2nd. In this case the user might not want the chart to get wider then narrower.

If the user wants to explicitly set a legend without drawing, then we need an option for that (an empty channel).


Fix missing freeipa-server-dns package

It looks like the default configuration now requires the freeipa-server-dns package to configure properly.

I fell to the empty merge trap of GitHub again. The 16ba624 was removed, 50c6efb4ed012e38191619aa1e9eff1551829b43 is the commit where this went in.

Thank you.


How to make text start rolling from the right side of the component?

How to do this?

Hi @nilopaim,
you can use the property reverse ?

Not exactly.
I need the text "coming" from the right side towards the left side, even when the text is smaller than the container.

When the text is smaller than the container you need the property repeat.
See area To small content.

Oh, I see it now.
By the way, excelent piece of software. Congratulations.
Thanks a lot.


Fix typo

Closes https://github.com/xbmc/kodi-tv/issues/203

This is untested, I kinda hoped I could validate this via the pipelines :)

Only one quotation mark was replaced by an apostrophe.

Fixed with additional change and merged.


Support for 16KB page sizes for native lib (Android 15 support)

Adding support for 16KB page size for native lib.
Android 15's coming with a breaking change. Here's the documentation mentioning it
https://developer.android.com/guide/practices/page-sizes#ndk-build_1
I am using cordova-sqlite-storage plugin and there's already a issue created: https://github.com/storesafe/cordova-sqlite-storage/issues/1021
So I made a change to Application.mk which should be build using NDK 27 or above.
Tested it by re-building the project, generated the jar. And verified it by launching the app in Android 15 Emulator (arm64) and app works.
@brodycj If you could take a look at this PR and provide next steps for using the native libs for the plugin, That would be so helpful.
Thanks in advance.

@brodycj Any update on this PR would be appreciated. As we are not sure about the Android 15 release and that breaks app installation itself.


clipboard symfony 4 ?

Hello,
Can not import the JS.
I did:
npm install clipboard --save
The files are present in node_modules
Then in my app.js file I do:
import 'clipboard.min';
var clipboard = new ClipboardJS ('. CopyText');
clipboard.on ('success', function (e) {
     alert ( 'OK');
});

He says to me in console:
ReferenceError: ClipboardJS is not defined
If I go through:

that works well.

An idea ?

Here is a Gist with more recent implementation hints using Symfony and Webpack Encore. Thank you for this library.


Add TypeScript support

I wanted to use this package in Hapi/TypeScript project so I had to add this file in node_modules/hapi-dev-errors to work properly.

@zsevic Thank you for the PR! I’m not familiar with Typescript yet. I need to read on the TS essentials to wrap my head around it.
Can you please describe what this one-liner does?
I’m mainly interested in the effects that are enabled with when merging this PR.
For example, does this change allow you to import hapi-dev-errors in Typescript`? Why isn’t this hapi plugin working with TS at this point? Should I add a default export?
Thank you for your help!

index.d.ts is used to provide TypeScript type information about a module that's written in JavaScript. This will allow you to use the JavaScript modules without the need to convert them to TypeScript, without getting any type error on your code. Here are examples how it looks like for Node and Hapi.
This one-liner is enough to allow importing hapi-dev-errors in TypeScript, default export isn't needed here. You're welcome!

@zsevic Thank you Željko for this addition. I’ve tagged version 3.3.0 containing the TypeScript declaration 👍


Environment variable

Describe the bug
I am reading few columns of parquet files stored in S3 with aws lambda using awswrangler.s3.read_parquet, column parameter. I want to use column as environment variable in lambda but it fails. Using the same as list in the code works.
To Reproduce
Python - 3.8
Wrangler version - awswrangler-layer-1.0.3-py3.8.zip
In the lambda code --
cols = ["id", "last_updated"] --> Works well, no error
But, if I pass columns as environment variable it fails.
cols = os.environ["COLUMNS"]
In the environment variable I have tried setting in 3 ways and all fails

["id", "last_updated"]
"id", "last_updated"
("id", "last_updated")

Response:
{
"errorMessage": ""None of [Index(['last_updated'], dtype='object')] are in the [columns]"",
"errorType": "KeyError",
"stackTrace": [
"  File "/var/task/lambda_function.py", line 146, in lambda_handler\n    df = read_parquet(s3_path=s3_files, columns=cols,\n",
"  File "/var/task/lambda_function.py", line 90, in read_parquet\n    df[["last_updated"]] = (df[["last_updated"]] -\n",
"  File "/opt/python/pandas/core/frame.py", line 2806, in getitem\n    indexer = self.loc._get_listlike_indexer(key, axis=1, raise_missing=True)[1]\n",
"  File "/opt/python/pandas/core/indexing.py", line 1552, in _get_listlike_indexer\n    self._validate_read_indexer(\n",
"  File "/opt/python/pandas/core/indexing.py", line 1640, in _validate_read_indexer\n    raise KeyError(f"None of [{key}] are in the [{axis_name}]")\n"
]
}

Hi @anand086!
Actually wr.s3.read_parquet() expects the columns argument as a list of string (List[str]). But when you get your environment variable, you are probably receiving a string (within a stringfied list).
It is not directly related to AWS Data Wrangler. But maybe a simpler straightforward approach would be:
1 - Set your environment variable with pure columns names separated by commas:
id,last_updated,other_column...
2 - Split the received variable by comma:
columns=os.environ["COLUMNS"].split(",")
Let me know if it help you.

Thank you! Yes setting the environment variable with comma separated column name worked.


Only warn about namespaces mismatches if there are any user-defined namespaces

:+1:  to not seeing these warnings every time.

Is there a ticket associated with this PR?

I couldn't find one, but I can certainly create one if @escowles doesn't mind.

@awoods I went ahead and created a ticket and linked between it and this issue: https://jira.duraspace.org/browse/FCREPO-1920

Thanks, @escowles.


fix: Secuirty issue due to endsWith

While trying to onboard this plugin to organisation I was facing some critical security issue due to the usage of endsWith I have replaced that line of code

Hey @NehaDadhich the dist is not the one you should edit it should be the files inside src and then you should run
npm run build

The github action needs final output. Are you able to edit it inside src folder?

Hey @NehaDadhich the dist is not the one you should edit it should be the files inside src and then you should run
npm run build

The github action needs final output. Are you able to edit it inside src folder?

Hi @akhilmhdh we are facing the security issue with the usage of endsWith method and I don't find it used anywhere else other than that method as that is giving us an issue. Could you please point me to where it can be changed instead?
Thanks

Hi, I am closing this PR as while trying to onboard this with our enterprise we found out that it is currently not supported for github enterprise


Release 2021-05-05

Delete unused code
Support method names with sign in
Fix total amount calculation for transaction signing

Blocking this for now because of some 2FA issues post near-api-js merge (there were some other independent changes interfering with our changes)


hsapi/resource queries timout for spatial search

Description of the bug
Requests like the following
/hsapi/resource/?west=-114.6094&east=-72.4219&north=45.3861&south=35.8036&coverage_type=box timout. If multiple such requests are made concurrently, they push our gunicorn workers to 100%CPU and all other functionality on Hydroshare is blocked
related to https://github.com/hydroshare/hydroshare/issues/5159
The reason is the way that we do spatial queries:
https://github.com/hydroshare/hydroshare/blob/2.9.3/hs_core/hydroshare/users.py#L430-L470
We have 2 options that I can see:

Rewrite this endpoint so that it uses SOLR for spatial queries
Migrate our coverage _values so that instead of storing Coverage as strings, we store them as postgis geospatial features. This would enable direct sql query instead of having to iterate over all resources of a given coverage type.

Additional information
HS v2.9.3

For now, to prevent prod downtime we are disabling spatial query params from hsapi
https://github.com/hydroshare/hydroshare/pull/5241


.downloadURL(); is not a function

from https://github.com/angular/angularfire2/blob/master/docs/storage/storage.md
@Component({
  selector: 'app-root',
  template: `
    <input type="file" (change)="uploadFile($event)" />

{{ uploadPercent | async }}

    {{ downloadURL | async }}
 `
})
export class AppComponent {
  uploadPercent: Observable<number>;
  downloadURL: Observable<string>;
  constructor(private storage: AngularFireStorage) {}
  uploadFile(event) {
    const file = event.target.files[0];
    const filePath = 'name-your-file-path-here';
    const task = this.storage.upload(filePath, file);

    // observe percentage changes
    this.uploadPercent = task.percentageChanges();
    // get notified when the download URL is available
    this.downloadURL = task.downloadURL();
  }
}

this.storage.upload(filePath, file).downloadURL();
.downloadURL() is no longer available
these are the available options
.catch
.then
.pause
.cancel
.resume
.task
.snapshortChanges
.percentageChanges

downloadUrl was in  "angularfire2": "^5.0.0-rc.6",
please how can I get the downloadUrl in thes present version?
"angularfire2": "^5.0.0-rc.8.0",
"firebase": "^5.0.2",

fixed
uploadFile(event) {
    const file = event.target.files[0];
    const filePath = 'name-your-file-path-here';
    const task = this.storage.upload(filePath, file).then(() => {
         const ref = this.storage.ref(filePath);
         const downloadURL = ref.getDownloadURL().subscribe(url => {
         const Url = url;
         console.log(Url);
     })
  }

The downloadUrl method has been deprecated in favor of the new .getDownloadURL()
export class AppComponent {
  uploadPercent: Observable<number>;
  downloadURL: Observable<string>;
  constructor(private storage: AngularFireStorage) {}
  uploadFile(event) {
    const file = event.target.files[0];
    const filePath = 'name-your-file-path-here';
    const fileRef = this.storage.ref(filePath) // Add this line to get the path as a ref
    const task = this.storage.upload(filePath, file);

    // observe percentage changes
    this.uploadPercent = task.percentageChanges();
    // get notified when the download URL is available
    this.downloadURL = fileRef.getDownloadURL() // And this one to actually grab the URL from the Ref
  }
}

Also you might wanna subscribe to the function to extract the url given that it's returning you an Observable...
	fileRef.getDownloadURL().subscribe(ref => {
            console.log('REF', ref)
            this.downloadURL = ref
	})

Awesome your solutions are always unique thanks @codediodeio

Dup #1645

Another possible solution is define the dowlnoad URL after the task has been completed.
import { finalize } from 'rxjs/operators';

// ...

task.snapshotChanges().pipe(
    finalize(() => this.downloadURL = this.storage.ref(path).getDownloadURL() )
 )
.subscribe()

This works, for me downloadURL observable didnt work outside snapshotChanges. Thanks!


DLSS Support Outline

What would it realistically take to implement support for DLSS within this project? Could we make use of DXVK-NVAPI for such feature?
This is a wonderful project and I’m looking forward to contributing some of my own work to it.

I am very curious about this question as well. Especially since the README contains the following text:
Realistically, it's now abandoned and will only possibly receive updates to run workloads I am personally interested in (DLSS).
Being able to run DLSS on AMD hardware would be a game-changer for sure, and I am curious what it will take to get there. Amazing project, and I am hoping this won't die now that funding has stopped.

Attempt no.1 (Base ZLUDA build)
Details: DXVK-NVAPI Requires patches in order to bypass AMD GPU Detection, The rest of the libraries work fine. GPU Arch is set to NV_GPU_ARCHITECTURE_TU100.
Observation: The game(s) fail at NVSDK_NGX_D3D12_GetFeatureRequirements. 2 Examples are provided (Minecraft RTX, R&C Rift Apart). Although preliminary initialization does succeed.

I did not take notes last time I poked there, so it might not be 100% accurate, but:

Don't use a full game, rather start with DLSS 2 sample app (https://github.com/NVIDIA/DLSS/releases)
I use D11 api names, but you should try Vulkan on Linux
DLSS calls can be intercepted at nvapi level or CUDA dark api. I did both and I recommend going down the nvapi path. CUDA dark api functions for DLSS is partially mapped out in ZLUDA, but it's a pain. nvapi has all the nice names and it's clear what you are using
Your first goal is to dump DLSS kernels: just break on  NvAPI_D3D11_CreateCubinComputeShaderWithName and dump pCubin argument, it's a nice PTX assembly and that's how far I got
The PTX you get looks ostensibly normal, but it's dodgy like this:cvt.u64.u32	%rd58, %r86;
...
sust.p.2d.v4.b32.zero [%rd58, {%r195,%r196}], {%f576,%f1418,%f1418,%f1418};

Now, my goal was to have nvapi-without-nvapi. Meaning imlementing nvapi functions in terms of CUDA functions, so NvAPI_D3D11_CreateCubinComputeShaderWithName -> cuModuleLoadData + cuModuleGetFunction, NvAPI_D3D11_LaunchCubinShader -> cuLaunchKernel. Might require touching up PTX manually or doing some pre/post processing on the host side. This is all to prove that we fully understand DLSS API flow and there's now action at the distance. Might not be possible.
Next step would be to compile the PTX on ZLUDA. There are some missing instructions. tex. with LOD, mma. or wmma.. At this point they don't have to be fast, just correct
Now you need to figure out how to interop with Vulkan. What you need is an API where you can post an arbitrary ZLUDA kernel to Vulkan command list. This probably does not exist, but since you are on Linux and have the sources to the Vulkan implementation then you can create a temporary implementation. The problem is with emitting the ZLUDA kernel. It must ABI-match whatever your Vulkan implementation is expecting. I've seen amdgpu_cs calling convention in LLVM, maybe that's enough?
zluda_api is the ZLUDA subproject with enough nvapi implemented for the purpose of debugging and development of DLSS

Regarding the Vulkan interop it seems hip hould support it, Although I'm not sure if a kernel can be bound to an arbitrary command list as you specify. See example here
D3D12 interop should also be available on windows. There are no HIP samples but the recently released Orochi 2.0 does contain a DX12 sample: here

I ran some tests and want to report my findings which are very bare-bones.
I tried to run the DLSS sample that was linked on an AMD gpu on linux. The first issue is that vulkan will require a few extensions that AMD GPUs do not have:

VK_NVX_binary_import - Allows applications to import CuBIN binaries and execute them.
VK_NVX_image_view_handle - Allows applications to query an opaque handle from an image view for use as a sampled image or storage image

I patched the source to bypass those checks, along with some other changes:

patching NGXWrapper::IsFeatureSupported to return always true
setting deviceParams.swapChainBufferCount = 3;
patching surfaceCaps.maxImageCount < m_DeviceParams.swapChainBufferCount to surfaceCaps.maxImageCount != 0 && surfaceCaps.maxImageCount < m_DeviceParams.swapChainBufferCount
disabling .setBufferDeviceAddressMultiDevice(true);
changing shadow map and depth buffer formats from nvrhi::Format::D24S8 to nvrhi::Format::D32S8 (fixes broken rendering)

After this I finally got the sample running, sadly I did not get any calls to NVApi. This is likely because NGX does a feature check and refuses to initialize on unsupported GPUs. At this point I have some questions:

Is it possible to spoof GPU and supported vulkan extensions? (I tried MESA_EXTENSION_OVERRIDE but no luck I assume It's OpenGL only)
Has anyone managed to intercept DLSS-related NVAPI calls on an AMD GPU?
What do you think the best strategy going forward would be?
Is the situation simpler with DirectX?

I think there are three options:

Find out how to patch the necessary checks in NGX
Find a way to spoof vulkan extensions and GPU
Modify the radv/mesa to report those extensions as available

I managed to get a vulkan layer 'working', at least I can get calls passed from the DLSS example to ZLUDA.
I now got the PTX dumped.
I had to implement/stub the following instructions:

tex.base
sust.p

I am now missing the following:

cvt.rn.f16x2.f32
ldmatrix
mma
fma.relu
cp.async.cg

@vosen My question now is about cvt with f16x2. What do you think is the best way to implement it, as it has 3 arguments instead of the usual two for cvt.
Is it better to create a new struct like this:
pub struct Arg3Cvt<P: ArgParams> {
    pub dst: P::Operand,
    pub src1: P::Operand,
    pub src2: option<P::Operand>,
}

and substitute it as argument for all versions of cvt. Or is it better to make a new cvtHalf instruction?
Or is there a third better way, I'm still learning rust.

Best to decide depending on what sort of LLVM bitcode do we need to emit for it. as::CvtDetails already splits conversion case into separate variants (IntFromInt, FloatFromFloat, IntFromFloat, FloatFromInt) which are handled differently. One more distinct variant is going to fit ok with the rest of the code. On the other hand adding a distinct ast::Instruction variant just for cvt.rn.f16x2.f32 is fine too - there is no reason for other cvt variants to care about the src2 that will always be None and there's already precedence for this sort of codeling in the codebase (e.g. Atom vs AtomCas`).
Both solutions are good, choose whichever turns out to be more convenient.

So after rollback is it still possible working on DLSS or is it a far goal to achieve now?

So after rollback is it still possible working on DLSS or is it a far goal to achieve now?

It’s pretty much a pipe dream for the foreseeable future.

Would still be by far the most interesting use case I think. And even with the current focus being on OSS AI libs, I think this would still be interesting as it's a single target that probably won't move too much. And this by far would probably affect the most people as Gaming is still the primary focus of those gaming GPU.
Also just for NVIDIAs reaction when their "tech that only runs on our GPU because other just can't do it" can run on other GPU. Probably a bit compromised, but still.


Added dynamic keyword and Aggregate functions

Changelog category (leave one):

Improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Below improvements are added:

dynamic keyword
array_index_of
array_length
array_sum
...

Information about CI checks: https://clickhouse.com/docs/en/development/continuous-integration/

submitted a new PR after merging changes.


Determine the build invocation ID at build invocation time

This is where it belongs. We used to have it in the Gradle scope because of the GradleBuild task, but that can be solved in a less intrusive way.

@bot-gradle test QFL without PTS.

I've triggered the following builds with parameters: -DenablePredictiveTestSelection=false for you. Click here to see all build failures.

QuickFeedbackLinux build

@bot-gradle test QFL without PTS.

I've triggered the following builds with parameters: -DenablePredictiveTestSelection=false for you. Click here to see all build failures.

QuickFeedbackLinux build

@bot-gradle test and merge please.

I've triggered a build for you. Click here to see all failures if there's any.


onRegionChange/onRegionChangeComplete constantly called on iPhone X without interaction with the map

Is this a bug report?
Yes.
Have you read the Installation Instructions?
Yes.
Environment
react-native: 0.57.0
react: 16.5.0
react-native-maps<EMAIL_ADDRESS>
Steps to Reproduce

Add mapview per instructions.

Open on iPhone X simulator. (or iPhone XR)
The map will move down constantly without any interaction.
(onRegionChangeComplete and onRegionChange gets called somehow)

Expected Behavior
Step 3) shouldn't happen. Both onRegionChangeComplete or onRegionChange shouldn't be called without some interaction with the map.
Actual Behavior
Map constantly moves down. onReagionChange is called although there wasn't any interaction with the map.
Reproducible Demo
Will add it over this weekend.

duplicate of https://github.com/react-community/react-native-maps/issues/1966


python312Packages.scalene: <IP_ADDRESS> -> <IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.scalene is: High-resolution, low-overhead CPU, GPU, and memory profiler for Python with AI-powered optimization suggestions
meta.homepage for python312Packages.scalene is: https://github.com/plasma-umass/scalene
meta.changelog for python312Packages.scalene is: https://github.com/plasma-umass/scalene/releases/tag/v<IP_ADDRESS>
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS> with grep in /nix/store/hirica195mgr3f0cj66w13v943jjld1f-python3.12-scalene-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/hirica195mgr3f0cj66w13v943jjld1f-python3.12-scalene-<IP_ADDRESS>

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.scalene
python312Packages.scalene
scalene

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hirica195mgr3f0cj66w13v943jjld1f-python3.12-scalene-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.scalene https://github.com/r-ryantm/nixpkgs/archive/6a0b3c2ccb650f7d4690a9443c37c8b34c484b07.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/6a0b3c2ccb650f7d4690a9443c37c8b34c484b07#python312Packages.scalene

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hirica195mgr3f0cj66w13v943jjld1f-python3.12-scalene-<IP_ADDRESS>
ls -la /nix/store/hirica195mgr3f0cj66w13v943jjld1f-python3.12-scalene-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

python311Packages.scalene
python311Packages.scalene.dist
scalene (python312Packages.scalene)
scalene.dist (python312Packages.scalene.dist)

Maintainer pings
cc @sarahec for testing.

It's back to being broken again @eclairevoyant 😭

setuptools is too new for the package, though I'm not sure why I was tagged specifically :slightly_smiling_face:

You're the most recent person to fix the build for scalene:
https://github.com/NixOS/nixpkgs/pull/309533
No good deed, etc.

On it


Invalidate layout when collection view reused between IGListAdapters

Closes #659

@rnystrom  -- hm... probably just want to mock and verify that invalidateLayout is called? or... ?


Preparing for 1.3.0 release

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

Project coverage is 98.00%. Comparing base (fc1277b) to head (af363cf).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #34   +/-   ##
=======================================
  Coverage   98.00%   98.00%
=======================================
  Files           2        2
  Lines          50       50
  Branches        8        8
=======================================
  Hits           49       49
  Partials        1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


 - Enable tsconfig paths (config only)

Sets deps and configs for ts-config-paths.
Depends on Mocha upgrade.
enables to import via @dilecy as alias for src/renderer.
Going forward, anything which is imported from another module* should be imported by using the alias.
Going forward, we should have one barrel file in src/renderer and one barrel inside each bottom-level folder. The barrel in src/renderer should point to the bottom level barrels. This way we can achieve import structure like
import { action, RootState } from '@dilecy/core'.  or `import { StyledButton, StyledButtonOutlined } from '@dilecy/shared'.
Going forward, we should consider avoiding default export's within a module or generally. They have no benefit for us while they can obfuscate the name of the exported class.

*module => represented by any folder directly below src/renderer
I can later merge the actually updated imports from the other branch.

Thanks for the PR.
The changes will create a conflict with #3. If possible I propose to change the base branch and resolve the conflicts.

I cannot change my base to a branch within my own repo, from here, only to dilecy branches.
I would then just wait with this for the time being.

Actually I will close this and reopen it whenever the mocha upgrade goes through.
Should not have created this in the first place.

now everything seems to check out, also for test and webdev

Yes, that was for testing purposes, sorry!
My rule for imports: if it is further up that two directories, use the '@dilecy' import.
That way, I also try to not stack anything deeper than four folders. The top level folders (core, feature, ....) should be the entry points. This way we do not need to create more path aliases, just index.ts files for each top-level folder.


[Event Request] Transfer Line-Reserve CreateReservation

Describe the request
Can we add the events OnCreateReservationOnBeforeCreateReservEntry(TransferLine, Quantity, QuantityBase, ForReservEntry, IsHandled) and OnAfterCreateReservation(ServiceLine) to the Transfer Line-Reserve codeunit CreateReservation to mirror the events in the "Sales Line-Reserve" codeunit
Additional context
Consistency with Sales line-Reserve
Internal work item: AB#496593

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 15512.


Repeat a single track

Hello :)
Thank you very much for this great project.
I was wondering if it's possible to repeat a single track? So far, I only found these 2 options:

Repeat context
Off

Thank you for your help!

Hi @arch-btw, hope u like spotify-player. It's not possible to repeat single track if u play music through the integrated player. This is a well-known issue of librespot, which is the library I use to implement the integrated player. Note that u can still repeat a single track if u play another client and use spotify-player like a remote player, like the official Spotify one.

Close this issue for now as it's related to a third-party library and cannot be fixed within spotify_player.

What you saying is librespot  doesn't support basic functionality like repeat/shuffle. It seems like bells and whistles overweight common sense... Oddly but yes!

librespot does support repeat/shuffle. The only thing it doesn't support is repeating a single track, for example in an album or playlist.
Related: https://github.com/librespot-org/librespot/issues/19


Update minimum version of PHP to 7.2

I can grab this one

Thanks, @MarcusFulbright. I should create a PR template that includes a message like "If this is for a specific issue, please comment on the issue that you are working on it." 😄


♻(search) refactor the way filters are being configured

Purpose
It was not easy to define the list of filters to display and their order.
PR https://github.com/openfun/richie/pull/1765 addressed this issue by introducing new settings, one per filter.
This PR is an attempt to further simplify filters configuration and avoid adding too many settings, the existence of which is tied to what is defined in FILTERS_CONFIGURATION.
Proposal
Introduce a new setting FILTERS_PRESENTATION and simplify the format of the existing FILTERS_CONFIGURATION setting.
With this new setting, it is easier to define which filters are displayed and their order.
Filter definitions became a dictionary which also makes it easier than previous list of tuples.
This requires upgrade attention only for sites that have customized their filters.
Now that filters configuration is easier, I added a documentation to explain what is possible.

I feel that, probably in future, the FILTERS_LIST need to be a dict. But in other end my thoughts could be over engineering it. For what we need now, I think it's good refactor.

True! i put LIST because I forgot our discussion and didn't see why we didn't call it a list... Let's call it FILTERS_PRESENTATION as initially discussed.

I think we should at least document, in the docs, on how to remove and reorder the filters, the basic stuff.

Good idea!

@igobranco The PR should be ready for further review. I have:

renamed FILTERS_LIST to FILTERS_PRESENTATION
refactored filter definitions to make them easier to override and clearer to understand (although it will never be trivial I'm afraid)
added documentation about how to customize search filters

LGTM
I personally liked very much the docs. It has allowed me to understand better the configurations.

It seems that position property is now used only once

i assumed that the fronted was using it but after your comment I checked and couldn't find it. So you confirm that the frontend only looks at the order in which the filters are returned?

It seems that position property is now used only once

i assumed that the fronted was using it but after your comment I checked and couldn't find it. So you confirm that the frontend only looks at the order in which the filters are returned?

Yes, I do.
I also checked from my side before writing this comment.

@jbpenrath following our discussion IRL where we decided to keep the "position" field to:

make ordering explicit and robust
not change the current API

I added a sorting close on the frontend and added a test to secure it.


Remove unsupported fields in snow doc

Issue #, if available:
https://github.com/aws/eks-anywhere/issues/1111
Description of changes:
Remove containersVolume fields that are not supported in CAPAS yet.
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherrypick release-0.14


Reduce Entries Saved In History Buffer

Is your feature request related to a problem? Please describe.
The history buffer that allows you to go back and forth between previous selected instructions contains so many entries that it makes it nearly unusable.  It seems to save every address you select that is in a new code block instead of just important addresses.
Describe the solution you'd like
I recommend updating the history buffer to just save addresses where the user double clicks and the address changes.  In essence, I believe this option should be updated to match all of the other competing tools such as Ida Pro.
The primary use case for the history buffer is to go back and forth between functions the user has visited, and to a lesser extent, data variables, graph edges that were clicked to be followed, etc.
I've tried my best but can't think of any use case where you would need or want to visit every code block that has been selected.  With the current setup, the history buffer often gets filled within a single function you are analyzing so that you either can't even get back to the parent function, or it takes 5 minutes of traversing the history buffer.
Fixing this is a user interface issue would relieve a significant pain point in using ghidra to reverse engineer files.  The way it works now, there are so many instances where the history buffer gets filled so you can't find the function you came from and if you check the cross references, the parent function may not have been named yet making it extremely difficult to figure out where you came from.
Describe alternatives you've considered
I've thought about increasing the history buffer size in the Tool Options and trying to write a Ghidra script that would traverse the history buffer automatically until it found the previous function, but it is less than ideal to need a script for such a basic and commonly used capability.  I also am not sure the API even supports this ability.

This is a tough feature to get right.  It will probably require tool options so that users can tailor it to their specific needs.
IIRC, we only place the current location onto the history stack when the user initiates a 'go to' to jump to a new location.   This allows you to go back to the location from which you jumped, but does not place every clicked location on the stack, making this a sort of hybrid approach.  (It is possible that the Function Graph is not behaving as expected; it should be using the hybrid approach.)
Of the top of my head, based on user feedback, I could see these possible use cases:

Track every location change
Track only function changes
Track each location left from a navigation action (Go To Dialog, double-click, etc)
Some form of one of the above, also tracking any edit location

Ghidra can certainly be updated to handle any/all of these use cases, having them co-exist with the use of tool options.  For us to get this right, we really need to understand the workflow(s) supporting each use.

So i did a bit of testing.  It's a little hard to tell for sure with just preliminary testing, but I think it might be a bug in the history on the graph view.  I tried analyzing a few functions in the flat view, and the history buffer doesn't get nearly as full.  It seems like there were still a few times where some addresses got saved that weren't due to me performing a navigation action, etc. but they were minimal.  It's hard to say for 100% sure without it working, but I think if the history buffer worked in the graph view the same as in the flat view, it would be a decent workflow.
Given that this looks more like a bug now than a feature request, am i able to change this issue to a bug issue for the history buffer for the graph view and leave it open, or should i close this out and open a new issue?
Also, is there way to access the history buffer via script?  I can try to work around the bug in the graph view that way in the meantime.  I feel like I should be able to parse the util.HistoryList to find the last entry that is in a different function, but i'm not quite sure how to call this HistoryList?

or should i close this out and open a new issue?

I think this issue is as good a place as any.
It sounds like a bug a face value.   It could be that the Function Graph was trying to track all separate visited nodes.  If that is the case, then we can re-think when to track the locations.
As far as the HistoryList editing goes, we will have to make an assessment of value for the work required.

For this request we added an option to the Function Graph to not save the location for every vertex visited.  That option is off by default.


Change to compiler attributes to slightly speed up

Change to compiler attributes to slightly speed up:

Mark some error logging functions as __attribute__((cold)).
The paths leading to calls of cold functions within code are marked
as unlikely to help branch prediction mechanism and instruction
cache hits.
See: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html

move likely & unlikely macros from vim9execute.c to vim.h
so they can be used in other places.  I used them in misc2.c
and vim9compile.c

define ATTRIBUTE_FORMAT_PRINTF macro in vim.h to avoid several
#ifdef wherever __attribute__((format(printf, ...))) was  used.
And mark a few more functions with ATTRIBUTE_FORMAT_PRINTF.

sum and indent benchmarks with vim-8.2.3215 clang-12 -O2 luajit before change:
           ----- [sum benchmark]-------    ----[indent benchmark] ---
Vim old:   6.041052  6.148449  5.979461    0.574140  0.555627  0.557713
Python:    0.404520  0.380632  0.379797    0.177340  0.152720  0.151942
Lua:       0.004480  0.004244  0.004246    0.129233  0.129052  0.129261
Vim new:   0.129743  0.129349  0.129919    0.082961  0.082470  0.082970

sum and indent benchmarks with vim-8.2.3215 clang-12 -O2 luajit after change:
           ----- [sum benchmark]-------    ----[indent benchmark] ---
Vim old:   5.975176  5.854275  5.929380    0.568814  0.572812  0.566962
Python:    0.378158  0.374005  0.374160    0.144057  0.145641  0.162473
Lua:       0.004243  0.004250  0.004240    0.128840  0.129053  0.124206
Vim new:   0.122790  0.122743  0.122933    0.078902  0.078892  0.078865

It's not a big performance improvement, but vim9 is consistently slightly
faster (~5%) on my i7-7700T CPU @ 2.90GHz. Hopefully it's also faster on
other CPUs.

Dominique wrote:

Change to compiler attributes to slightly speed up:

Mark some error logging functions as __attribute__((cold)).
The paths leading to calls of cold functions within code are marked
as unlikely to help branch prediction mechanism and instruction
cache hits.
See: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html

move likely & unlikely macros from vim9execute.c to vim.h
so they can be used in other places.  I used them in misc2.c
and vim9compile.c

define ATTRIBUTE_FORMAT_PRINTF macro in vim.h to avoid several
#ifdef wherever __attribute__((format(printf, ...))) was  used.
And mark a few more functions with ATTRIBUTE_FORMAT_PRINTF.

sum and indent benchmarks with vim-8.2.3215 clang-12 -O2 luajit before change:
           ----- [sum benchmark]-------    ----[indent benchmark] ---
Vim old:   6.041052  6.148449  5.979461    0.574140  0.555627  0.557713
Python:    0.404520  0.380632  0.379797    0.177340  0.152720  0.151942
Lua:       0.004480  0.004244  0.004246    0.129233  0.129052  0.129261
Vim new:   0.129743  0.129349  0.129919    0.082961  0.082470  0.082970

sum and indent benchmarks with vim-8.2.3215 clang-12 -O2 luajit after change:
           ----- [sum benchmark]-------    ----[indent benchmark] ---
Vim old:   5.975176  5.854275  5.929380    0.568814  0.572812  0.566962
Python:    0.378158  0.374005  0.374160    0.144057  0.145641  0.162473
Lua:       0.004243  0.004250  0.004240    0.128840  0.129053  0.124206
Vim new:   0.122790  0.122743  0.122933    0.078902  0.078892  0.078865

It's not a big performance improvement, but vim9 is consistently slightly
faster (~5%) on my i7-7700T CPU @ 2.90GHz. Hopefully it's also faster on
other CPUs.

Thanks.  Every little bit helps.
I'm wondering, using likely() and unlikely() for every ga_grow() is a
bit of a hassle.  Perhaps we can use a macro:
#define GA_GROW_FAILS(gap, count)  (unlikely(ga_grow(gap, count) == FAIL))
#define GA_GROW_OK(gap, count)  (likely(ga_grow(gap, count) == OK))
Which is also easier to read:
if (GA_GROW_FAILS(stack, 1))
    return FAIL;

--
hundred-and-one symptoms of being an internet addict:
233. You start dreaming about web pages...in html.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool  wrote:

I'm wondering, using likely() and unlikely() for every ga_grow() is a
bit of a hassle.  Perhaps we can use a macro:

Yes, this also bothered me a bit, as I did not want to pollute the code
everywhere with many uses of likely/unlikely.
But I think I found a better way.  In proto/misc2.pro, instead of
having the declaration...
int ga_grow(garray_T *gap, int n);

... we can have something like this:
int ga_grow(garray_T *gap, int n) BUILTIN_EXPECT(OK);

... which indicates that the function is likely to return OK.
vim.h would contain something like this:
#if defined(__GNUC__) || defined(__clang__)
#define BUILTIN_EXPECT(expr, val) __builtin_expect(expr, val)
else
#else
#define BUILTIN_EXPECT(expr, val)

So when a any source file uses if (ga_grow(...) == OK), the
optimizer can see that condition is likely to be true and
if (ga_grow(....) == FAIL) is likely to be false, without
having to pollute all uses of ga_grow(...). The same could
be done for several other functions of course.

In my previous comment, I wrote:

But I think I found a better way

Ignore my previous comment, I should have tried it before writing my message
as my suggestion does not work.
Your GA_GROW_OK, GA_GROW_FAIL macro may be OK
but I was hoping for something without having to modified the code
where it's used. I'll think more about it and update my PR later.

I've rebased the PR with vim-8.2.3270 and:

use the GA_GROW_FAILS macro
remove changes from misc2.c and vim9compile.c

The performance improvement is now somehow smaller.
vim9 is still slightly faster with the change, but it's only 1.72% faster which is disappointing.
So I'm not sure whether it's worth merging it.
The change to cleanup formatting attribute is good at least.

I've rebased the PR with vim-8.2.3270 and:

use the GA_GROW_FAILS macro
remove changes from misc2.c and vim9compile.c

The performance improvement is now somehow smaller.
vim9 is still slightly faster with the change, but it's only 1.72% faster which is disappointing.
So I'm not sure whether it's worth merging it.
The change to cleanup formatting attribute is good at least.

Let me first include the change to the PRINTF macro, that is a nice
cleanup.
Adding the cold attribute in the .pro files won't work, these files are
generated.  Is there another way for this?  What does "cold" do anyway?
For ga_grow() we should use the macro everywhere.  That should hopefully
help a bit.  It is used quite often.
--
Not too long ago, unzipping in public was illegal...
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool  asked:

Adding the cold attribute in the .pro files won't work, these files are
generated. Is there another way for this? What does "cold" do anyway?

OK.  The __attribute__((cold)) is documented at:
https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Function-Attributes.html
Quoting the doc:

The cold attribute is used to inform the compiler that a function is unlikely executed. The function is optimized for size rather than speed and on many targets it is placed into special subsection of the text section so all cold functions appears close together improving code locality of non-cold parts of program. The paths leading to call of cold functions within code are marked as unlikely by the branch prediction mechanism. It is thus useful to mark functions used to handle unlikely conditions, such as perror, as cold to improve optimization of hot functions that do call marked functions in rare occasions.

The idea is that functions like emsg(...) are not meant to be called often so by declaring cold, cold like this:
if (...)
  emsg(...)

should do this automatically (without having to add unlikely ourselves):
if (unlikely(...))
  emsg(...)

... as we tell the compiler that path which include the cold function is meant to execute rarely. Additionally, cold functions are put together to not pollute instruction cache and are optimized for size rather than speed as speed should not matter much for those functions.
But frankly, these attributes don't help as much as I hoped for.
I also tried to use __attribute__((malloc))`` for functions like alloc(), lalloc(), vim_strsave()` (etc.)
but I did could not see any improvement at all with this attribute, so I did not use it in the end. Quoting the doc at the same links as above:

The malloc attribute is used to tell the compiler that a function may be treated as if any non-NULL pointer it returns cannot alias any other pointer valid when the function returns and that the memory has undefined content. This will often improve optimization. Standard functions with this property include malloc and calloc. realloc-like functions do not have this property as the memory pointed to does not have undefined content.

Dominique wrote:

@brammool  asked:

Adding the cold attribute in the .pro files won't work, these files are
generated. Is there another way for this? What does "cold" do anyway?

OK.  The __attribute__((cold)) is documented at:
https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Function-Attributes.html
Quoting the doc:

The cold attribute is used to inform the compiler that a function is unlikely executed. The function is optimized for size rather than speed and on many targets it is placed into special subsection of the text section so all cold functions appears close together improving code locality of non-cold parts of program. The paths leading to call of cold functions within code are marked as unlikely by the branch prediction mechanism. It is thus useful to mark functions used to handle unlikely conditions, such as perror, as cold to improve optimization of hot functions that do call marked functions in rare occasions.

The idea is that functions like emsg(...) are not meant to be called often so by declaring cold, cold like this:
if (...)
  emsg(...)

should do this automatically (without having to add unlikely ourselves):
if (unlikely(...))
  emsg(...)

... as we tell the compiler that path which include the cold function
is meant to execute rarely. Additionally, cold functions are put
together to not pollute instruction cache and are optimized for size
rather than speed as speed should not matter much for those functions.
But frankly, these attributes don't help as much as I hoped for.

Looking at the docs, I only expect minimal effect of using the "cold"
attribute.  Modern processors with lots of cache already do most of the
optimizing.

I also tried to use __attribute__((malloc))`` for functions like alloc(), lalloc(), vim_strsave()` (etc.)
but I did could not see any improvement at all with this attribute, so
I did not use it in the end. Quoting the doc at the same links as
above:

The malloc attribute is used to tell the compiler that a function
may be treated as if any non-NULL pointer it returns cannot alias
any other pointer valid when the function returns and that the
memory has undefined content. This will often improve optimization.
Standard functions with this property include malloc and calloc.
realloc-like functions do not have this property as the memory
pointed to does not have undefined content.

I would expect the branch prediction to be the largest improvement,
which means adding likely() and unlikely() in the right places.
ga_grow() and alloc() failing is the most obvious target, since these
are used a lot and clearly are unlikely to fail.
In the end it's only measurements that can tell the outcome, the rest is
guessing.
Using macros GA_GROW_FAILS() and GA_GROW_OK() doesn't clutter the code
too much, and since there is a chance of improvement I'm OK with using
these.
Perhaps we can do something similar with alloc().
--
Q:  Why do ducks have flat feet?
A:  To stamp out forest fires.
Q:  Why do elephants have flat feet?
A:  To stamp out flaming ducks.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

The ATTRIBUTE_FORMAT_PRINTF in this PR were already merged.
The remaining changes (likely & unlikely macros...) are not worth integrating after all as the performance improvement is tiny, almost noise.
Closing.


GNoT on Amazon AWS?

I am trying to get this going on Ubuntu running on AWS (t2.micro instance type). Port 5000 is open for TCP. There is both an internal IP address and an external one. In setting up the .gnot_config, I initially used the external IP for "web_host". Upon start with ./web_server.py, the following was output to the terminal via stderr:

Running on http://<IP_ADDRESS>:5000/
Traceback (most recent call last):
File "./web_server.py", line 178, in
run_simple(app.config['web_host'], app.config['web_port'], app, use_debugger=True, use_reloader=True, threaded=True)
File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 706, in run_simple
test_socket.bind((hostname, port))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address

I substituted the internal IP for the external, and the stderr changed to:

Running on http://<IP_ADDRESS>:5000/
Restarting with reloader

There was still no response when hitting http://<IP_ADDRESS>:5000 or http://<IP_ADDRESS>:5000/index.html with a browser, and no additional output to stderr.

The easiest way to handle is to do a local forward.
In your ~/.ssh/config, add something like this to forward port 5000. Edit the details as you need.

Host myaws
    Hostname <IP_ADDRESS>
    IdentityFile ~/.ssh/id_rsa
    User ubuntu
    LocalForward *:5000 localhost:5000

Then ssh to your machine by ssh myaws. Now edit ~/.gnot_config to

 "web_host":"localhost",
 "web_port": 5000

You can access the page from your browser via localhost:5000
If you are accessing without localforward, set ~/.gnot_config to

 "web_host":"<IP_ADDRESS>",
 "web_port": 5000

Make sure that port is not taken by fuser -v -n tcp 5000. You will also need open the port to allow incoming traffic. More details here:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html

I'm confused by some of that. One problem (or just annoyance) is that the
IP address is not permanent; if I shut the server down (not terminate), I
get a new one and the configs get to be edited. Eventually not a problem.
I'm obviously accessing the instance via ssh from home. I have a Windows7
box, but I use a virtual Linux machine to talk to Amazon.  What do you mean
by "ssh to my machine by ssh myaws"?
Are you suggesting the edit of ~/.ssh/config on my local client or on the
Amazon instance?
If the server is running correctly, I should be able to access it at
<IP_ADDRESS>:5000 (at least until the IPaddress changes...). Right now,
there is no answer, even though port 5000 is open. I know that I can get in
via other ports (e.g. 5432 to get to Postgresql remotely, and obviously
port 21 for ssh)
With the web_host set to the Amazon internal IP, I get not error message on
startup. I'm not sure why the internals would have to know about the
external IP.
On Sat, Jan 10, 2015 at 10:20 AM, garthee<EMAIL_ADDRESS>wrote:

The easiest way to handle is to do a local forward.
In your ~/.ssh/config, add something like this to forward port 5000. Edit
the details as you need.
Host myaws
Hostname <IP_ADDRESS>
IdentityFile ~/.ssh/id_rsa
User ubuntu
LocalForward *:5000 localhost:5000
Then ssh to your machine by ssh myaws. Now edit ~/.gnot_config to
"web_host":"localhost",
"web_port": 5000
You can access the page from your browser via localhost:5000
If you are accessing without localforward, set ~/.gnot_config to
"web_host":"<IP_ADDRESS>",
"web_port": 5000
Make sure that port is not taken by fuser -v -n tcp 5000. You will also
need open the port to allow incoming traffic. More details here:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html
—
Reply to this email directly or view it on GitHub
https://github.com/garthee/gnot/issues/2#issuecomment-69465886.

I'm confused by some of that. One problem (or just annoyance) is that the IP address is not permanent; if I shut the server down (not terminate), I get a new one and the configs get to be edited. Eventually not a problem.
I'm obviously accessing the instance via ssh from home. I have a Windows7 box, but I use a virtual Linux machine to talk to Amazon.  What do you mean by "ssh to my machine by ssh myaws"?
Are you suggesting the edit of ~/.ssh/config on my local client or on the Amazon instance?
If the server is running correctly, I should be able to access it at <IP_ADDRESS>:5000 (at least until the IPaddress changes...). Right now, there is no answer, even though port 5000 is open. I know that I can get in via other ports (e.g. 5432 to get to Postgresql remotely, and obviously port 21 for ssh)
With the web_host set to the Amazon internal IP, I get not error message on startup. I'm not sure why the internals would have to know about the external IP.

Method 1: Yes, add that entry to your local ~/.ssh/config. So that when you go to localhost:5000, it will forward all the requests to your aws instance (and make it appear as localhost there). You can do that in your virtual linux os, ssh from the linux terminal, and access via a browser inside linux os. It is the easiest, so that you don't have to worry about firewall or other issues.
Method2: If you are sure that your firewall is open (listening to port 5000) [1], try listening to all ips in GNoT by setting the web_host to <IP_ADDRESS> [2].
[1] http://www.tixati.com/optimize/open-ports-linux.html
[2] http://stackoverflow.com/questions/19235052/werkzeug-wsgi-only-reachable-via-localhost

Since you got it working (I can access it [1]), I  am closing this issue.
[1] http://<IP_ADDRESS>:5000/render?submit=SUBMIT&query=module%3A+explore+table%3A+public.obs+field%3A+"*"

Thanks, but what seemed to work was putting the Amazon internal IP back in for web_host as well as setting debug=False in the web_server.py (to get around [2]).
Perhaps part of the confusion is that I was testing a a URL such as http://<IP_ADDRESS>:5000/, as I saw an index.html file in the static directory. Perhaps you could add something on the howto about a default URL (if any).
Was there a separate query you used to identify the obs table?

See my response. I don't understand everything, but this is still amazing.
What might also be useful (to me and others) is something about the
architecture of the demo. Admittedly, I am not that familiar with python
back ends. Where is the dataset (transferred to browser) limited to 1000
records (and is that random or just off the top)? I know there are about
1.5M records.
Thanks much,
Brian
On Sat, Jan 10, 2015 at 11:47 AM, garthee<EMAIL_ADDRESS>wrote:

Closed #2 https://github.com/garthee/gnot/issues/2 via 5841f08
https://github.com/garthee/gnot/commit/5841f0820c65066105c475f993e289faeef037d8
.
—
Reply to this email directly or view it on GitHub
https://github.com/garthee/gnot/issues/2#event-217001411.

Interesting. I believe web_host <IP_ADDRESS> should work as well.
You don't open individual html files, they are used to generate the content when called by a module.
Default url is your host url (http://<IP_ADDRESS>:5000/), there you start making your choices, a) module, b) table, c) fields, and so on. They are autocompleted (based on the db_scope you set in .gnot_config). Further, available options are based on your previous choices. For instance, if you choose explore_calendar, you will see xField as a parameter to choose. Also available fields are based on your choice for table. In fact, you can choose multiple tables, and join them via where clause as well.
Individual modules assume default values for parameters. This is to make it easy to start with visualizations, as well as to safe guard against undesirable effects (loading more than 2000 points in your browser for explore module is not advisable). For explore module, limit is set to 1000, such that by default it selects only 1000 entries. But you can pass a different limit, as well as a different ordering by passing a randomization (e.g. random() < 0.1) for where clause.
Play with the examples [1], to see different modules and available options.

[1] http://ddmg1.csail.mit.edu:5000/render?submit=submit&query=module%3A+explore_examples


Support for Research Resource Identifiers (RRIDs)

Could not find an issue (closed or open) that reference this.
Would it make sense for cff files to support RRIDs?
Some scientific journals specifically recommend tracking which resource have been used and recommend using RRID.
See here an example of RRID for python tools: https://scicrunch.org/resources/Tools/search?q=python&l=python

Hi @Remi-Gau, and thanks for opening this issue.
I think a case could be made for the inclusion of RRIDs, indeed. For which objects would you introduce these?


[[NVIDIA GTX 950]] [[Windows 11]] God of War - Fix won't work, err msg "You need at least D3D_Feature_Level_11_1."

Software information
God of War (Update 6 and 7, to "b8168279-RUI")
System information

GPU: Nvidia GTX 950M
OS: Windows 11
Driver: 511.65
DXVK version: 1.9.4

Log files

dxgi.log: GoW_dxgi.log

err:   DxvkInstance::createInstance: Failed to create Vulkan 1.1 instance

Your setup does not seem to have Vulkan support enabled.