Expose acorn plugin from espree module

The espree parser is defined as a plugin for the Acorn parser. This plugin used to be accessible via espree/lib/espree.js, but this is now an internal module and cannot be imported directly.
Could this value be exported from the package? Something like export const acornPlugin = espree;

The fact that Espree is currently implemented as an Acorn plugin doesn't mean it always will be, so it doesn't make sense to export the Acorn plugin from the espree package.
However, I've been thinking it might be helpful to look at creating a different package that is more of general "ESLint Acorn plugin" that formats Acorn results in the way ESLint wants them. Espree could then use that, with any additional modifications necessary to get the full Espree experience. That would require a bit of thought, though, as it wouldn't make sense just to take the entire current Espree Acorn plugin and expose that.
@eslint/eslint-team what do you think about this idea?

I'd be perfectly happy if there was another package that exposed an "ESLint Acorn plugin", rather than exposing it from this package.
For context: I have a use case at work where we build a custom Acorn parser with specific behaviors, then we re-use that parser for ESLint. Right now we depend on espree@7 (which doesn't have exports defined on the package.json) so we can just directly import espree/lib/espree. We include the espree plugin with our own plugins and that produces a parser that works with ESLint. I ran into this exports issue when I went to update espree as it was introduced with espree@8.

@molisani thanks, that's very helpful context, and I think is a vote in favor of exposing the "ESLint Acorn plugin" separately to allow for people to build custom parsers with Acorn that can be used with ESLint.

Ping @eslint/eslint-tsc

However, I've been thinking it might be helpful to look at creating a different package that is more of general "ESLint Acorn plugin" that formats Acorn results in the way ESLint wants them. Espree could then use that, with any additional modifications necessary to get the full Espree experience. That would require a bit of thought, though, as it wouldn't make sense just to take the entire current Espree Acorn plugin and expose that.

I like the idea of an Acorn plugin, but to be honest I don't understand what is specific to Espree that is not also specific to ESLint, or was specific to ESLint at some point in time. So I'm not sure what the general "ESLint Acorn plugin" should expose if not the entire current Espree Acorn plugin, as the OP suggested. I'd be happy to comment on a more detailed proposal.

So I'm not sure what the general "ESLint Acorn plugin" should expose if not the entire current Espree Acorn plugin, as the OP suggested.

I'd need to look more closely, but basically it would be Espree without JSX support or impliedStrict (no ecmaFeatures) and would only export the plugin and not a parse() function.

Per TSC meeting on 2024-10-17, @mdjermanovic will look more closely into this so the team can make a decision on next steps.

I'm in favor of extracting an ESLint Acorn plugin into a separate package 👍

Marking as accepted. I'll plan on taking a look at this after the CSS and YAML plugins, so if anyone else wants to take a look first, please be my guest.


Reexport future::Option

I feel queasy about the name clash with std but that's a separate concern from this PR.
r+ after rebase

@aturon we do the same thing for future::Result, which is actually future::FutureResult in 0.1 but was changed in the transition to 0.2. Do you have a preferred naming scheme?

I generally disprefer shadowing names from std, especially ones that are in the prelude. FutureResult and FutureOption seem good to me...

Haha. The reasoning for the name change is that (I think) most people use futures::future; and then refer to the types like future::Result, in which case future::FutureResult causes stuttering.

yeah that's usually how this kind of thing goes. I've personally come to prefer the stuttering to the confusion that can otherwise arise -- but only for prelude-level types.

I personally rarely (if ever?) refer to future types scoped by the module. Only the free fns.

Okay! i'll send a PR to change both.

see https://github.com/rust-lang-nursery/futures-rs/pull/807


Build instructions for Mac OS X

Please provide build instructions for OS X.

did you see the README.md which has a link that reads
Build ANTs from: Source-Code (recommended)

Does it work for OSX as well?
Hmm, ok, thanks. A friend of mine is having trouble, she probably lacks one of the dependencies then..

Once you run ccmake it will tell you if you are missing anything else.
You should be good as long as you have the a recent XCode developer tools.
Sent from my iPhone

On Oct 16, 2015, at 8:56 AM, Steven Roose<EMAIL_ADDRESS>wrote:
Does it work for OSX as well?
Hmm, ok, thanks. A friend of mine is having trouble, she probably lacks one of the dependencies then..
—
Reply to this email directly or view it on GitHub.


4.3.1 Site link goes to a list of records for the same species at thes elected site.

Implemented, along with simple holding page showing tabular data for records.


Can't get Ctrl-J

I used getKey to press Ctrl-J but it's Enter. Is it only my environment? Do you know anything?
OS: Arch Linux
Terminal: Urxvt & Alacritty
Nim: v1.6.6
Code:
import std/os
import pkg/illwill

illwillInit()

while true:
  let key = getKey()
  if key != None:
    echo key
    echo int(key)
  sleep 20

Start this program and press Ctrl-J
Enter
13

In addition, I can get it normally with terminal.getch.
import std/terminal

let key = getch()
echo int(key)

Start this program and press Ctrl-J
10

Terminal issue, closing.
https://www.reddit.com/r/programming/comments/7qxgy/real_programmers_use_ctrlj_instead_of_enter_key/


error

https://paste.turingarch.com/paste.php?id=208
how can i fix this?

Problem

Solution

You are missing Quotations marks in the username part


TS-4626: LogFile::close_file should not delete m_log handle

LogFile::close_file was incorrectly deleting the m_log object.
This caused potential race conditions when flushing m_log since
there aren't any locks protecting m_log accesses.
When the underlying log file on disk is deleted, it is fine to
not delete m_log. It's fine because the actual flush function
in Log::flush_thread_main checks to see if m_log is open before
doing any writes.

[approve ci]

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/893/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/788/ for details.

Checked with @danobi and review the bug, looks like a good fix.


Legacy binding issues

The internal API name for liblapack has changed in some lastest update, and in Windows it looks like
julia> LinearAlgebra.LAPACK.liblapack
"libblastrampoline-5.dll"

I would suggest changing the API binding in the module file (line 17) from
const liblapack = "libblastrampoline"

to
const liblapack = LinearAlgebra.LAPACK.liblapack

Thank you for pointing this out!


Make library available as a container

Using Docker Hub, this library can be made available to all users that have to use it as base image for their real-time tasks.

[x] Write Dockerfile
[x] Link to Docker Hub

The image is now published at this Docker Hub repository.

The current automated build system isn't valid as it only builds images for x86 and we also need to support arm. We should take advantage of the new multi-arch capabilities of Docker.


allow more results per page

It's is a bit limiting  providing only 10 results per page. I think it would be useful to allow something like:
GET /api/document/?year=2015%_limit=100

What do you think?

Hi @gabisurita,
Jarbas was created as a tool to visually analyze data from reimbursements found in Serenata de Amor project — it was not suppose to be a tool for browsing or getting tons of data. I understand people might do it, but that was not the initial purpose of this GUI. That said, throwing 100 reimbursements in the screen wasn't a use case scenario. People would get here knowing exactly what they want to look at. Surely this is a utopian scenario, the way people embrace technologies always ignore the purpose technologies were created at first.
Anyway the point is that the API was designed to serve Jarbas, and Jarbas was designed to serve Serenata. That's why things are the way they are. API shows 10 results per page because that made sense for Jarbas purposes.
I get from your suggestion that the API might accidentally help people interested in get access to data. We know the Chamber of Deputies don't to their best to offer data accordingly to the laws. This API can do it better.
That said this is not the focus of the project at this time, but that could be done quite easily within Django REST Framework (our engine here). Feel free to send a PR if that's useful for you. If it helps I would take a few minutes and read this (Setting the pagination style) and this (Modifying the pagination style) — probably in a few lines you can setup this new functionality and start testing it!

I must add: If you're just looking for data, I think Serenata de Amor's datasets are the best way to get it. Beautifully compressed CSV are downloaded in the setup of the project (but you can guess the direct download URL from here). It would be easier and quicker to get all data, and would save Jarbas resources ; )


Rendered output needs to be marked as html_safe

I think this gem might need a few updates for Rails 5. The output is escaped, so it might need to be marked as html_safe.
Also, I'm including the styles in my CSS, but it still seems to output some inline CSS in my HTML and I don't know how to disable that.

it's not formatting anything for me in Rails 5 either

https://github.com/jacobsimeon/rouge-rails/blob/master/lib/rouge/rails/template_handler.rb#L17 makes the output html_safe isn't it, @ndbroadbent?
BTW, sanitize is to be preferred over html_safe in Rails 5. Perhaps that one should be used.


Explain arrow on subject relation

I did not see the behavior of arrows on subject relations documented. This caught me, so I tried to explain here it based on the explanation by Joey in https://discord.com/channels/844600078504951838/1107792003120500766.

I have read the CLA Document and I hereby sign the CLA

This is clarified in latest docs


1.18.2?

I'm utterly confused. Why isn't this mod still updated? Looks fantastic btw.

Hi, I personally don't really see a reason to update this mod to 1.18.2 since Cammie's Minecart tweaks is already doing everything this mod does, but marginally better.
https://www.curseforge.com/minecraft/mc-mods/cammies-minecart-tweaks
Thanks for asking anyway


[DRAFT] Add basic table sorting and disable unsortable columns

Why was this change made?
Option #2 for table sorting based on comments in other PR.
Default display without any sort indicators:

Once a heading has been clicked showing a sort indicator:

And clicked again, the indicator changes direction:

One area where I am currently blocked is the ability to clear the existing sort indicator without causing problems with the event due to reloading of the dom (see: https://stackoverflow.com/questions/5113105/manipulating-innerhtml-removes-the-event-handler-of-a-child-element):

How was this change tested?
Which documentation and/or configurations were updated?

Depending on how you're feeling about the current approach and trajectory, we may want to consider this datatables library that does not use JQuery: https://github.com/fiduswriter/Simple-DataTables I assume it's not as big as JQuery, but before using this, we should check to see how much it'd inflate our overall page size.
If we do want all custom code around table sorting, though, I wonder if using Stimulus might make it easier to manipulate individual column headers as named elements without surprises? Maybe, maybe not.
Do you have druthers, @aaron-collier @jcoyne ?

Depending on how you're feeling about the current approach and trajectory, we may want to consider this datatables library that does not use JQuery: https://github.com/fiduswriter/Simple-DataTables I assume it's not as big as JQuery, but before using this, we should check to see how much it'd inflate our overall page size.
If we do want all custom code around table sorting, though, I wonder if using Stimulus might make it easier to manipulate individual column headers as named elements without surprises? Maybe, maybe not.
Do you have druthers, @aaron-collier @jcoyne ?

I like the idea of Simple-DataTables, and happy to put that forward if we want that approach, perhaps short discussion at standup?

I like the idea of Simple-DataTables, and happy to put that forward if we want that approach, perhaps short discussion at standup?


Faulty Export syntax: Error when building with webpack

Module parse failed: admin-on-rest/src/index.js Unexpected token (2:7)
You may need an appropriate loader to handle this file type.

v0.5.x
Basically the syntax used for exports are not fully supported.
export * from './actions'; //Good
export {adminReducer} from './reducer'; //Good
export adminReducer from './reducer'; //Not Good

Also project documentation is out of sync because whenever I try to make run, it tells me there are no such targets, so the lib folder doesn't get built.
Please update documentation and/or build process.
My webpack config:
module: {
		loaders: [
			{test: /\.html/, loader: "html-loader"},
			{test: /\.css$/, loader: "style-loader!css-loader"},
			{
				test: /\.jsx?$/,
				loader: 'babel',
				exclude: /node_modules/,
				query: {
					presets: [ 'es2015', 'stage-0','react' ],
					plugins: ['react-html-attrs', 'transform-class-properties', 'transform-decorators-legacy']
				}
			}
		]
	},

Oops my bad.
It seems when you npm i from git, it doesn't include babelrc and other similar files.


Flutter app crashes on device (& simulator) running iOS 12.2 on WiFi when entered provided credentials

Hi there!
Our iOS app has been rejected. Really I don't why is that. I've tried to fix a lot of time but all it unsuccessfully. Please any helps. Thank you very much!
*Attached outputs below.
Screen video
-> flutter run
...
*** First throw call stack:
(
0   CoreFoundation                      0x00000001067f16fb __exceptionPreprocess + 331
1   libobjc.A.dylib                     0x000000010595aac5 objc_exception_throw + 48
2   CoreFoundation                      0x00000001067f1482 +[NSException raise:format:arguments:] + 98
3   Foundation                          0x0000000104deb9f0 -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:] + 166
4   Runner                              0x00000001009a8c2c _ZN8firebase9firestore4util8internal4FailEPKcS4_iRKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEE + 268
5   Runner                              0x000000010078ed19 _ZN8firebase9firestore3api17DocumentReferenceC2ENS0_5model12ResourcePathEPNS1_9FirestoreE + 2<…>
Lost connection to device.
...
-> flutter doctor -v
...
[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.14.4 18E226, locale ru-RU)
• Flutter version 1.2.1 at /Users/air/development/flutter
• Framework revision 8661d8aecd (9 weeks ago), 2019-02-14 19:19:53 -0800
• Engine revision 3757390fa4
• Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/air/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.2, Build version 10E125
• ios-deploy 1.9.4
• CocoaPods version 1.5.3
[✓] Android Studio (version 3.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 34.0.1
• Dart plugin version 182.5215
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
[✓] Connected device (1 available)
• iPhone 6s • 291D369E-25A7-4248-B522-C321DD89917E • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)
• No issues found!

same issues. did you solve the problem?

same issues. did you solve the problem?

Not yet(

I'm tested on emulator run in 12.2 without single issue, but apple says the screen is black.
What third-party library you use?

I'm tested on emulator run in 12.2 without single issue, but apple says the screen is black.
What third-party library you use?

cloud_firestore: ^0.9.13+1
firebase_auth: ^0.8.4+5
firebase_storage: ^2.1.0+1
firebase_core: ^0.3.4
shared_preferences: ^0.5.1+1
cached_network_image: ^0.7.0
intl: ^0.15.7
numberpicker: ^1.0.0
image: ^2.0.6
image_picker: ^0.5.3+1
url_launcher: ^5.0.0
flutter_masked_text: ^0.7.0
share_extend: ^1.0.4
flutter_advanced_networkimage: any
image_cropper: ^1.0.1
flutter_google_places: ^0.2.1

Have you solved it bu now?
Facing the same issue.

is it still an issue while using current flutter stable and latest plugins?

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


rectangle: 0.72 -> 0.73

Description of changes
https://github.com/rxhanson/Rectangle/compare/v0.72...v0.73
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 257816 run on x86_64-darwin 1

1 package built:

rectangle


Error Handling Request

Unable to connect to my Octopus account
A clear and concise description of what the bug is.
Error noticed today; possibly related to moving from Octopus Go to Flux.
Steps to reproduce the behavior:
Deleted Integration and reinstalled, using correct API and account numbers
States 'Unknown error occurred' when trying to register account
Expect to reconnect to my Octopus account
The version of Home Assistant: Home Assistant 2023.4.1
The version of the integration: 6.5.0
Fresh install of the Integration.
Home Assistant Logs
This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/octopus_energy/api_client.py:198
Integration: Octopus Energy (documentation, issues)
First occurred: 18:41:42 (4 occurrences)
Last logged: 18:49:13
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 146, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 271, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/octopus_energy/config_flow.py", line 170, in async_step_user
return await self.async_setup_initial_account(user_input)
File "/config/custom_components/octopus_energy/config_flow.py", line 99, in async_setup_initial_account
account_info = await client.async_get_account(user_input[CONFIG_MAIN_ACCOUNT_ID])
File "/config/custom_components/octopus_energy/api_client.py", line 187, in async_get_account
"electricity_meter_points": list(map(lambda mp: {
File "/config/custom_components/octopus_energy/api_client.py", line 189, in
"meters": list(map(lambda m: {
File "/config/custom_components/octopus_energy/api_client.py", line 198, in
else mp["meterPoint"]["makeAndType"],
KeyError: 'makeAndType'

This looks like it was related to the latest release. I've released https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/releases/tag/v6.6.0 which should fix this issue

Seems to have fixed it - thank you for resolving so quickly!


Renaming the connection name of a connection adds a new connection

Description:
After creating a connection for a connector and renaming it will add a new connection.
Steps to reproduce:
Affected Versions:
v1.1.0
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

The latest release v1.1.1 has resolved the issue. Please reopen if the problem persists.


not able to use the pageNumber in the view.

Hi,
We want to display the serial number on the pagination. so we want to use pageNumber to get the serial number of the item on the grid. if we use $index+1 for every page serial number will start from 1. instead i want to show the running serial-number by multiplying the page number with the index. below with my view code.

S.No
Category Name

<% (pageNumber * $index)+1 %>
<% cate.name %>

thanks
arasub

Hi. I don't see a question here. What is the issue exactly?

Hi,
issue in the above is pageNumber  always undefined.
thanks
arasu.b

Okay. Can you show me the rest of the view code where you define the dir-paginate directive? Also, what is that template syntax?

here with my dir-paginate and controls

	<% (pageNumber * $index)+1 %>
       <% cate.name %>

 <dir-pagination-controls max-size="3" direction-links="true" boundary-links="true" > </dir-pagination-controls>

Thanks. You need to bind to the pageNumber scope variable like this:

thanks michaelbromley. It worked.

hi,
issue is in my pagination the first 1 2 3 pages showing when i click no. 3 its not showing next no. 4 th page.


mqsend: Set ulimit automatically during Open

When using mqsend in prod we need to set ulimit, mqsend.Open is the most
nature place to set that.

This doesn’t feel like the right place to do this, maybe add a helper to runtimebp that a service can call manually? I don’t think we want to add this into the core path though.

I would argue that this is the perfect place to do this.
Any separated helper will create a disjoint between setting ulimit and actually using the message queue. In reality the same service binary would only actually enable the message queues on prod environment. They won't enable it if it's running locally on developer's laptop to test (the real message queue doesn't even work on mac), by just set the tracer's queue name to empty string in the local config file, or by disabling event publishing. If the helper is separated from OpenMessageQueue, then they would either need another config/flag to control whether to call the helper (because calling the helper won't work on macs either), or do some complex logic to check whether the tracer's configured queue name is empty and event publisher is also disabled.
With this happens automatically with OpenMessageQueue, the "helper" will only be called when we are really opening the system message queue on linux. Forgot to set the ulimit will also likely to causing opening the message queue to fail. So bundle them together is the most intuitive and hide away way to do it.


Saving logs on fleet clients machines

fleet - version 3.1.0
branch:       HEAD
revision:     c6ce648fef3bb39b6e604333ec47cff0e625ff8e
build date:   2020-08-07T00:09:34Z
build user:   zwass
go version:   go1.14.4
Ubuntu 18.04
Hello!  Please help me with solving my problem.
I need to save logs locally on clients machines.
leetctl get options:
kind: option
spec:
config:
decorators:
load:

SELECT uuid AS host_uuid FROM system_info;
SELECT hostname AS hostname FROM system_info;
options:
disable_distributed: false
distributed_interval: 10
distributed_plugin: tls
distributed_tls_max_attempts: 3
logger_plugin: filesystem
pack_delimiter: /
overrides: {}

But i still get logs locally on fleet server.
If there is any way to put logs locally on the fleet clients?

This is a dupe of #2328.
If you need further help troubleshooting, please join the osquery slack.


Can't complie install_pytorch on Manjaro

Hi.
I'm trying to get it to work on my Manjaro with freshly installed conda.
And when I try to ./install_pytorch.sh it doesn't compile and falls with an error
FAILED: caffe2/CMakeFiles/torch_cuda.dir/utils/torch_cuda_generated_math_gpu.cu.o
cd /run/media/metya/B634BE3A34BDFE05/Projects/ADOP/External/pytorch/build/caffe2/CMakeFiles/torch_cuda.dir/utils && /home/metya/.conda/envs/adop/bin/cmake -E make_directory /run/media/metya/B634BE3A34BDFE05/Projects/ADOP/External/pytorch/build/caffe2/CMakeFiles/torch_cuda.dir/utils/. && /home/metya/.conda/envs/adop/bin/cmake -D verbose:BOOL=OFF -D build_configuration:STRING=Release -D generated_file:STRING=/run/media/metya/B634BE3A34BDFE05/Projects/ADOP/External/pytorch/build/caffe2/CMakeFiles/torch_cuda.dir/utils/./torch_cuda_generated_math_gpu.cu.o -D generated_cubin_file:STRING=/run/media/metya/B634BE3A34BDFE05/Projects/ADOP/External/pytorch/build/caffe2/CMakeFiles/torch_cuda.dir/utils/./torch_cuda_generated_math_gpu.cu.o.cubin.txt -P /run/media/metya/B634BE3A34BDFE05/Projects/ADOP/External/pytorch/build/caffe2/CMakeFiles/torch_cuda.dir/utils/torch_cuda_generated_math_gpu.cu.o.Release.cmake
/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(149): warning: the "__visibility__" attribute can only appear on functions and variables with external linkage                                                                                /home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(200): warning: the "__visibility__" attribute can only appear on functions and variables with external linkage

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(236): warning: the "__visibility__" attribute can only appear on functions and variables with external linkage

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(908): error: namespace "thrust" has no member "host_vector"

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(908): error: expected an expression

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(909): error: namespace "thrust" has no member "host_vector"

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(909): error: expected an expression

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(910): error: namespace "thrust" has no member "host_vector"

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(910): error: type name is not allowed

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(910): error: expected an expression

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(912): error: identifier "A_array" is undefined

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(913): error: identifier "B_array" is undefined

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(914): error: identifier "C_array" is undefined

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(917): error: identifier "A_array" is undefined

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(919): error: identifier "B_array" is undefined

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(920): error: identifier "C_array" is undefined

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(1763): warning: the "__visibility__" attribute can only appear on functions and variables with external linkage

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(2234): warning: the "__visibility__" attribute can only appear on functions and variables with external linkage

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(2282): warning: the "__visibility__" attribute can only appear on functions and variables with external linkage

/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu(2846): warning: the "__visibility__" attribute can only appear on functions and variables with external linkage

13 errors detected in the compilation of "/home/metya/ADOP/External/pytorch/caffe2/utils/math_gpu.cu".
CMake Error at torch_cuda_generated_math_gpu.cu.o.Release.cmake:281 (message):
  Error generating file
  /home/metya/ADOP/External/pytorch/build/caffe2/CMakeFiles/torch_cuda.dir/utils/./torch_cuda_generated_math_gpu.cu.o

[5182/6125] Building NVCC (Device) object caffe2/CMakeFiles/torch_cuda.dir/__/aten/src/ATen/native/cuda/torch_cuda_generated_UniqueCub.cu.o
ninja: build stopped: subcommand failed.

Then I follow the instructions from here https://github.com/darglein/ADOP/issues/6 like said @blurgyy, i.e. install cuda-11.1 from Aur and prepend it to CUDA_PATH in cuda.sh. And it didn't work again.
Complitations of install_pytorch.sh falling with the same error all the times.
I have Manjaro on 15.4.10 kernel
My conda env installed by instruction:
# packages in environment at /home/metya/.conda/envs/adop:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
_openmp_mutex             4.5                       1_gnu
astunparse                1.6.3                      py_0
blas                      1.0                         mkl
brotlipy                  0.7.0           py39h27cfd23_1003
bzip2                     1.0.8                h7b6447c_0
c-ares                    1.17.1               h27cfd23_0
ca-certificates           2021.10.26           h06a4308_2
certifi                   2021.10.8        py39h06a4308_0
cffi                      1.14.6           py39h400218f_0
charset-normalizer        2.0.4              pyhd3eb1b0_0
cmake                     3.19.6               h973ab73_0
cryptography              35.0.0           py39hd23ed53_0
cudatoolkit               11.2.72              h2bc3f7f_0    nvidia
cudatoolkit-dev           11.2.2           py39h3811e60_0    conda-forge
cudnn                     <IP_ADDRESS>             h86fa8c9_0    conda-forge
dataclasses               0.8                pyh6d0b6a4_7
expat                     2.4.1                h2531618_2
freeimage                 3.17.0                        0    conda-forge
future                    0.18.2           py39h06a4308_1
idna                      3.2                pyhd3eb1b0_0
intel-openmp              2021.4.0          h06a4308_3561
jpeg                      9d                   h36c2ea0_0    conda-forge
krb5                      1.19.2               hac12032_0
ld_impl_linux-64          2.35.1               h7274673_9
libcurl                   7.78.0               h0b77cf5_0
libedit                   3.1.20210910         h7f8727e_0
libev                     4.33                 h7f8727e_1
libffi                    3.3                  he6710b0_2
libgcc-ng                 9.3.0               h5101ec6_17
libgomp                   9.3.0               h5101ec6_17
libnghttp2                1.41.0               hf8bcb03_2
libssh2                   1.9.0                h1ba5d50_1
libstdcxx-ng              9.3.0               hd4cf53a_17
libuv                     1.40.0               h7b6447c_0
lz4-c                     1.9.3                h295c915_1
magma-cuda110             2.5.2                         1    pytorch
mkl                       2021.4.0           h06a4308_640
mkl-include               2021.4.0           h06a4308_640
mkl-service               2.4.0            py39h7f8727e_0
mkl_fft                   1.3.1            py39hd3c417c_0
mkl_random                1.2.2            py39h51133e4_0
ncurses                   6.3                  h7f8727e_2
ninja                     1.10.2           py39hd09550d_3
numpy                     1.21.2           py39h20f2e39_0
numpy-base                1.21.2           py39h79a1101_0
openssl                   1.1.1l               h7f8727e_0
pip                       21.2.4           py39h06a4308_0
pybind11                  2.6.2            py39hff7bd54_1
pycparser                 2.21               pyhd3eb1b0_0
pyopenssl                 21.0.0             pyhd3eb1b0_1
pysocks                   1.7.1            py39h06a4308_0
python                    3.9.7                h12debd9_1
python_abi                3.9                      2_cp39    conda-forge
pyyaml                    6.0              py39h7f8727e_1
readline                  8.1                  h27cfd23_0
requests                  2.26.0             pyhd3eb1b0_0
rhash                     1.4.1                h3c74f83_1
setuptools                58.0.4           py39h06a4308_0
six                       1.16.0             pyhd3eb1b0_0
sqlite                    3.36.0               hc218d9a_0
tk                        8.6.11               h1ccaba5_0
typing_extensions         <IP_ADDRESS>           pyh06a4308_0
tzdata                    2021e                hda174b7_0
urllib3                   1.26.7             pyhd3eb1b0_0
wheel                     0.37.0             pyhd3eb1b0_1
xz                        5.2.5                h7b6447c_0
yaml                      0.2.5                h7b6447c_0
zlib                      1.2.11               h7b6447c_3
zstd                      1.4.9                haebb681_0

Ah few patches ago I have added the following line to prevent some problem if multiple cuda's where isntalled. Can you try without that line:
https://github.com/darglein/ADOP/blob/1339370f62ebdb80905fa448edbe3b5f818a6fb1/install_pytorch.sh#L29

I used last modifications of your repository. So there was this line of code.
So I don't know how to deal with that, especially I don't understand what compiler say.

Alright I installed a minimal Manjaro VM on my system and compile ADOP successfully using the following steps:

Install nvidia drivers (don't need to install CUDA to the system)
Install anaconda from the website (+check that it works in your shell)
Install gcc9 with yay
Update ADOP to the latest commit
./create_environment.sh
./install_pytorch.sh
./build_adop.sh

Hmm.
I tried a several time to compile pytorch with different approaches, but it failed all the time with this error.
But ok! It seems I'm mess)
I'll try again with freshly installed new linux kernel and nvidia drivers and freshly installed conda env.
Thank you, I'll let know about my success or fail)

Can you post the cmake output of pytorch here?
So remove the directory ADOP/external/pytorch/build and then run ./install_pytorch.sh. Stop when it starts compiling the first source file and copy paste the cmake output above that.


Document minor schema release

As documented on the BF docs https://www.openmicroscopy.org/site/support/bio-formats5.2/about/whats-new.html#october-5 Bio-Formats 5.2.3 contained a minor schema release. This PR updates the schema history docs in the Model & Formats Documentation to reflect this.
Staged at https://www.openmicroscopy.org/site/support/ome-model-staging/schemas/october-2016.html

There is no "October 2016" schema, so should this not simply be added to the end of the June 2016 page as an addendum containing just the changes at the bottom?  A separate page for what is essentially exactly the same schema seems a bit confusing.
If it is retained as a separate page:

It doesn't explicitly state that it's a minor update to the 2016-06 schema.  There's a note about it using the "same namespace" but this is too vague.
"File writers will not necessarily need corrected."  They won't need any changes at all, so I don't think this is even worth mentioning.

I followed the pattern of the existing docs - September 2007 is a minor release with a separate page. I'll amend the intro text I copied to be more specific, thanks.

Was what we did in the past correct though?  There isn't an October 2016 release.  We might have made the 2016-06 update in October, but that's an irrelevance when it comes to the actual schema versioning.  It's 2016-06 release 2.

The title is 'Changes for October 2016' not 'October 2016 release' but it is confusing given all the rest of them bar Sept 2007 are changes AND release version. I'll amend the file names & titles too.

Hopefully that's better @rleigh-codelibre - you can blame @sbesson for the orphaned Sept 2007 file, he didn't want me to break the URL ;)

http://www.openmicroscopy.org/site/support/ome-model-staging/#data-model-history rebuilt

The updated version looks fine, thanks.  One trivial whitespace issue noted.

Thanks @rleigh-codelibre I'll remove that extra whitespace at the end of the pages before I merge.


Fix two typos in measures docs

Redo of https://github.com/jscheiny/safe-units/pull/132 not on fork

Thanks!


Field error diagnostics being mapped to 'endOfInput' in Parser monad

I have not been able to find out exactly what is going on but the diagnostics from my fromField parsers were being discarded in favour of endOfInput diagnostics in the generic-derived FromNamedRecord parser.
This was my workaround:
instance FromNamedRecord PresetDoc where
  parseNamedRecord bs = parseNamedRecord bs >>= parse_preset_doc

parse_preset_doc :: Map.Map B.ByteString B.ByteString -> Parser PresetDoc
parse_preset_doc mp = either fail return $ do
  name           <- prs "name"
  description    <- prs "description"
  schedule       <- prs "schedule"
  output_type    <- prs "output_type"
  output_options <- prs "output_options"
  role           <- prs "role"
  generators     <- prs "generators"
  data_filter    <- prs "data_filter"
  time_filter    <- prs "time_filter"
  anon_filter    <- prs "anon_filter"
  return
    PresetDoc
        { ..
        }
  where
    prs :: FromField a => B.ByteString -> Either String a
    prs fd = case Map.lookup fd mp of
      Nothing -> fail $ oops $ B.unpack fd
      Just bs -> case fromFieldEither bs of
        Left err -> fail $ "(record with name=" ++ nm_s ++ ") " ++ err
        Right y  -> return y

    oops fd = fd ++ ": missing from CSV record with name = " ++ nm_s

    nm_s    = maybe "???" B.unpack $ Map.lookup "name" mp

fromFieldEither :: FromField a => B.ByteString -> Either String a
fromFieldEither bs = case runParser $ parseField bs of
  Left err -> Left err
  Right x  -> Right x

The problem was only solved when all of the error-propagation was carried out in Either.

+1
I just lost a couple of hours to this today. My suspicion is aeson; the related cassava code didn't seem questionable at a skim.

I ran into this as well with a fairly simple dataset using code that closely resembles the examples. However, I've found that I don't get this error when having every column be interpreted as a String — so, at least for my situation, I suspect that it has to do with how cassava handles empty cells. This ticket is pretty old, but perhaps this small insight will "unstuck" others who are playing around with the library.

I also just stumbled over this problem:
I made a nice error message in my FromField instance, and see it being completely ignored.
Here's a minimal reproduction/example:
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}

import           Data.Csv
import qualified Data.Vector as V
import           GHC.Generics (Generic)

data Gender = M | F
  deriving (Show)

instance FromField Gender where
  parseField "m" = return M
  parseField "f" = return F
  parseField x   = fail $ "Not a gender: " ++ show x

instance ToField Gender where
  toField M = "m"
  toField F = "f"

data Person = Person { name :: String , gender :: Gender }
    deriving (Show, Generic)

instance FromNamedRecord Person
instance ToNamedRecord Person
instance DefaultOrdered Person

main :: IO ()
main = do
  let csvData = "name,gender\nPerson1,m\nPerson2,f\nPerson3,rubbishHere"
  case decodeByName csvData of
    Left err -> putStrLn err
    Right (_, v) -> V.forM_ v $ \x -> print (x :: Person)

I've made a PR for this, #115.


json-schema missing title property

The new ability to generate JSON Schema from Tapir Schema is very nice! The one thing I've found missing so far is the title property. While I suspect it isn't very useful for OpenAPI, it's very useful when viewing a JSON Schema in something like json-schema.app. Without the title, a bunch of nested objects just show up as object which makes things pretty un-navigable. The scala-jsonschema lib supports it like this. By default, filling in title with the same string as the definition name would work well I think.

@dvgica One question to make sure, we're on the same page. You want json output like this:
....
 "$defs" : {
     "Child" : {
        "title" : "Child",
        "required" : ["example"],
...

Yes, exactly.

Should be implemented with https://github.com/softwaremill/tapir/pull/3001.
By default title will be the name of definition, but you can also customize it with @title annotation.

Will be released with next version of tapir, if there will be any problems, please create another gh issue.

Awesome, looks great @katlasik. Thanks so much!


Update Weak-Subjectivity.md

Typo in the docs

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I am trying to sign the CLA but the bot seems to have problems :sweat: -- weird as we use the same bot in rotki.

Hey so I think I finally did it.
I managed to get to this 2-3 times

But what did the trick was press the bot-comment to re-check the CLA signing.


Redisearch unwanted debug logs

Hi!
There seems to be an issue where the Redisearch module ignores moduleOptions.showDebugLogs and emits debug messages to the log.
The most common messages come from this and this lines.
I guess the issue is here, but I'm not sure I get how the log function is supposed to work.
But I assume that if the log level is DEBUG and moduleOptions.showDebugLogs is falsy, the message should be ignored and console.log not called.
Kind regards, and thanks for this awesome package!

@anfly0 Hi, thanks for the issue! will check ASAP

@anfly0 Hi, thanks for the patience. Let me know if the issue is fixed :)


element.froalaEditor is not a function

Hey guys... 😄
I've searched in every corner for a solution for the element.froalaEditor is not a function problem... found a bunch of similar situations but most of then did not included webpack.
For context, we're using Angular + Webpack 2 with Babel.
We used npm to install the package. Should we, I don't know, somehow include the froala-editor package before everything or something? Because that's the general solution that everyone gives when it comes to this error.
I'm getting this error while trying to use the directive and still didn't figured it out how to solve this without having to add a bunch of script tags, importing everything (that's why webpack is in the project). 😖
Any ideas, guys?! 🤔

@bernardocs most likely you are not including the editor JS files.


[Feature Request] Days of Buffering timeline/history

Problem
I think most people prefer the Days of Buffering over the Age of Money number. Currently on YNAB mobile, when you go to reports, You can see AOM's and Net Worths history over the previous months (to the beginning of when you started this budget). There is no corresponding graph for AOM under the toolkit reports on web.
Describe the solution you'd like
Being able to see a history of Days of Buffering in a similar way would be nice to be able to check in and see my days of buffering growing slowly over the months or to see if I need to slow my spending to make sure I don't deplete it.
Describe alternatives you've considered
It isn't that worth it to me to go out of my way and record my days of buffering manually to go back and review it when I want to.

Looked on the official road map and have seen someone else already requested this.


Fix cluster & storage overview snapshots

This PR updates Jest snapshots and formatting from changes made in https://github.com/kubevirt/web-ui-components/pull/536 that were causing test failures.

Disregard... I'm not sure what was happening. At one point these errors were reproducing on master and now they're not. Closing the PR.


Tiny Style Request

In this gif, I'm clicking the "next move" button:

This jumping up and down of the element while the text element loads is an easy thing to tidy up. I keep thinking someone is maybe starting to chat or adding something.
I may have time soon to do a PR on this, if you're amenable. Like I said, super tiny!

A little while ago, I added an animated throbber .gif to show during the period where comments were loading, but I ended up finding it more annoying than the problem it solved. I kept the new text "No comments so far" so that there wasn't a period where people might think comments had loaded and there were none when, in fact, they were still loading.
But the jump you point out is annoying and, once you point it out, totally unnecessary.
a) Thank you for the animated .gif—there's no clearer way to show a UI issue that involves a transition.
b) Thanks for being so polite in your request!
I've just pushed a commit that places a <p> </p> during load that will be the same height as the text that replaces it, which should prevent any more content jumping.

Let me know if you have any feedback, and thanks for submitting the issue!

No worries! And thanks for your prompt reply. For gifs of this sort, I quite like recordit. In this case, any reason to not make the load state just default to no comments text? Then at least in the majority of cases I won't see any blip when loading, and if I do, it signals for sure "there's a comment here, go look!" Mostly this is nice for me as I'm flipping through moves looking to see if one actually has a comment.

Forgive me if I've misunderstood you: the problem is that when you first go to a move, GoKibitz makes an API call to get comments. During the time it takes that API call to return, it's unknown if there are comments or not.
Up to about a month ago, there was no visual difference between that loading period and the case where no comments were present. That led some users to skip on to the next move, thinking there were no comments, before the API call had returned.
A full solution to this is to load all the comments when you go to any move in a game, or at least to fetch a set of data that shows which moves have comments so that you could show a special loading indicator only when there are actual comments to load. But this requires a fairly significant refactoring of the move/comment code, one that I'm a little reluctant to embark on right now.


[Migration] RaisedButton to ElevatedButton and FlatButton to TextButton

Summary
The Buttons were not working and needed a migration for the current version of Flutter (Nov 3, 2022)
Flutter 3.3.7 • channel stable • https://github.com/flutter/flutter.git
Framework • revision e99c9c7cd9 (2 days ago) • 2022-11-01 16:59:00 -0700
Engine • revision 857bd6b74c
Tools • Dart 2.18.4 • DevTools 2.15.0

I followed the docs from Flutter to migrate the buttons to get them in a working state:
https://docs.flutter.dev/release/breaking-changes/buttons#migrating-buttons-with-custom-colors

@timcreative I think this will help with https://github.com/creativetimofficial/argon-flutter/issues/2
Can I get a review?


MISMO - Create list of changes needed for training process

The training software is functional, but could be better. Brainstorm a list of things you would improve about the process. Would you change how it was done, would you create new pages?


fix(python): chunked_batch helper

🧭 What and Why
Fix a bug in the chunked_batch helper for the Python API client.
The bug shows when using the replace_all_objects helper—the new index won't have all the records:

< 1,000 records: only the first record (0 % batch_size == 0) will be sent.
> 1,000 records: only the first 1 + n x 1,000 records will be sent. The records after the last integer multiple of batch_size won't be sent.

Changes included:

Send the request when the length of the request array reaches the batch_size, or when the end of the objects list is reached.
Change the type of the objects "list" in replace_all_objects and chunked_batch to be an Iterable instead of an explicit list. This makes it possible to use also with things like list comprehensions.

🧪 Test
No additional test added (didn't quite know how we could test this, as the API is mocked in these tests... we would have to test whether the replaced index has the correct records in it).

I think we have that issue in other clients too, i'll add a ticket to our backlog just to be sure
alternatively, a universal solution, might be to first build a list of list of batch by iterating over all objects, then iterating on the list to do the requests


How do you make a bounded up-down counter without modulo?

Modulo operators for negative numbers are a known issue, and the operator is not implemented on stable.
What is the work around for a decrement to underflow around an arbitrary bounds?
This test shows the modulo producing strange results on decrement that disappear if you force the range into positive.
from nmigen import *
from nmigen.back.pysim import Simulator

class counter_thing(Elaboratable):
    def __init__(self, max_count, rst):
        self.dir = Signal(1)
        self.mod_pos = Signal(range(max_count), reset=rst)
        self.mod_neg = Signal(range(max_count), reset=rst)
    def elaborate(self, platform):
        m = Module()
        m.d.sync += self.mod_pos.eq((self.mod_pos + max_count - 1) % max_count)
        m.d.sync += self.mod_neg.eq((self.mod_neg - 1) % max_count)
        return m

def test():
    count = rst
    for _ in range(2*max_count):
        yield
        count = (count - 1) % max_count
        print(str((yield dut.mod_pos)) + ', ' + str((yield dut.mod_neg)) + ', ' + str(count))
        assert (yield dut.mod_pos) == count # passes
        assert (yield dut.mod_pos) == (yield dut.mod_neg) # fails after underflow

if __name__ == "__main__":
    max_count = 17
    rst = 13
    dut = counter_thing(max_count, rst)
    sim = Simulator(dut)
    sim.add_clock(1)
    sim.add_sync_process(test) # or sim.add_sync_process(process), see below
    sim.run()

What is the work around for a decrement to underflow around an arbitrary bounds?

Assuming you are interested in a counter that increments or decrements by 1 each cycle, something like this would give you arbitrary overflow bounds:
class BoundedCounter(Elaboratable):
    def __init__(self, min, max):
        self.min = min
        self.max = max

        self.up = Signal(1)
        self.count = Signal(range(min, max + 1))

    def elaborate(self, platform):
        m = Module()
        with m.If(self.up):
            with m.If(self.count == max):
                m.d.sync += self.count.eq(min)
            with m.Else():
                m.d.sync += self.count.eq(self.count + 1)
        with m.Else():
            with m.If(self.count == min):
                m.d.sync += self.count.eq(max)
            with m.Else():
                m.d.sync += self.count.eq(self.count - 1)
        return m

Does this answer your question?

I'd suggest to avoid the % and / operators in hardware design (when you divide by a number that is not a power of 2). division is slow and expensive in hardware, it would take more than one clock at a rate users usually want to work, that is why usually backends don't implement that in synthesizable code regardless of what language you would use.


CMake: use python and CTest

@scivision thanks. What I am hoping to do is:

implement the input tokenizer in Fortran itself, so no need for the encoding script (#1)
download the model.dat directly from some place (#31)

Once done, this will eliminate all Python dependencies for the normal (default) workflow.
Regarding storing the model.dat files, I personally store it outside of this repository, so that I can use git clean -dfx and not worry about accidentally deleting it.


duplicate read name when indexing

Good afternoon,
I recently tried the newest version of Nanopolish with data generated from a R10 flowcell on my MinION.
I basecaleld with Guppy (HAC).
I used barcoded samples and merged the fastq files for each barcode in a folder.
I used the following string to index:
for f in /path/to/merged/*.fastq; do =nanopolish index -s /path/to/sequencing_summary.txt -d /path/to/fast5 $f; done
This gave me multiple errors like the following (wth different names of course):
Warning: duplicate read name 48a93996-58b7-4584-a045-a06b601c3c5e found in fasta file
It never happened to me before, any idea why I'm getting loads of reads with the same name?
Thank you!

Hi @marcotoffoli,
The reads are produced upstream of nanopolish, so I'm not sure what the problem might be. If you grep for 48a93996-58b7-4584-a045-a06b601c3c5e in the input fastq do you see it multiple times? What about in the files directly output by guppy?
Jared

Hi Jared,
Yes I checked and it looks like in my merged fastq files there are duplicates.
I then checked h original fastq (output of Guppy) and also found duplicates, like:
~/guppy_fastq/fastq_runid_80697603299af90e17ac69931f0d73d1c7b7811e_0_0.fastq:@48a93996-58b7-4584-a045-a06b601c3c5e runid=80697603299af90e17ac69931f0d73d1c7b7811e sampleid=4th_minion_run read=12971 ch=171 start_time=2019-07-25T15:39:17Z ~/guppy_fastq/fastq_runid_80697603299af90e17ac69931f0d73d1c7b7811e_0_4.fastq:@48a93996-58b7-4584-a045-a06b601c3c5e runid=80697603299af90e17ac69931f0d73d1c7b7811e sampleid=4th_minion_run read=12971 ch=171 start_time=2019-07-25T15:39:17Z
I will contact the Guppy soppurt team to check why this is the case.
All best,
Marco

Ok, let me know if I can help with anything else.


[Proposal] Notify runners to fetch Actions tasks instead of polling

Background
Act runner connects to the Gitea instance via short HTTP connections. So runners have to ask for new task again and again.
Gitea will start a transaction to find and assign a task to the runner when it requests a new one. However, we know that there may not be a task available most of the time, so Gitea has to roll back the transaction and respond with "no task yet, try again later."
That’s why you can see there are so many POST /api/actions/runner.v1.RunnerService/FetchTask in router logs, and [SQL] ROLLBACK [] in SQL logs.
It doesn't hurt but it's annoying. And it wastes network and database resources to some extent.
Solution
Provides a mechanism for Gitea to notify runners
We need a way to notify runners from the Gitea side. Here are some possible ways:

gRPC Streaming. Not sure if it works with gRPC over HTTP.
WebSocket. Actually, it was used in earlier versions of Gitea Actions.
Blocking Queries. It's the way in which the consul watches changes.
Server-sent events.

I'm not sure which approach would be best. However, one thing is certain: the approach must be compatible with the proxy. This is because there is always an HTTP proxy in front of Gitea, such as Nginx. IIRC, Nginx with default config closes connections that have been inactive for a long time.
Reuse old logic to fetch task
To be clear, Gitea will notify runners only with a simple message "there may be a new task", instead of the whole task data.
So it could be easier to implement, whenever the relevant data table changes, Gitea could notify all runners. The runners will then request new tasks, just as they do now. If they don't get a new task, maybe the label does’t match, they can just continue to wait to be notified again.
On the other hand, runners may not immediately request new tasks when notified because they may already be at capacity, and they will request later when they are idle.
Therefore, forcefully sending tasks to runners without their request may not be feasible or may be very complicated.

Hmm… Yes, as long as that is entirely optional I agree that something like that can be useful.
I'd object to making it required, for example for the following use case:
You only have a runner inside your intranet, and pull tasks from a public Gitea instance.
The only thing I'm thinking about is whether it improves the situation so much that it is worth the effort.
What is the default timeout in act_runner?
5 seconds?

... I'd object to making it required, ...

Sure, it's optional. Runners can skip the wait and go straight to regular polling when:

Gitea or reverse proxy does't support it.
It's disabled on Gitea side.
It's disabled on runner side.

... whether it improves the situation so much that it is worth the effort.

Exactly. That's why this is a proposal issue, not a PR.

... What is the default timeout in act_runner? 5 seconds?

5 seconds for timeout, 2 seconds for interval.

I feel Blocking Queries, aka long polling would be a natural way to go. This is also how GitHub self-hosted runner do it.

The self-hosted runner uses an HTTPS long poll that opens a connection to GitHub for 50 seconds

Nginx has a timeout of 60s by default. So 50s should work with no configuration required. Maybe Gitea can attempt to poll by default, and then fall back to regular polling if received several 524 Gateway Timeout error.

Server-sent events.

I like this option too. It would be optimal when runner is "publicly" accessible (by Gitea) and we can reuse some WebHook logic.

Any new progress?

Very good proposal.
This is the situation I encountered.  The gitea-act node may be placing a high load on gitea's servers.


Service Instance ID for Logging

Is it possible for a service instance to know its own instance ID?
My services are logging to Application Insights and I would like to set the Cloud Role Instance
I would have thought the instance would have been injected as an environmental variable in the container but I can't find any docs on it.
Thanks in advance.

I'm interested in this too. I fully understand that container workloads should be as portable as possible, however it would still be essential to get some context information.

We will expose these via environment variables eventually (some of the dimensions are already there).  We need to settle on a naming scheme for them (what's there today might change) and get them documented.
There is a separate issue with App Insights on windows right now, if that is the platform you are targeting.  Windows has a bug in hyperv containers where the timezone is adjusted for incorrectly, so the container thinks it's running 7 hours in the future. AI drops all the events b\c of that.  We are working with windows/dotnet folks to get that resolved.

Would you mind elaborating on the early thinking of the naming for these?

I am interested as well to know.

I am interested as well to know.

The service is retiring so don't think it's coming.

The service is retiring so don't think it's coming.


Doesn't work with wallpaper engine (i think)

running latest version on wallpaper engine on the steam version v2.1

Thank you for reporting this issue.
Sorry for my late response, I did not see this issue before.
Unfortunately, I will not plan to support external applications.

hey sorry for the even later response, thanks for the response though, i found a great alternative for others in need for something aesthetic like this, called fences it has a feature similar to this included


ISPN-16272 [RESP] GETRANGE can't handle huge ranges

https://issues.redhat.com/browse/ISPN-16272

merged, thanks @jabolina


⚠ Fortnite has degraded performance

In bc45a8a, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1624 ms

Resolved: Fortnite performance has improved in b27814c.


Project Check-In #1

[ ] Use OMDb API to fetch movies
[ ] Implement a search feature that sends users search into URL of the API request
[ ] Create function that changes spaces from the users search to URL characters
[ ] Change Discover page to search page (no longer using discover because data cannot be fetched without a movie title)
[ ] Populate card with poster, genre, and rating (possibly in stars)
[ ] Create a page that is utilized when a user taps on a movie showing the movies info

So far, I have learned how to parse JSON data from a local file, as well as displaying that data within the UI. I have also learned how to make functions in swift, am currently learning how to complete an API call, split strings by a character and turn it into an array, create an asynchronous image from a URL, and a lot more involving the UI. I am very excited to get the OMDb API working, once this is done I will feel like I am in a much better place with my app. This app feels like it is going to be a lot of work but I really want to learn and gain knowledge in Swift. I would love to talk more with Zef about implementing the search feature and getting the user input connected the request. My app idea has changed in that there will no longer be a discover page, and I will not be doing user accounts. The most challenging aspect has definitely just been getting a handle on swift as a language and finding resources for my problems.

Great work so far Jordan!
I know it's challenging to put everything together — I think you're doing well and making good progress.
I'll take a look at the errors soon when I have some more time.
BTW, it doesn't look like this repo exists:
https://github.com/jordanaevanz/ATLAS-ios-Fall-22/blob/0b1bbd25e95b7da06e0ec04ac3b86b383dffb873/config.yml#L11

I just realized it was set to private, but I fixed it!
thank you!
On Wed, Oct 12, 2022 at 11:34 PM Zef Houssney @.***>
wrote:

Great work so far Jordan!
I know it's challenging to put everything together — I think you're doing
well and making good progress.
I'll take a look at the errors soon when I have some more time.
BTW, it doesn't look like this repo exists:
https://github.com/jordanaevanz/ATLAS-ios-Fall-22/blob/0b1bbd25e95b7da06e0ec04ac3b86b383dffb873/config.yml#L11
—
Reply to this email directly, view it on GitHub
https://github.com/jordanaevanz/ATLAS-ios-Fall-22/issues/2#issuecomment-1277052571,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASPNU5QVEHEQ73VJPNLL4F3WC6NM3ANCNFSM6AAAAAARDZNCRY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Ruby 3.x support

I have been working on adding functionality to build the gem for the mingw-ucrt platform.
In order to do that I have modified the Rakefile, made a "compile" task and modified the previously defined "build" task.
The build task will iterate through the supported platforms, build the externals (if .dll is missing) and then move the DLLs from eg 'x86Release' -> 'Release' and then the gem is built.
This results in 4 .gem files in the pkg directory, x86/x64-mingw + x86/x64-mingw-ucrt.
These changes also means that the compilation and moving of files is all handled in the Rakefile, and the .gemspec only notifies for any missing DLLs. This does however mean that building the Gem is best done through the Rakefile, since running "gem build rautomation" will assume the DLLs are compiled and placed within their respective "Release" folder.
To compile and build the .gem files use rake task build or install
Regarding the change from notepad to regedit in the specs I changed this because I was no longer able to interact with notepad on Windows 11. It seems like the UWP apps are containerized in some way and automating these has to be done with a different API
Apologies for the messy commit. I ended up doing too many things at once after parking the task for a bit.
Let me know if you have any questions or suggestions regarding this update.

@bensandland huge thanks for your continued contribution and effort!
I had a first quick look by just reading the changes. Will have a more thorough look at one point, but will not promise anything specific.
My first question  - previously this gem was released by rake release, which compiled every necessary dependency, ran all specs and then pushed gems to Rubygems. What command should now be used to have similar process? Reading the Rakefile changes and your comment I have a suspicion that rake release does not do that anymore.

@bensandland huge thanks for your continued contribution and effort!
I had a first quick look by just reading the changes. Will have a more thorough look at one point, but will not promise anything specific.
My first question - previously this gem was released by rake release, which compiled every necessary dependency, ran all specs and then pushed gems to Rubygems. What command should now be used to have similar process? Reading the Rakefile changes and your comment I have a suspicion that rake release does not do that anymore.

Should be able to do that again. The Bundler::GemHelper.install_tasks call adds the build, install and release tasks.

Sorry for taking so long to look at this in more detail.
I managed to run specs using Ruby 3, but after these changes it's not possible to run specs on 32bit Ruby anymore, which are passing without these changes (I was using ruby 2.6.5p114 (2019-10-01 revision 67812) [i386-mingw32]).
Here's what I see when trying to run bundle exec rake spec:all:
Running specs for adapter: win_32
C:/Ruby26-x86/bin/ruby.exe -I'C:/Ruby26-x86/lib/ruby/gems/2.6.0/gems/rspec-core-3.11.0/lib';'C:/Ruby26-x86/lib/ruby/gems/2.6.0/gems/rspec-support-3.11.0/lib' 'C:/Ruby26-x86/lib/ruby/gems/2.6.0/gems/rspec-core-3.11.0/exe/rspec' --pattern 'spec/**{,/*/**}/*_spec.rb'

An error occurred while loading ./spec/adapter/ms_uia/control_spec.rb. - Did you mean?
                    rspec ./spec/adapter/ms_uia/value_control_spec.rb
                    rspec ./spec/adapter/ms_uia/tab_control_spec.rb
                    rspec ./spec/adapter/ms_uia/table_spec.rb

Failure/Error: ffi_lib 'user32', 'kernel32', 'ole32', File.dirname(__FILE__) + '/../../../../ext/IAccessibleDLL/Release/iaccessibleDll.dll'

LoadError:
  Could not open library 'C:/RAutomation/lib/rautomation/adapter/ms_uia/../../../../ext/IAccessibleDLL/Release/iaccessibleDll.dll': ?[♀?♦
# ./lib/rautomation/adapter/ms_uia/functions.rb:11:in `<module:Functions>'
# ./lib/rautomation/adapter/ms_uia/functions.rb:8:in `<module:MsUia>'
# ./lib/rautomation/adapter/ms_uia/functions.rb:6:in `<module:Adapter>'
# ./lib/rautomation/adapter/ms_uia/functions.rb:5:in `<module:RAutomation>'
# ./lib/rautomation/adapter/ms_uia/functions.rb:4:in `<top (required)>'
# ./lib/rautomation/adapter/ms_uia.rb:10:in `require'
# ./lib/rautomation/adapter/ms_uia.rb:10:in `<top (required)>'
# ./spec/adapter/ms_uia/control_spec.rb:45:in `require'
# ./spec/adapter/ms_uia/control_spec.rb:45:in `block in <top (required)>'
# ./spec/adapter/ms_uia/control_spec.rb:3:in `<top (required)>'

An error occurred while loading ./spec/adapter/ms_uia/spinner_spec.rb.
Failure/Error:
  describe MsUia::Spinner, if: SpecHelper.adapter == :ms_uia  do
    let(:main_window) { RAutomation::Window.new(title: 'MainFormWindow') }
    let(:data_entry) { main_window.button(value: 'Data Entry Form').click { window.exist? } }
    let(:window) { RAutomation::Window.new(title: 'DataEntryForm') }

    subject { window.spinner(id: 'numericUpDown1') }

    before(:each) do
      data_entry
    end

NameError:
  uninitialized constant RAutomation::Adapter::MsUia::Spinner
# ./spec/adapter/ms_uia/spinner_spec.rb:5:in `<top (required)>'

An error occurred while loading ./spec/adapter/ms_uia/tab_control_spec.rb.
Failure/Error:
  describe MsUia::TabControl, if: SpecHelper.adapter == :ms_uia do
    let(:window) { RAutomation::Window.new(title: 'MainFormWindow') }
    let(:about) { RAutomation::Window.new(title: 'About') }
    subject { about.tab_control(id: 'tabControl') }

    before(:each) do
      window.button(value: 'About').click { true }
    end

    it { should exist }

NameError:
  uninitialized constant RAutomation::Adapter::MsUia::TabControl
# ./spec/adapter/ms_uia/tab_control_spec.rb:5:in `<top (required)>'

Finished in 0.00003 seconds (files took 0.52163 seconds to load)
0 examples, 0 failures, 3 errors occurred outside of examples

C:/Ruby26-x86/bin/ruby.exe -I'C:/Ruby26-x86/lib/ruby/gems/2.6.0/gems/rspec-core-3.11.0/lib';'C:/Ruby26-x86/lib/ruby/gems/2.6.0/gems/rspec-support-3.11.0/lib' 'C:/Ruby26-x86/lib/ruby/gems/2.6.0/gems/rspec-core-3.11.0/exe/rspec' --pattern 'spec/**{,/*/**}/*_spec.rb' failed


Graphics.drawCircle 3rd arg ("radius") is actually diameter

While trying to whip up a quick conveyor belt using the Graphics object, I discovered that the third argument (called "radius" in the docs) actually defines the circle's diameter. Not too difficult to deal with once I know about it, but guys, that's not what radius means :P.
Observed in Phaser v2.2.1.
Probably a Pixi bug? Want me to cross-file it over there?
Have some sample code below, which should demonstrate the issue nicely:
function addConveyor(x, y, width) {
	var rad = 10;
	var conveyor = game.add.graphics(x, y);
	conveyor.beginFill(0xdddddd, 1);

	// draw circles to represent wheels on both ends of the conveyor

	// circle 1: assume that arg #3 is radius (as per docs). Ends up drawing half the height of the conveyor.
	conveyor.drawCircle(rad, rad, rad); // offset circle by radius in both directions
	// circle 2: assume that arg #3 is diameter. Ends up drawing the same height as the conveyor.
	conveyor.drawCircle(rad + width, rad, rad * 2);

	// draw a rect for the body of the conveyor belt
	conveyor.drawRect(rad, 0, width, rad * 2);
}

Just out of curiosity, why does Phaser.Circle use the diameter, when just about everyone everywhere uses radius to describe the size of a circle? HTML5 Canvas does. PIXI.Circle does. This feels like a mistake. :-/

It's also inconsistent with how Phaser.Graphics.drawEllipse() works. Seems like it's just asking for confusion.

That comes from PIXI, not Phaser.
It is what it is. I've no intension of changing it for any v2 release. v3 yes.

Understood @photonstorm and I wouldn't expect it to change for a v2 release.
But does this mean you are already planning on changing it to "radius" for v3? Because that would be awesome.
The reason I'm concerned about this is that I'm writing a book about learning to make games geared toward a beginner audience, and I'm using Phaser throughout the book (because I :heart: Phaser). Newbies are often struggling with lots of new concepts, so providing as much consistency as possible is important. Since arcs and ellipses use radii, it would be great if circles did, too. One less thing to trip up a newbie. :smiley:

@chrispine  Maybe the documentation could have a 'warning' or 'note' attached to it about the possible 'unexpected' behavior - and such could pointed out in the book as well.
A PR for this should be simple; but it's not on my plate.

Yes it will be conformed to for v3. I could add a note to the docs, but by the time you're reading that it's already clear what the constructor expects.
Personally I have always hated the fact it's the radius - I've lost count of the number of times in Flash I saw it given as x / 2 in the constructor.


feature requst - send email after failed paymet method

I think that good idea would be email to merchant and to customer where there is problem with customer card. Eg. insufficient funds. That info is during error, but good idea would be email to customer account this error and/or next step.
I have notice that sometimes customer is not able to buy via stripe but via paypal (debit card) is able to pay.
For that errors it would be possible to sent email with info what to do, try reorder and try use different payment methods or contact with your bank + e.g translations.
Manual contact can save failed orders, automatic contact would be much more easier.

This would be beyond the scope of this module. We're committed to making payment gateway integrations and make them work well, but email automation is not on our roadmap.
Fortunately you can still implement this feature. When you enable Stripe's webhooks you can then write a couple of scripts that subscribe to the events and send emails accordingly. Hope that helps!

Any idea how the script could look like?
Basically after error on stripe payment I want to sent to customer this error and info what customer need to do.


Add a filter to the triage dashboard

This is a filter for Author/Assignee/Labels in the triage dashboard. It enables us to search like GitHub issue/PR, for example assignee:giraffate, assignee:giraffate label:S-waiting-on-review. I think this is useful in the rust-lang/rust repository because it has many PRs.

I'm a little worried about allowing arbitrary queries through while using our token... I think there's probably not too much that can go wrong, but I'd prefer to hold off on doing this for now. I think I'd feel more comfortable if we shifted the actual github requests to the client, either sending the resulting json back to Rust for rendering, or moving all of the code to the client (perhaps as wasm or something). Alternatively we could move the authentication to use the user's token through some kind of github app flow...
I'm mostly worried that it already seems like this page can be readily used to make fairly arbitrary and extensive requests with our token; I'm not sure how much we should be extending that. Another option is to support more direct filtering; for example each column could have a text box associated to filter it. Then the filtering can be done either on the client-side or on the server, but either way, not something we need to worry as much about as arbitrary queries...

Yes, I understood your concern. Hmm, I'll try to consider the other way to do it safely. Anyway, thanks for your comment!

Can you add negative filtering? Eg on github -label:A-mir would filter out all PR's with the label A-mir.

I updated this to filter PRs on the client side.

Can you add negative filtering?

Yes!

@Mark-Simulacrum Could you take another look on this? If you still worry about anything, feel free to close this.

Sorry, slipped off my radar. Thanks for the reminder. This looks good to me now!

Thanks!


Links to tutorials in examples README are broken

https://docs.oasiscloud.io/en/latest/ballot-tutorial and https://docs.oasiscloud.io/en/latest/messaging-tutorial give 404 errors

Yeah, sorry about that. This is supposed to happen in #146


can i save files to internal storage.

I want to use this to save files to internal storage. Is it possible

I think it's possible by setting destination file path, but i'v never try.


Speech Batch retrieve an empty resultsUrls

Following this docs found a weird behavior. I uploaded 5 audios. The 5 audios ran well but one of them has a broken resultsUrls link even though the status is successful.
This is how it looks the json:

and the resultsUrls value is: https://spsvcprodeus2.blob.core.windows.net/bestor-acc02701-cb45-42dc-9d32-2843911017ca/TranscriptionData/71006c2f-f81d-4153-89f2-60a8c5f28a41.json?sv=2019-02-02&sr=b&sig=WPcXG7ZoaepOAuImnXtUWpDme8dPDnSEJ0jDw0L4BBo%3D&st=2020-08-13T21:42:08Z&se=2020-08-14T09:47:08Z&sp=rl
In the docs you say that with a GET HTTP request to resultsUrls endpoint I will have the json transcription but the message is

BlobNotFound
The specified blob does not exist.
RequestId:6863ba20-c01e-0001-3ec1-71aa53000000
Time:2020-08-13T22:31:40.3624114Z

I've already compared the audio and all of them have the same audio properties (Bit rate, Sample rate, format). Just one has this weird result.

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

ID: 73fb7e76-fb80-c420-2efe-e3ca3a27b749
Version Independent ID: 07a42557-deb3-e4b3-3f14-f26a27be49c2
Content: What is batch transcription - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/batch-transcription.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @wolfma61
Microsoft Alias: wolfma

@michaelstiben Thanks for the feedback. We are investigating the issue and will update you shortly.

The transcription and artifacts are not in our database anymore, since the transcription was deleted at 08-14 01:16 (UTC+2) (probably by user?). However,  according to message reported by user, the time when he accessed the blob was 2020-08-13 22:31 UTC time, so it was before the deletion.
Since there were no logs about any other activities the system did for this request or this subscription, we are unable to know what was the root cause of that.
if you can reproduce this, please contact us again, and have some longer expiration time on the results

We looked into our logs, which showed that the transcription has been deleted via a DELETE REST call. After deletion, you are unable to access the result files anymore.
Thanks

You're right, the transcription was deleted by one of us. A misunderstanding in our side. I sent again the same audio, the result was successful and the resultUrls had the correct behavior.
If I detect this behavior again, I will open this issue again.
Thank for your help and time.


Ensure the 'live' license for the generation of DOIs is procured before the go live of the Mauro functionality

Ticket raised at the request of Cath.
Need to make sure that the 'live' license for the generation of DOIs ('Datasite') is procured well before the go live of the Mauro functionality which supports it.

Cath needs to get the money in next years budget for it
Cath also need to discuss implementation requirements with Becky Lee.

Cath wasn't involved in the OCC work package to build the functionality into Mauro and hasn't been involved in any discussions with Laura's team about how they want to use it.

This is dependent on whether we own this (Data Solutions) or the supplier.


docs: update admin documentation

Pull Request Checklist
Task Description/Number
Add missing documentation to admin endpoints docs.
Basic Requirements
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix: represents bug fixes
[ ] Refactor: represents production code refactoring
[ ] Feature: represents a new feature
[x] Documentation: documentation changes (no production code change)
[ ] Chore: maintenance tasks (no production code change)
[ ] Style: styles updates (no production code change)
[ ] Test: all about tests: adding, refactoring tests (no production code change)
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Does this PR change client-test-data?

[ ] Yes (don't forget to update the JS-LIB team about the change)
[x] No

LGTM, IMO you could as well remove the GET /admin/stores route if it is not used nor even implemented

thanks for the review!
You're right. But in the spirit of small PRs (and descriptive PR titles) I'll do it in a separate task.


Request for documentation

Please describe the request object for the request_parameters_factory.create. Can't find it in source code.
Is it possible to validate a response data?

I have this work in progress still. Request object should implement BaseOpenAPIRequest interface (currently it is based on werkzeug).

It really is time for some documentations :) Are you working on it or should I start?

@mes3yd hi. I'm still out of time this month so feel free to start if you can. Cheers.

Ok, I'll start by fixing a few bugs and documenting the methods I'm fixing.

Some documentation would be very useful, I've been getting into the code and I'd like to contribute some things that may be missing. A list of what is and isn't supported or validated from the OpenAPI spec, additional features, would be a great starting point. I'm taking stab at some formats and regex patterns for instance, but it's not clear what's done already, or where.

Hi, is there any update to the process? I've just found your project while trying to find resources on how to build a flask API with swagger support. I have a specification and I want to:

Use validation in requests
Generate client libraries

Is this something openapi-core can dow? If yes, are there some resources on how I can use it for my purposes?

Possibly a little late to the party. But for those who find this package (which is great) and need a little more of a helping hand to get started. I've put my code below to show how to validate a request. Note that I use yaml for my OpenAPI specification and use the python requests library.
import yaml
import requests
from openapi_core import Spec
from openapi_core.contrib.requests import RequestsOpenAPIRequest
from openapi_core.validation.request import openapi_request_validator

openapi_spec_path = "somewhere/in/your/repo/openapi.yaml"
with open(openapi_spec_path) as f:
    openapi_spec = yaml.safe_load(f)

spec = Spec.create(openapi_spec)

requests_request = requests.Request(
    method="POST",
    url="foo"
    headers={
        "content-type": "application/json",
        "X-my-api-key": "1234"
    },
    json={},
)

openapi_request = RequestsOpenAPIRequest(requests_request)

result = openapi_request_validator.validate(spec, openapi_request)

It's not too bad and I worked out what to do after looking at the testing file here: tests/integration/contrib/requests/test_requests_validation.py.
have fun


generate_simple still having issues with eos_token_id

I'm trying to get a simple inference script running to test exllamav2 outside of text-generation-webui.  In oobabooga, everything appears to be running basically perfectly, but I am not having nearly the same results in a standalone script.
generate_simple() appears to always be generating to the full length of max_new_tokens.  I had to remove "settings.disallow_tokens(tokenizer, [tokenizer.eos_token_id])" from the setting configuration.  I see that generate_simple() does respect the eos of speech token now (there was another issue (https://github.com/turboderp/exllamav2/issues/9) where turboderp suggested manually setting stop condition in generator, but that appears to no longer be relevant).
It's "working" right now with the above change (IE it does stop early), but I'm wondering if I'm setting up inference code incorrectly.  My code is essentially:
model_directory = <path to mixtral-instruct>
config = ExLlamaV2Config()
config.model_dir = model_directory
config.max_input_len=8192
config.prepare()
model = ExLlamaV2(config)

cache = ExLlamaV2Cache_Q4(model, lazy = True)
model.load_autosplit(cache)

tokenizer = ExLlamaV2Tokenizer(config)

generator = ExLlamaV2BaseGenerator(model, cache, tokenizer)
settings = ExLlamaV2Sampler.Settings()
settings.temperature = 0.5
settings.top_k = 50
settings.top_p = 0.9
settings.min_p = 0.05
settings.token_repetition_penalty = 1.15
#settings.disallow_tokens(tokenizer, [tokenizer.eos_token_id])

output = generator.generate_simple(prompt, settings, 128)

The reason I'm questioning my own sanity right now is that my results from this script and oobabooga are often quite different.  I'm asking mixtral-instruct to follow tightly guardrailed instructions, and the output from oobabooga is nearly perfect, but from my script, it's really hit/miss.  That's why I feel like my inference script is missing something critical (which could be causing the generator to be outputting the full 128 tokens).
Also, is there a way for generate_simple to only output the response, and not include the prompt?  I know I can manually remove the prompt, but it seems bizarre for generate_simple to always return the full text, including the original prompt.

You're initializing the ExLlamaV2Config object a little incorrectly. max_input_len is the max length for a single forward pass, not the total context length. For this you'll want to change max_seq_len after calling prepare(), which loads all the default settings (including context length) from config.json. If you want to increase max_input_len for more efficient prompt processing you should also set max_attention_size to 8192**2. I think what you probably want is:
config = ExLlamaV2Config()
config.model_dir = model_directory
config.prepare()
config.max_seq_len=8192
model = ExLlamaV2(config)

With the latest version (dev) this also simplifies to:
config = ExLlamaV2Config(model_directory)
config.max_seq_len=8192
model = ExLlamaV2(config)

As for why the results are unreliable compared to ooba, it's probably down to prompt formatting. Mixtral expects a Llama-style prompt like <s>[INST] <<SYS>>\nYou are a chatbot etc...\n<</SYS>>\n\nWhat's the deal with dogs? [/INST]. To get the <s> added properly you'll want to either include it in the prompt and set encode_special_tokens = True in the call to generate_simple, or you can set add_bos = True and it will be prepended when tokenizing.
The choice of whether to return the completed text or just the completion is arbitrary. There are cases where you'd want one and cases where you'd want the other. I'll think about adding an option to control it.

FWIW, here's an example of how you could use Mixtral with correct formatting:
model_directory = "/mnt/str/models/mixtral-8x7b-instruct-exl2/3.5bpw/"
config = ExLlamaV2Config()
config.model_dir = model_directory
config.prepare()
config.max_seq_len = 8192
model = ExLlamaV2(config)

cache = ExLlamaV2Cache_Q4(model, lazy = True)
model.load_autosplit(cache)

tokenizer = ExLlamaV2Tokenizer(config)

generator = ExLlamaV2BaseGenerator(model, cache, tokenizer)
settings = ExLlamaV2Sampler.Settings()
settings.temperature = 0.5
settings.top_k = 50
settings.top_p = 0.9
settings.min_p = 0.05
settings.token_repetition_penalty = 1.15

system_prompt = "You are a helpful AI assistant."
question = "Why is there no atmosphere on the Moon?"
prompt = f"[INST] <<SYS>>\n{system_prompt}\n<</SYS>>\n\n{question} [/INST]"

output = generator.generate_simple(prompt, settings, 256, add_bos = True)
response = output[len(prompt):]

print(f"Q: {question}")
print(f"A: {response}")

I increased num_tokens a bit because Mixtral can be a little talkative and 128 tokens isn't an awful lot. I get:
Q: Why is there no atmosphere on the Moon?
A:  The moon lacks an atmosphere primarily because it doesn't have enough gravity to hold onto the gases that might otherwise form one. The Earth, in contrast, has a strong gravitational pull which allows it to retain an atmosphere.

The moon's escape velocity - the speed needed for an object to escape its gravitational field - is only about 2.38 kilometers per second, compared to the Earth's 11.2 kilometers per second. This means that any gas molecules present on the moon would be quickly lost to space due to the moon's lower gravity.

Furthermore, the moon lacks a magnetic field, which on Earth helps to deflect solar wind and radiation away from our planet's atmosphere. Without such protection, the solar wind would strip away any significant gaseous formation on the moon.

Thanks for the heads up on max_seq_length!  I've made that change now.  I may have also been a bit too harsh on calling the performance between ooba and exllamav2 different; I started seeing similar instruction-breaking performance after more testing in Ooba.  Is there a method guide/documentation for exllama?  I'd love to be able to print out the default settings in the sampler to compare to what I have in Ooba to make sure I'm comparing apples to apples.
And you're right, it's easy enough to trim out the prompt from the output, I was just curious if I was missing something or setting up something wrong and the entire prompt was eating up my output tokens or something.  Thanks for the example script, that's perfect!

Sorry to bring this back up, and maybe this should be its own topic, but I've been trying to figure out why I get different results between Oobabooga's API and UI, and decided to test Exllama directly in code, and I'm just unable to get Qwen1.5-14B to run.  In Ooba, I have it set to a max context length of 8192 (no 4 bit or 8 bit cache) and it loads into my 4090 using about 19GB of VRAM.
When I duplicate these same settings (using the settings above) in a script, it maxes out my memory and says there's insufficient VRAM.  What is it that Ooba is doing that I'm not calling correctly in code?  I've tried Q4 cache and the result is the same.  Is there somewhere else I have to set the sequence length to limit the amount of cache that is allocated?

Firstly, you should set max_seq_len in the ExLlamaV2Config (before loading the model), not in the cache unless you're doing something special with it. And thirdly, especially for models like Qwen and if you only want to use it for generating text, you should reduce config.max_output_len (16 is a sensible value). This limits how much space the implementation has to allocate for logits.
If this doesn't work, could you paste the script?

The attribute should be max_seq_len, not max_sequence_len.

Ah what an annoying mistake.  Thanks for catching that!
I'm still not getting the same results that I'm getting from Ooba's UI but I think I can debug on my own for a bit.  I just have to figure out what other settings that Ooba sets that I'm not.  Really appreciate your help!


Fix for fix for #289:)

Doneness:

[X] Build is okay - I made sure that this change is building successfully.
[X] No Bugs - I made sure that this change is working properly as expected. It doesn't have any bugs that you are aware of.
[X] Branching - If this is not a hotfix, I am making this request against develop branch

:white_check_mark: Build Titanium-Web-Proxy 3.0.52 completed (commit https://github.com/justcoding121/Titanium-Web-Proxy/commit/266142ff28 by @honfika)


Incorrect project tagging?

I am attempting to enable ebs optimization on ec2 instances via the ebsOptimized property via version 2.4.1 but it doesn't seem to work. According to the code here it looks like it should be available though I did notice that both cloudera-director-2.5.0 and cloudera-director-2.4.1 point to the exact same commit tag which I found to be surprising. I would like to know if the tags that are associated with this repository is actually accurate? Should I be able to enable the ebs optimized ec2 instances for v2.4.1?

This does look incorrect to me. I will investigate and get a "cloudera-director-2.4.1-fixed" tag pushed up. There were no changes to the AWS plugin between Cloudera Director releases 2.4.0 and 2.4.1.
The ebsOptimized property should be available from Cloudera Director 2.5.x onwards.
Also, do note that this property has no effect on instance types that are EBSOptimized by default.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html

done


Realease more users

What this PR does / Why we need it
A few sentences describing the overall goals of the pull request's commits.
Which issue(s) this PR fixes (optional)

Fixes #
Special notes for your reviewer (optional)
Some questions

[x] I have read the contributing guidelines
[x] I abide by this repository Code of Conduct
[x] I understand that my PR won't be merged until GitHub gives a "green light"

Additional Notes (optional)
Do you want to add anything else? We :heart: to hear your opinions!

Next time please use draft PR as I get notifications for this PR and it seems not ready for review?


Pod comes up with status "Error"

Testing the Deis chart against a Kubernetes 1.1.3 vagrant cluster leads to builder coming up with an "Error" status:
$ kubectl get pods
NAME                        READY     STATUS    RESTARTS   AGE
deis-builder-jsyx5          0/1       Error     0          3m
deis-database-kxsvn         1/1       Running   0          3m
deis-etcd-1-7n84b           1/1       Running   0          3m
deis-etcd-1-eg332           1/1       Running   0          3m
deis-etcd-1-p8pn9           1/1       Running   0          3m
deis-etcd-discovery-whoz5   1/1       Running   0          3m
deis-minio-yni6i            0/1       Pending   0          3m
deis-registry-x9xqe         0/1       Pending   0          3m
deis-router-wuh1q           0/1       Pending   0          3m
deis-workflow-84oqw         0/1       Pending   0          3m

@mboersma assigned to myself. will investigate shortly

Actually now it's in "CrashLoopBackoff" and may be waiting for controller, so I may have jumped the gun here... I'll follow up in a minute.

Other components came up successfully, but deis-builder went from Error to CrashLoopBackoff status and appears stuck there, so there is some problem here:
$ kubectl get pods
NAME                        READY     STATUS              RESTARTS   AGE
deis-builder-jsyx5          0/1       CrashLoopBackOff    6          9m
deis-database-kxsvn         1/1       Running             0          9m
deis-etcd-1-7n84b           1/1       Running             0          9m
deis-etcd-1-eg332           1/1       Running             0          9m
deis-etcd-1-p8pn9           1/1       Running             1          9m
deis-etcd-discovery-whoz5   1/1       Running             0          9m
deis-minio-yni6i            0/1       RunContainerError   0          9m
deis-registry-x9xqe         1/1       Running             0          9m
deis-router-wuh1q           0/1       CrashLoopBackOff    5          9m
deis-workflow-84oqw         1/1       Running             0          9m


Cleanup logging refactoring

In several places, logging of the exception stacktrace was removed. Was this done intentionally?

Yes. In those places the stacktrace is of no help. The exception is catched and the reason is clear. We should keep them where it is not clear.


ErrorDetails=Websocket message size cannot exceed 65536 bytes websocket error code: 1007

Hello,
I wanted to ask for help on this error that I receive from the service when I submit an audio file lasting about an hour. The error is generated after about 20/30 minutes of processing the material sent. I use a nodejs batch and I tried, as documented examples on the sdk site, to send both the file and the stream without success.
Here is a copy of the code for the two cases:
const fs = require('fs');
const sdk = require("microsoft-cognitiveservices-speech-sdk");
const filePath=" my file .wav";
#####################
FILE
######################
let audioConfig = sdk.AudioConfig.fromWavFileInput (fs.readFileSync (filePath))
######################
######################
STREAM
######################
let pushStream = sdk.AudioInputStream.createPushStream ();
let audio = fs.createReadStream (filePath);
audio.on ('data', function (arrayBuffer) {
pushStream.write (arrayBuffer.slice ());
}). on ('end', function () {
pushStream.close ();
});
let audioConfig = sdk.AudioConfig.fromStreamInput (pushStream);
#######################
const speechConfig = sdk.SpeechConfig.fromSubscription("my key", "my region");
speechConfig.speechRecognitionLanguage = "it-IT";
let recognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
recognizer.recognizing = (s, e) => {
    //console.log(`RECOGNIZING: Text=${e.result.text}`);
};

recognizer.recognized = (s, e) => {
    console.log('RECOGNIZED:  reason: ',e.result.reason);
    if (e.result.reason == sdk.ResultReason.RecognizedSpeech) {
        //console.log(`RECOGNIZED: Text=${e.result.text}`);
        console.log('RECOGNIZED: ',e.result.json);
    }
    else if (e.result.reason == sdk.ResultReason.NoMatch) {
        console.log("NOMATCH: Speech could not be recognized.");
    }
};

recognizer.canceled = (s, e) => {
    console.log(`CANCELED: Reason=${e.reason}`);

    if (e.reason == sdk.CancellationReason.Error) {
        console.log(`"CANCELED: ErrorCode=${e.errorCode}`);
        console.log(`"CANCELED: ErrorDetails=${e.errorDetails}`);
        console.log("CANCELED: Did you update the subscription info?");
    }

    recognizer.stopContinuousRecognitionAsync();
};

recognizer.sessionStopped = (s, e) => {
    console.log("\n    Session stopped event.");
    recognizer.stopContinuousRecognitionAsync();
};

recognizer.startContinuousRecognitionAsync();

thanks for the help.
node version v15.14.0
microsoft-cognitiveservices-speech-sdk 1.16.0
Operating System Ubuntu 18.04.5 LTS

@glharper Can you please check, is there anything nodejs specific to consider?

@marcoferri72 Thanks for using Speech SDK, and writing this issue up. Could you attach the hour-long audio file you used to reproduce this?

hi @glharper, this is the audio file, thanks.
GoldenClip_20200714_1143_1595427221.16.part01.rar.zip
GoldenClip_20200714_1143_1595427221.16.part02.rar.zip
GoldenClip_20200714_1143_1595427221.16.part03.rar.zip
GoldenClip_20200714_1143_1595427221.16.part04.rar.zip
GoldenClip_20200714_1143_1595427221.16.part05.rar.zip
GoldenClip_20200714_1143_1595427221.16.part06.rar.zip
GoldenClip_20200714_1143_1595427221.16.part07.rar.zip
GoldenClip_20200714_1143_1595427221.16.part08.rar.zip
GoldenClip_20200714_1143_1595427221.16.part09.rar.zip

@marcoferri72 I've reproduced this and opened a bug against this issue. I'll check back in when the fix is checked in and released. Thanks for using Speech SDK and letting us know about this!