uninitialized constant Activity::Actable

I am trying to create a basic example using ActivieAdmin but get an error when navigating to the MultipleChoice admin page with this route: admin/multiple_choices that should render the with code below.
ActiveAdmin.register MultipleChoice do
end

class Activity < ActiveRecord::Base
  actable
end

class MultipleChoice < ActiveRecord::Base
  acts_as :activity
end

using
ruby 2.3.3
Rails 4.2.0
ERROR

Showing /Users/lancecoe/.rvm/gems/ruby-2.3.3/gems/activeadmin-1.0.0/app/views/active_admin/resource/index.html.arb where line #2 raised

NameError in Admin::MultipleChoices#index
.../activeadmin-1.0.0/app/views/active_admin/resource/index.html.arb where line #2 raised:
uninitialized constant Activity::Actable
raise NameError.new("uninitialized constant #{candidates.first}", candidates.first)

Rails.root: /Users/lancecoe/Desktop/aweza-admin

Application Trace | Framework Trace | Full Trace
activerecord (4.2.0) lib/active_record/inheritance.rb:158:in `compute_type'
activerecord (4.2.0) lib/active_record/reflection.rb:271:in `compute_class'
activerecord (4.2.0) lib/active_record/reflection.rb:267:in `klass'
ransack (1.8.2) lib/ransack/adapters/active_record/context.rb:59:in `attribute_method?'
ransack (1.8.2) lib/ransack/nodes/grouping.rb:131:in `attribute_method?'
ransack (1.8.2) lib/ransack/search.rb:97:in `method_missing'
ransack (1.8.2) lib/ransack/helpers/form_builder.rb:10:in `value'
actionview (4.2.0) lib/action_view/helpers/tags/select.rb:16:in `block in render'
actionview (4.2.0) lib/action_view/helpers/tags/select.rb:16:in `fetch'
actionview (4.2.0) lib/action_view/helpers/tags/select.rb:16:in `render'
actionview (4.2.0) lib/action_view/helpers/form_options_helper.rb:163:in `select'
actionview (4.2.0) lib/action_view/helpers/form_options_helper.rb:777:in `select'
formtastic (3.1.5) lib/formtastic/inputs/select_input.rb:173:in `select_html'
formtastic (3.1.5) lib/formtastic/inputs/select_input.rb:168:in `block in to_html'
actionview (4.2.0) lib/action_view/helpers/capture_helper.rb:38:in `block in capture'
actionview (4.2.0) lib/action_view/helpers/capture_helper.rb:200:in `with_output_buffer'
actionview (4.2.0) lib/action_view/helpers/capture_helper.rb:38:in `capture'
activeadmin (1.0.0) lib/active_admin/inputs/filters/base.rb:12:in `input_wrapping'
formtastic (3.1.5) lib/formtastic/inputs/select_input.rb:166:in `to_html'
formtastic (3.1.5) lib/formtastic/helpers/input_helper.rb:242:in `input'
activeadmin_addons (0.11.0) lib/activeadmin_addons/support/enumerize_formtastic_support.rb:13:in `input'
activeadmin (1.0.0) lib/active_admin/filters/forms.rb:14:in `filter'
activeadmin (1.0.0) lib/active_admin/filters/forms.rb:62:in `block (2 levels) in active_admin_filters_form_for'
activeadmin (1.0.0) lib/active_admin/filters/forms.rb:58:in `each'
activeadmin (1.0.0) lib/active_admin/filters/forms.rb:58:in `block in active_admin_filters_form_for'
actionview (4.2.0) lib/action_view/helpers/capture_helper.rb:38:in `block in capture'
actionview (4.2.0) lib/action_view/helpers/capture_helper.rb:200:in `with_output_buffer'
actionview (4.2.0) lib/action_view/helpers/capture_helper.rb:38:in `capture'
actionview (4.2.0) lib/action_view/helpers/form_helper.rb:444:in `form_for'
activeadmin (1.0.0) lib/active_admin/filters/forms.rb:57:in `active_admin_filters_form_for'
arbre (1.1.1) lib/arbre/element.rb:180:in `method_missing'
activeadmin (1.0.0) lib/active_admin/filters/resource_extension.rb:146:in `block in filters_sidebar_section'
activeadmin (1.0.0) lib/active_admin/views/components/sidebar_section.rb:25:in `instance_exec'
activeadmin (1.0.0) lib/active_admin/views/components/sidebar_section.rb:25:in `build_sidebar_content'
activeadmin (1.0.0) lib/active_admin/views/components/sidebar_section.rb:13:in `build'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:30:in `block in build_tag'
arbre (1.1.1) lib/arbre/context.rb:92:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:26:in `build_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:14:in `sidebar_section'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:132:in `block (2 levels) in build_sidebar'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:131:in `collect'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:131:in `block in build_sidebar'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:31:in `block in build_tag'
arbre (1.1.1) lib/arbre/context.rb:92:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:26:in `build_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:14:in `div'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:130:in `build_sidebar'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:78:in `block in build_page_content'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:31:in `block in build_tag'
arbre (1.1.1) lib/arbre/context.rb:92:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:26:in `build_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:14:in `div'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:76:in `build_page_content'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:54:in `block (2 levels) in build_page'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:31:in `block in build_tag'
arbre (1.1.1) lib/arbre/context.rb:92:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:26:in `build_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:14:in `div'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:50:in `block in build_page'
arbre (1.1.1) lib/arbre/context.rb:92:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:49:in `build_page'
activeadmin (1.0.0) lib/active_admin/views/pages/base.rb:10:in `build'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:30:in `block in build_tag'
arbre (1.1.1) lib/arbre/context.rb:92:in `with_current_arbre_element'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:26:in `build_tag'
arbre (1.1.1) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
activeadmin (1.0.0) app/views/active_admin/resource/index.html.arb:2:in `block in ___sers_lancecoe__rvm_gems_ruby_______gems_activeadmin_______app_views_active_admin_resource_index_html_arb___218697264684546928_70170958353700'
arbre (1.1.1) lib/arbre/context.rb:45:in `instance_eval'
arbre (1.1.1) lib/arbre/context.rb:45:in `initialize'
activeadmin (1.0.0) app/views/active_admin/resource/index.html.arb:1:in `new'
activeadmin (1.0.0) app/views/active_admin/resource/index.html.arb:1:in `___sers_lancecoe__rvm_gems_ruby_______gems_activeadmin_______app_views_active_admin_resource_index_html_arb___218697264684546928_70170958353700'
actionview (4.2.0) lib/action_view/template.rb:145:in `block in render'
activesupport (4.2.0) lib/active_support/notifications.rb:166:in `instrument'
actionview (4.2.0) lib/action_view/template.rb:333:in `instrument'
actionview (4.2.0) lib/action_view/template.rb:143:in `render'
actionview (4.2.0) lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
actionview (4.2.0) lib/action_view/renderer/abstract_renderer.rb:39:in `block in instrument'
activesupport (4.2.0) lib/active_support/notifications.rb:164:in `block in instrument'
activesupport (4.2.0) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.2.0) lib/active_support/notifications.rb:164:in `instrument'
actionview (4.2.0) lib/action_view/renderer/abstract_renderer.rb:39:in `instrument'
actionview (4.2.0) lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'
actionview (4.2.0) lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
actionview (4.2.0) lib/action_view/renderer/template_renderer.rb:52:in `render_template'
actionview (4.2.0) lib/action_view/renderer/template_renderer.rb:14:in `render'
actionview (4.2.0) lib/action_view/renderer/renderer.rb:42:in `render_template'
actionview (4.2.0) lib/action_view/renderer/renderer.rb:23:in `render'
actionview (4.2.0) lib/action_view/rendering.rb:100:in `_render_template'
actionpack (4.2.0) lib/action_controller/metal/streaming.rb:217:in `_render_template'
actionview (4.2.0) lib/action_view/rendering.rb:83:in `render_to_body'
actionpack (4.2.0) lib/action_controller/metal/rendering.rb:32:in `render_to_body'
actionpack (4.2.0) lib/action_controller/metal/renderers.rb:37:in `render_to_body'
actionpack (4.2.0) lib/abstract_controller/rendering.rb:25:in `render'
actionpack (4.2.0) lib/action_controller/metal/rendering.rb:16:in `render'
actionpack (4.2.0) lib/action_controller/metal/instrumentation.rb:41:in `block (2 levels) in render'
activesupport (4.2.0) lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
/Users/lancecoe/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/benchmark.rb:308:in `realtime'
activesupport (4.2.0) lib/active_support/core_ext/benchmark.rb:12:in `ms'
actionpack (4.2.0) lib/action_controller/metal/instrumentation.rb:41:in `block in render'
actionpack (4.2.0) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
activerecord (4.2.0) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
actionpack (4.2.0) lib/action_controller/metal/instrumentation.rb:40:in `render'
responders (2.4.0) lib/action_controller/responder.rb:238:in `default_render'
responders (2.4.0) lib/action_controller/responder.rb:170:in `to_html'
responders (2.4.0) lib/responders/flash_responder.rb:107:in `to_html'
responders (2.4.0) lib/action_controller/responder.rb:163:in `respond'
responders (2.4.0) lib/action_controller/responder.rb:156:in `call'
responders (2.4.0) lib/action_controller/respond_with.rb:211:in `respond_with'
inherited_resources (1.7.2) lib/inherited_resources/actions.rb:7:in `index'
activeadmin (1.0.0) lib/active_admin/resource_controller/streaming.rb:12:in `index'
actionpack (4.2.0) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (4.2.0) lib/abstract_controller/base.rb:198:in `process_action'
actionpack (4.2.0) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (4.2.0) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
activesupport (4.2.0) lib/active_support/callbacks.rb:117:in `call'
activesupport (4.2.0) lib/active_support/callbacks.rb:151:in `block in halting_and_conditional'
activesupport (4.2.0) lib/active_support/callbacks.rb:169:in `block in halting'
activesupport (4.2.0) lib/active_support/callbacks.rb:169:in `block in halting'
activesupport (4.2.0) lib/active_support/callbacks.rb:169:in `block in halting'
activesupport (4.2.0) lib/active_support/callbacks.rb:234:in `block in halting'
activesupport (4.2.0) lib/active_support/callbacks.rb:169:in `block in halting'
activesupport (4.2.0) lib/active_support/callbacks.rb:169:in `block in halting'
activesupport (4.2.0) lib/active_support/callbacks.rb:92:in `_run_callbacks'
activesupport (4.2.0) lib/active_support/callbacks.rb:734:in `_run_process_action_callbacks'
activesupport (4.2.0) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (4.2.0) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.2.0) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (4.2.0) lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
activesupport (4.2.0) lib/active_support/notifications.rb:164:in `block in instrument'
activesupport (4.2.0) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (4.2.0) lib/active_support/notifications.rb:164:in `instrument'
actionpack (4.2.0) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
actionpack (4.2.0) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
activerecord (4.2.0) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (4.2.0) lib/abstract_controller/base.rb:137:in `process'
actionview (4.2.0) lib/action_view/rendering.rb:30:in `process'
actionpack (4.2.0) lib/action_controller/metal.rb:195:in `dispatch'
actionpack (4.2.0) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
actionpack (4.2.0) lib/action_controller/metal.rb:236:in `block in action'
actionpack (4.2.0) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
actionpack (4.2.0) lib/action_dispatch/routing/route_set.rb:42:in `serve'
actionpack (4.2.0) lib/action_dispatch/journey/router.rb:43:in `block in serve'
actionpack (4.2.0) lib/action_dispatch/journey/router.rb:30:in `each'
actionpack (4.2.0) lib/action_dispatch/journey/router.rb:30:in `serve'
actionpack (4.2.0) lib/action_dispatch/routing/route_set.rb:802:in `call'
warden (1.2.7) lib/warden/manager.rb:36:in `block in call'
warden (1.2.7) lib/warden/manager.rb:35:in `catch'
warden (1.2.7) lib/warden/manager.rb:35:in `call'
rack (1.6.8) lib/rack/etag.rb:24:in `call'
rack (1.6.8) lib/rack/conditionalget.rb:25:in `call'
rack (1.6.8) lib/rack/head.rb:13:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/flash.rb:260:in `call'
rack (1.6.8) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.6.8) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.2.0) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.2.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:647:in `call'
activerecord (4.2.0) lib/active_record/migration.rb:378:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.2.0) lib/active_support/callbacks.rb:88:in `_run_callbacks'
activesupport (4.2.0) lib/active_support/callbacks.rb:734:in `_run_call_callbacks'
activesupport (4.2.0) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (4.2.0) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.2.0) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.2.0) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.2.0) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.2.0) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.2.0) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.2.0) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.6.8) lib/rack/methodoverride.rb:22:in `call'
rack (1.6.8) lib/rack/runtime.rb:18:in `call'
activesupport (4.2.0) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
rack (1.6.8) lib/rack/lock.rb:17:in `call'
actionpack (4.2.0) lib/action_dispatch/middleware/static.rb:113:in `call'
rack (1.6.8) lib/rack/sendfile.rb:113:in `call'
railties (4.2.0) lib/rails/engine.rb:518:in `call'
railties (4.2.0) lib/rails/application.rb:164:in `call'
rack (1.6.8) lib/rack/lock.rb:17:in `call'
rack (1.6.8) lib/rack/content_length.rb:15:in `call'
rack (1.6.8) lib/rack/handler/webrick.rb:88:in `service'
/Users/lancecoe/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service'
/Users/lancecoe/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run'
/Users/lancecoe/.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread'

Could you please post the full backtrace and the code context that the error is raised in?

Edited the question but realised probably shouldn't have filed an issue because not integrating with ActiveAdmin doesn't imply that there is anything wrong with this library.

Thank you for your response though. Seems like I am able to still use it by creating custom views.


Crash fixes

Has been merged through git cli
part of the projectPoints code still needs some changes, will address when main loop is reworked


Fix typo

Motivation
Fixed minor typo.
Modification
typo in readme and some python files.

 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.


Position of the match

Can I find out the position where the match was found?

If you're writing a parser, you can get the current position using the Position property of the input (IInput).  If you're not writing a parser, you might need to start.  If I'm not mistaken, that's the only way to do it.

Just append .Span() to any existing parser like I posted before:
var parser =
    from leading in Parse.WhiteSpace.Many()
    from span in Parse.Identifier(Parse.Letter, Parse.LetterOrDigit).Span() // <- here
    from trailing in Parse.WhiteSpace.Many()
    select span;

The parser above will return ITextSpan<string> instead of just string.
So you'll get the parsed value with the position and length of its span.
For more examples, please check out the unit tests in this repository.


Complex Decision: workbench does not save records in a field Note.

Workbench - Complex Decision
It looks like workbench does not save records in a field Note.
Entered comment "Should be re-assigned to a proper genus":

Re-visiting the same species (field Note is empty):

The frontend does not include the notes field in the POSTed data:
{
    "name": {
        "scientificName": "Acacia abbatiana"
    },
    "lifezones": [],
    "status": "provisionally accepted",
    "mode": "update",
    "subjectDatasetKey": 1162,
    "datasetKey": 3,
    "subject": {
        "id": "1598",
        "name": "Acacia abbatiana",
        "authorship": "Pedley",
        "rank": "species",
        "status": "accepted",
        "parent": "Acacia"
    }
}```

tested on dev from https://data.dev.catalogue.life/catalogue/3/dataset/1162/workbench?decisionMode=_NOT_NULL&facet=rank&facet=issue&facet=status&facet=nomstatus&facet=type&facet=field&limit=50&offset=0&q=Acacia


convert: command not found

First off all thank you very much for this workflows!
Maybe I'm to tired but I can't figure out what is wrong. After I installed everything I got the following error message:
The action “Run Shell Script” encountered an error: “/usr/local/bin/negfix8: line 132: convert: command not found
/usr/local/bin/negfix8: line 141: convert: command not found
/usr/local/bin/autolevel: line 221: convert: command not found

autolevel:

USAGE: autolevel [-c colormode] [-m midrange] infile outfile
USAGE: autolevel [-h or -help]

OPTIONS:

-c      colormode       colorspace/channel to use to compute
min, max, gamma statistics; choices are:
gray, intensity, luminance, lightness, brightness,
average, magnitude, rgb; default=luminance
-m      midrange        midrange value for autogamma part of script;
0<float<1; default=0.5

/usr/local/bin/autocolor: line 275: convert: command not found

autocolor:

USAGE: autocolor [-m method] [-c clipmode] [-l cliplow] [-h cliphigh] [-n neutralgray] infile outfile
USAGE: autocolor [-help]

OPTIONS:

-m      method            method to adjust neutral color; method=gamma,
recolor, none; default=recolor
-c      clipmode          clip channels mode; clip=together or separate;
default=separate
-l      cliplow           clip percent on low end of histogram;
float; 0<=cliplow<=100; default=0.1
-h      cliphigh          clip percent on high end of histogram;
float; 0<=cliphigh<=100; default=same as cliplow
-n      neutralgray       neutral gray value (percent); float between
0 and 100; default=mean of luminance

rm: /Users/pablo/Downloads/Example-negfix8.tif: No such file or directory
rm: /Users/pablo/Downloads/Example-autolevel.tif: No such file or directory”

Firstly I thought it could be a M1 problem with the scripts. But autolevel and autocolor for example are working if I start them from the terminal on an example. Also the convert command is working in my terminal.
Maybe I'll found tomorrow a solution. I'll update my Issue here. :)

Hmm, that's a weird issue. What version of imagemagick do you have installed?
It shouldn't be an M1 issue, I made the script on a Mac Mini M1.
Can you also run negfix8 on a test file as well?

negfix8 is also running.
imagemagick is in version 7.1.0-18 installed via brew.
Thanks for the M1 info. I'll also debug it further this afternoon. Maybe it's some access errors on my Download folder or something like this.

Just to make sure: is it the Q16-HDRI version of Imagemagick?
It's very weird, because it seems like the individual components work fine...
Try running the shell commands from the workflow manually, and see if you get an error with them:
export PATH="/usr/local/bin:$PATH"

for f in "$@"
do
	cd "$(dirname "$f")"
	negfix8 -cs $f "${f%.tif}-negfix8.tif"
	autolevel "${f%.tif}-negfix8.tif" "${f%.tif}-autolevel.tif"
	autocolor "${f%.tif}-autolevel.tif" "${f%.tif}-InvertedSimple.tif"
	magick -quiet $f -delete 0 -normalize "${f%.tif}-ir.tif"
	magick -quiet $f -channel 0 -separate -normalize "${f%.tif}-red.tif"
	magick -quiet "${f%.tif}-ir.tif" "${f%.tif}-red.tif" -fx 'u/v' -threshold 1% "${f%.tif}-Dust.tif"
	magick "${f%.tif}-InvertedSimple.tif" "${f%.tif}-Dust.tif" -channel-fx '|gray=>alpha' "${f%.tif}-Inverted.tif"
	rm "${f%.tif}-negfix8.tif"
	rm "${f%.tif}-autolevel.tif"
	rm "${f%.tif}-ir.tif"
	rm "${f%.tif}-red.tif"
	rm "${f%.tif}-InvertedSimple.tif"
	rm "${f%.tif}-Dust.tif"
done

You'll need to edit the commands to replace the variables with the file names.
Perhaps the issue has to do with the permissions of Automator? Check what permissions it has in the Privacy section of System Preferences.

Weird. All steps are working perfectly if I set $f to Example.tif.
convert -version returns also the current and correct version.
Must be something with the permissions... I can't find anything. Even after add the Automator to "Full Disk Access" nothing changed...

Even the "Convert to tiff" workflow is working perfect. So it can't be anything with the access permissions...

Got it! I changed the first line in your script.
Previously it was export PATH="/usr/local/bin:$PATH"
I changed it to source ~/.zshrc
I'm unsure why I needed this on my system, because in my zsh config I also exported the $PATH to /usr/local/bin.
But now everything is working.
For everyone else, you can edit the workflow by right click it and say "open with automator" -> edit -> safe -> double click on it -> run in from finder in your file. ✅

Can you do me a favor and see if the workflow works for you if it starts like this?
source ~/.zshrc
export PATH="/usr/local/bin:$PATH"

So that it includes both source and export at the beginning.
Another user hasn't been able to get it to work without using source, but on my system it doesn't work without using export, so I'm trying to include both, on my systems the above combination works, but I want to make sure it also works for people who's systems requires source to be included.
Thanks!

works (also directly from your new release). Thank you!


Can't use to open the external link

Hello i am try to open a link using this package and i am facing this issue when i run your example code.
i am using the latest flutter version
need help

Hi! Please, show your error logs

No further information

@glin94 hi sorry for the delay the issue is fixed as it was to do with Apple Account setup,
thank you.


Fix refund_bridge_transfer so only the bridge can successfully call it

Describe the bug

Currently refund_bridge_transfer has no access control.

Expected behavior

There should be an assertion to check that the bridge signer is the caller.

Additional context

I'm not sure whether the bridge signer should be a separate address besides the origin account used in deploying the module. What do you think @0xmovses @0xPrimata ?

Let's go with the current pattern laid out here:
https://github.com/movementlabsxyz/movement/blob/33ceb339ad9b6afffcae34b4cb2936056[…]its/bridge/move-modules/sources/atomic_bridge_counterparty.move
https://github.com/movementlabsxyz/movement/blob/33ceb339ad9b6afffcae34b4cb2936056[…]rotocol-units/bridge/contracts/src/AtomicBridgeCounterparty.sol


Adding handle for missing unique field key in AdoFields

Summary of the Pull Request
What is this about?
PR Checklist

[ ] Applies to work item: #2984
[ ] CLA signed. If not, go over here and sign the CLI.
[ ] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Info on Pull Request
What does this include?
Resolving bug #2984 by adding exception handling.
Validation Steps Performed
How does someone test & validate?

Codecov Report

Merging #2986 (61148d0) into main (f19a0e8) will decrease coverage by 0.12%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #2986      +/-   ##
==========================================
- Coverage   29.02%   28.91%   -0.12%
==========================================
  Files         304      125     -179
  Lines       36293    13649   -22644
==========================================
- Hits        10534     3946    -6588
+ Misses      25759     9703   -16056

Impacted Files
Coverage Δ

...Service/ApiService/onefuzzlib/notifications/Ado.cs
0.00% <0.00%> (ø)

... and 179 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Fixup to #8: handle relative paths

One thing I thought: please also add a link to this documentation once available in the README.md and the main crate docs.


features forward incoming data, maintenance

Hi,
I would like to ask for new following features.
new role maintenance for users.
this user is allowed to change only maintenance section in vehicle (he is able to also to read a actual vehicles position).
forwarding original incoming data
It could be usefull to define forwarding original incoming data. Every incoming data will be also send to defined server (every traccar port will be sended to other traccar server). If the new release will be available, I’ll be able to test that before I’ll upgrade traccar to new version without a data losing.

What's the maintenance section in vehicle?
As for forwarding data, I'm sure there are some third party tools that can duplicate and forward TCP and UDP messages. I don't think it's necessary to implement it directly in the Traccar server.

As for forwarding data. It is impossible. TCP is statefull protocol. User end computer is involved in every step of connection and it will never answer to two separate servers trying to communicate to it.

@rozikj
It depend of layer where tool works. It can service three correct TCP connection, device<->proxy, proxy<->server1 and proxy<->server2 and duplicate only content. The only thing is server ACK replies. But one server can be master and second replies can be ignored.
https://github.com/chrislusf/teeproxy
https://github.com/agnoster/duplicator
https://en.wikipedia.org/wiki/HAProxy

@rozikj, it is definitely possible. I think you are misunderstanding something.

sorry, my ignorance. But I think to have included forwards feature directly could be very helpful.

If you describe your business case for it, and some other people request it as well, we can consider it.


Robot tool powercell

About the PR

Adds a special robot/borg battery cell (PowerCellRobotTool) that inherit from PowerMediumCell with a recharge rate of 4.
Changes every robot tools that require cell to use the PowerCellRobotTool (Health Analyser, Crew Monitor)
Add special robot version of the Engineering Holographic Projector.
Make every robot tool inherit from their original tool to avoid future issues, thanks past me for not doing that

Technically fixes the medical robot health analyser sprite being bugged.

Changelog

:cl:

fix: Fixed robots holoprojector running out of charges.

The test failure is valid. Check under ReverseEngineeringTest.cs for how I fixed this for the regular HandheldCrewMonitor.

Tests can be run locally.

My laziness is beyond human understanding but yeah I should probably do that

dotnet test -e COMPlus_gcServer=1


tsv reader update

Following the tutorial here:  https://docs.vespa.ai/documentation/tutorials/text-search.html, after running ./bin/download-msmarco.sh, this extra step was needed for processing the full msmarco dataset.
I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

@thigm85 ping


Mesos is broken

Describe the bug
On current master (), pkgs.mesos is broken
To Reproduce
Steps to reproduce the behavior:
$ nix-build -A pkgs.mesos
these derivations will be built:
  /nix/store/nyqrb94vdl8zvhhfcjwhpay06l6g1pb6-mesos-1.4.1.drv
building '/nix/store/nyqrb94vdl8zvhhfcjwhpay06l6g1pb6-mesos-1.4.1.drv'...
# ...
checking google/protobuf/message.h usability... yes
checking google/protobuf/message.h presence... yes
checking for google/protobuf/message.h... yes
checking for /nix/store/17sj1baw89qa0d3324fx6am5jwq90cqg-mesos-maven-deps/com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.jar... yes
checking for protoc... protoc
checking python2 module: google.protobuf... no
configure: error: failed to find required module google.protobuf
builder for '/nix/store/nyqrb94vdl8zvhhfcjwhpay06l6g1pb6-mesos-1.4.1.drv' failed with exit code 1
error: build of '/nix/store/nyqrb94vdl8zvhhfcjwhpay06l6g1pb6-mesos-1.4.1.drv' failed

Expected behavior
the package should build
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.4.1, NixOS, 19.09.1687.c5d5561f772 (Loris)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3`
 - channels(tfc): `"home-manager-19.09, nur-pkgs"`
 - channels(flo): `"home-manager-19.09"`
 - channels(root): `"nixos-19.09.1687.c5d5561f772, nixos-unstable-20.03pre203904.bb1013511e1"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

cc @cstrahan @kevincox @offlinehacker @rushmorem

cc @jpgu-epam

Mesos 1.4.1 is from 15 Nov 2017
There are a lot of newer versions

Hi, this issue is blocking me to install apache spark on nixos 20.03
nix-env -iA nixos.spark

reports:
builder for '/nix/store/0vmfh847hyv1lilfbm0vy3l724jckx5f-mesos-1.4.1.drv' failed with exit code 1
cannot build derivation '/nix/store/57sm5l5j5ffbnkh088vf15k3l96i8bfz-spark-2.4.4.drv': 1 dependencies couldn't be built
error: build of '/nix/store/57sm5l5j5ffbnkh088vf15k3l96i8bfz-spark-2.4.4.drv' failed

I think, python 3 is a blocker and mesos supports it starting with version 1.7.0. I think is useless to patch mesos below 1.7.0 to support it somehow, so the most obvious thing is to bump mesos version at least up to 1.7.2

I opened a cleanup PR removing the broken packages (and tests), and also disabling mesos support for spark:
https://github.com/NixOS/nixpkgs/pull/95507
With this PR, spark builds for me at least.


How to batch processing with BoudingBoxes (also sequential option possible?)

Not sure what you mean with the question. There is a documentation page about BB augmentation, see https://imgaug.readthedocs.io/en/latest/source/examples_bounding_boxes.html . There is also a jupyter example notebook at https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/B02 - Augment Bounding Boxes.ipynb . Maybe these help?

No this is not exactly what I mean.
In notebook at https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/A01%20-%20Load%20and%20Augment%20an%20Image.ipynb, you process multiple images (images = [image, image, image, image]) with iaa.Sequential.
But how can I process the bounding boxes of these (multiple) images? like is done in the notebook https://nbviewer.jupyter.org/github/aleju/imgaug-doc/blob/master/notebooks/B02%20-%20Augment%20Bounding%20Boxes.ipynb, but with multiple bounding boxes, with multiple images? Since that notebook provides only example for one BoundingBoxesOnImage.
Would that look in dummy code like this:
`
images = [image0, image1, image2]
bbss = [BoundingBoxesOnImage(), BoundingBoxesOnImage(), BoundingBoxesOnImage()]
image_aug, bbs_aug = seq(image=image, bounding_boxes=bbss)
`
Would that be possible? Or what are the other options?

Yes, if you have a batch of N images and N lists of bounding boxes, you can convert each BB-list to a BoundingBoxesOnImage instance and call images_aug, bbsoi_aug = seq(images=<image list>, bounding_boxes=<BBsOI list>).
You can also provide the bounding boxes as a list of list of BoundingBox (i.e. one BB-list per image) or a list of (N, 4) numpy arrays (one BBs-array per image) or a list of list of (4,) numpy arrays (one list per image and one array per BB), it's not strictly required to go through BoundingBoxesOnImage or BoundingBox.


feat(report): report each scenario's originating XSpec file URI

oXygen plugin uses a patched version of XSpec to generate a report XML like this:
<x:scenario source="file:/.../escape-for-regex.xspec">

To help such requirement by default, this pull request

resolves the originating .xspec file URI of each x:scenario
writes the resolved URI in the report XML

similar to @source above, but under a different attribute name, @xspec, for consistency with x:description/@xspec

The reported URI takes x:import and the Schematron preprocessing into account:

Monolithic (no x:import): XSLT, XQuery, Schematron
Modular (x:import): XSLT, XQuery, Schematron

As demonstrated by test/end-to-end/, this doesn't change the documented behavior. Merging this.

@xspec/oxygen-xml-editor-xspec-support
In the next version of XSpec, the originating .xspec file URI will be available by default in the report XML.


Ensure specification validation checks relations are of expected type (to-one or to-many)

RE: this issue:
https://github.com/cloudcreativity/laravel-json-api/issues/335
We need to ensure that the specification validator rejects a document that has the wrong type of relation - e.g. submitting a to-many for a to-one, and vice versa.
The spec validator now has access to this information via the schema classes.
I suspect I've already implemented this, but just need to double-check that it is implemented and tested before closing this issue!

The spec library is rejecting a to-one for a to-many relation, and vice versa, but the message isn't great. For to-one it says the data member should be an object; for a to-many it says the member should be an array.
Would be an improvement if it rejected saying: The member author must be a to-one relation. and The member tags must be a to-many relation.

Will be released in the spec package 1.0.0-alpha.3


(bug) Invalid query was not detected by linter nor evaluation

Observed behaviour
I created a rule, with several targeting queries and variations.
Query: (param eq "someValue or param eq "someValue2" or param eq "someValue3") and secondParam eq "someOtherValue"
I had a missing " which was not detected by linter.
Afterwards, I expected that when evaluation occur it'll return an error for failing to evaluate, but it's just skipped the evaluation of this specific query, and returned the default.
Expected Behavior
I expected the following behavior:

The linter should've fail the validation process because there was a missing "
Because there was an invalid query, it should've return an error, and possibly the default value - but there is a need for some sort of indication for issue.

Steps to reproduce
I created a few go tests the simulate the problem.
The attached .yaml file is passing the linter verification.
feature_flag_reproduce.zip

Hello @AfikAtashga and thanks for opening this issue.
As of Today the only validation made by the linter is that we have a non empty string, which I know is not enough.
The rule engine is based on nikunjy/rules and as of Today there is no real way to validate the rules.
I have open an issue to know if there is a better way to validate but for now I got no answer to it.
That being said, I think I can add the initial validation but it won't help with your problem.
When it comes to error, here we are using the defaultRule as default value.

I've added a basic check in the version v1.40.0, it will not solve your issue but as soon as the rule library has more checks it will works directly after the upgrade.


Pricing stream

support for streaming prices endpoint added
client modifications to support both streaming endpoints and regular endpoint
example added
tests modified due to changes in client code regarding the environment

Coverage remained the same at 100.0% when pulling 8d6fd66d2f28293497bfa5f67174d519adeeaf12 on pricing-stream into<PHONE_NUMBER>d04f1be8d6fe157e66c1f2a6087093 on master.


Educational License Request

uscga.txt

@ggeddy file/lib/domains/edu/uscga.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@ggeddy Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


video generate in the cucumber framework

Is your feature request related to a problem? Please describe.

I am using cucumber framework but onTestEnd is not executed inside code. So video generate is impossible.

( wdio-video-reporter/dist/wdio-video-reporter.mjs )
    onTestEnd(test) {
        console.log(`onTestEnd`)
        if (!__classPrivateFieldGet(this, _VideoReporter_record, "f")) {
            return;
        }
        this.clearScreenshotInterval();
        if (this.options.filenamePrefixSource === 'test' || this.isCucumberFramework) {
            this.testNameStructure.pop();
        }
        __classPrivateFieldGet(this, _VideoReporter_instances, "m", _VideoReporter_extendAllureReport).call(this);
        if (test.state === 'failed' || (test.state === 'passed' && this.options.saveAllVideos)) {
            this.addFrame();
            this.generateVideo();
        }
    }

Describe the solution you'd like

Please allow us to generate videos in the cucumber framework.
cucumber framework hooks

before
after
beforeScenario
afterScenario
beforeStep
afterStep

Thanks for raising the issue @jay368 , any contributions would be much appreciated!


Assertion error when connecting to Websocket

First Check

[X] I added a very descriptive title here.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
import os
from fastapi import FastAPI, WebSocket
from fastapi.staticfiles import StaticFiles

app = FastAPI()
curr_dir = os.path.dirname(os.path.abspath(__file__))
app.mount("/", StaticFiles(directory=os.path.join(curr_dir, 'folder'), html=True), name="/")

@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
    await websocket.accept()
    while True:
        data = await websocket.receive_text()
        await websocket.send_text(f"Message text was: {data}")

Description
Probably a config error. I am trying to serve a static directory which also contains an index.html. The index.html includes a JS to connect to a WS. I used code from the docs. Although the scenario is super simple, I get:
(venv)  uvicorn foo:app --reload
INFO:     Will watch for changes in these directories: ['/Users/martinturoci/go/src/github.com/h2oai/telesync/py/h2o_wavelite/examples']
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [29798] using StatReload
INFO:     Started server process [29802]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     <IP_ADDRESS>:57550 - "GET /index.html HTTP/1.1" 304 Not Modified
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 238, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/fastapi/applications.py", line 270, in __call__
    await super().__call__(scope, receive, send)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/starlette/applications.py", line 124, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/starlette/middleware/errors.py", line 149, in __call__
    await self.app(scope, receive, send)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
    raise exc
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
    raise e
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/starlette/routing.py", line 706, in __call__
    await route.handle(scope, receive, send)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/starlette/routing.py", line 443, in handle
    await self.app(scope, receive, send)
  File "/Users/martinturoci/go/src/github.com/h2oai/telesync/py/venv/lib/python3.9/site-packages/starlette/staticfiles.py", line 94, in __call__
    assert scope["type"] == "http"
AssertionError
INFO:     connection open
INFO:     connection closed

Folder structure:
foo.py contains the code referenced above. A directory named folder next to the foo.py, containing index.html.
Index.html contents
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Foo</title>

WebSocket Chat

  <form action="" onsubmit="sendMessage(event)">
    <input type="text" id="messageText" autocomplete="off" />
    <button>Send</button>
  </form>

Possibly related to https://github.com/elastic/apm-agent-python/issues/1186
Operating System
macOS
Operating System Details
No response
FastAPI Version
0.89.1
Python Version
Python 3.9.13
Additional Context
No response

You should mount the statistic file after the function websocket_endpoint. The router matches '/' when you send the websocket

Thanks @yinziyan1206. This indeed resolved the issue, just wondering if the registration order should matter. Is this a common practice when developing APIs?

https://fastapi.tiangolo.com/tutorial/path-params/?h=order+matters#order-matters

Thanks @Kludex!


API Review: JSRuntime

Rename JSRuntimeBase -> JSRuntime
Rename JSInProcessRuntimeBase -> JSInProcessRuntime
Rename DotNetObjectRef -> DotNetObjectReference
Update JSRuntime to return ValueTask
Make InvokeAsync APIs that explicitly cancels and API that default cancels more crisp
Introduce void invoking APIs
Fixup method names on DotNetDispatcher

Ping

@aspnet-hello triage https://dev.azure.com/dnceng/public/_build/results?buildId=307790&view=logs&jobId=a78c0bd7-f06e-5405-6e8c-ac2c8961a100

This comment was made automatically. If there is a problem contact<EMAIL_ADDRESS>I've triaged the above build. I've created/commented on the following issue(s)
https://github.com/aspnet/AspNetCore-Internal/issues/2866


Support active parameters at the per-signature level

No functionality change. This also pulls in a few other protocol changes that we don't use and updates crates.

bors r+


Linter panel feedback

I have a new "linter" panel, just wanted to share my feedback:

The panel should also be in the "view" top menu, to show/hide them I'm my layout when I want. Now it just appear.
The unused import/variables warnings are really nice/helpful in general!
The unused import doesn't work when you have conditional compilation #if macro
In macro code, I get fairly random errors, I think it doesn't understand this context at all.
I also have projects where variables are generated by macros, It doesn't seem to understand that. Are compiler services used for this?
The results are send to both output and the linter panel. Maybe the linter panel is enough?
The errors/warnings don't go away after I save/resolve them. While I have my setting for this turned on.
The errors are empty, see screenshot

I use dev build  https://github.com/fdorg/flashdevelop/commit/0709ecbc3816c0c5b34886a2188f25c1f08a0444

Thanks for your feedback!

Yeah, this is in progress.
Thanks again!
The information is coming from the Haxe compiler service... so I'm afraid this is related to them...
The same as 3 I guess.
Same as 3 again.
This was done on purpose to follow the same behavior as compiler output, find references, refactor, etc, but it could be changed if more people are against it.
They should go away after you save, if they don't then there may be an error here.
@chipshort ?

In that case, it would be nice if there was an option to ignore the errors/warnings (from the settings). Now you can hide them by deselecting the icon in the panel, but it still logs to output panel.

Okay, so here is what I think:
3. I could imagine this being a problem with the way we call the compiler service, since we specify the target, but I'm not completely sure.
For 8. It seems like there are more diagnostics types than I know of. At the moment, only unused variable and unused import are implemented. I recently found out there is one for cases in a switch that will never match, but there does not seem to be any documentation for any of them.
I guess, for now, I will make sure unsupported results are not shown.

@markknol Could you try the build for PR #1627?
https://ci.appveyor.com/api/buildjobs/yf46b9shf9wipe6f/artifacts/FlashDevelop%2FInstaller%2FBinary%2FFlashDevelopPR_1627.zip

Yep will try tomorrow! Any specific stuff I need to look into?

I'm curious if 8 is improved for you now.

Yes, 8 and also 7 should be fixed now.

@Neverbirth this can be closed now?

I tested the PR and could also see it was reporting in a more proper way, but I prefer to keep it open until @markknol gets to reply. There is also point 6 that I don't know what others' opinion is.

8 It seems improved, the errors now have messages.
7. Doesn't seem to be resolved, the error stays after resolve + saving:

7 should be solved in #1631

@Neverbirth 6 would require rewriting TraceManager and separating output logs and results logs.
I think that would be worth a new separate issue to be created.

OK, I'm closing down this one, if 6 is considered really important or some other issues or suggestions are found create new tickets. Thanks everyone!

Thanks for all these improvements and feedback!


Can't run binary on Raspberry Pi 4

I'm trying to run the binary on my Raspberry Pi 4, but get the following error: cannot execute binary file: Exec format error (when running ./cook).
lsb_release -a gives the following output:
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

uname -a gives the following output:
Linux <NAME> 5.4.0-1095-raspi #106-Ubuntu SMP PREEMPT Fri Sep 15 09:09:18 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

dpkg-architecture --list gives the following output:
DEB_BUILD_ARCH=arm64
DEB_BUILD_ARCH_ABI=base
DEB_BUILD_ARCH_BITS=64
DEB_BUILD_ARCH_CPU=arm64
DEB_BUILD_ARCH_ENDIAN=little
DEB_BUILD_ARCH_LIBC=gnu
DEB_BUILD_ARCH_OS=linux
DEB_BUILD_GNU_CPU=aarch64
DEB_BUILD_GNU_SYSTEM=linux-gnu
DEB_BUILD_GNU_TYPE=aarch64-linux-gnu
DEB_BUILD_MULTIARCH=aarch64-linux-gnu
DEB_HOST_ARCH=arm64
DEB_HOST_ARCH_ABI=base
DEB_HOST_ARCH_BITS=64
DEB_HOST_ARCH_CPU=arm64
DEB_HOST_ARCH_ENDIAN=little
DEB_HOST_ARCH_LIBC=gnu
DEB_HOST_ARCH_OS=linux
DEB_HOST_GNU_CPU=aarch64
DEB_HOST_GNU_SYSTEM=linux-gnu
DEB_HOST_GNU_TYPE=aarch64-linux-gnu
DEB_HOST_MULTIARCH=aarch64-linux-gnu
DEB_TARGET_ARCH=arm64
DEB_TARGET_ARCH_ABI=base
DEB_TARGET_ARCH_BITS=64
DEB_TARGET_ARCH_CPU=arm64
DEB_TARGET_ARCH_ENDIAN=little
DEB_TARGET_ARCH_LIBC=gnu
DEB_TARGET_ARCH_OS=linux
DEB_TARGET_GNU_CPU=aarch64
DEB_TARGET_GNU_SYSTEM=linux-gnu
DEB_TARGET_GNU_TYPE=aarch64-linux-gnu
DEB_TARGET_MULTIARCH=aarch64-linux-gnu

So I'm pretty certain I'm running an arm64 compatible system. What am I missing? I've tried all possible versions for v0.1.6 and v0.1.5.

@leonbeon thanks for report. let me have a look.

@leonbeon I migrated CLI to rust and now we have aarch64 version. You can download it from the releases.


module '~page' is not found when i run build script

It works on development mode. But when i run build script, got this:
error TS2307: Cannot find module '~pages' or its corresponding type declarations.

2 import routes from '~pages'

and, in vscode, has the same hint

We temporarily close this due to the lack of enough information. Please provide a minimal reproduction to reopen the issue. Thanks.
https://antfu.me/posts/why-reproductions-are-required


[Docs] Craft an official description of the three core concepts of OC

What product(s) is this documentation issue for?
OpenChallenges
Documentation issue

[ ] Reporting a typo
[ ] Reporting a documentation bug
[ ] Documentation improvement
[ ] Documentation feedback

Description
The three core concepts are introduced as metrics on the top of the home page. They are:

challenge
organizations & hosting societies
challenge platforms

Discussions with stakeholders revealed that it was not always clear whether an "entity" was a platform and/or an organization.
The goal of this ticket is to craft descriptions for these three concepts. The description could be use as tooltips in the web app or printed on one of the pages.
Is there a specific documentation page you are reporting?
No response
Anything else?
No response
Code of Conduct

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

Tentatively assigning this task to @gaiaandreoletti to start with a fresh pair of eyes.

pasting here the core concepts description:
Glossary
Challenge: a call to take part in a contest or competition. Challenges are typically built on large and complex data sets, focused on scientifically impactful and timely research questions. They result in a set of solutions to the given problem, originating from groups and researchers all over the world.
Benchmark: systematic assessment of the performance of a variety of methods for a given task normally based on defined case studies and metrics.
Platform: any hardware or software used to host an application or service. (e.g. synapse, Drupal, etc.)
Organization: describe a research modality where diverse and independent researchers come together to focus on one or more limited sets of tasks.

@tschaffter @vpchung  @rrchai
Some feedback during lunch post OC talk:

having the sage logo also in the Team page. It should be more prominent to recognize the effort Sage put.
Having benchmarking not only challenges in the portal so I suggest reframing the text as

"OpenChallenges (OC) is a centralized hub for biomedical challenges and more, offering a benchmarking system that empowers participants with the most up-to-date information about relevant challenges, while providing organizers with standardized challenge event templates and intelligence."

[ ] Meet our team page is outdated

Meet our team page is outdated

This issue is tracked in #2197

OpenChallenges (OC) is a centralized hub for biomedical challenges and more, offering a benchmarking system that empowers participants with the most up-to-date information about relevant challenges, while providing organizers with standardized challenge event templates and intelligence.

I think that the term "benchmarking system" may confuse the user by making them think that OC is a challenge/benchmarking platform, which OC is not.

@gaiaandreoletti Please add the descriptions from https://github.com/Sage-Bionetworks/sage-monorepo/issues/2171#issuecomment-1741235093 to a Google doc before inviting the OC team member to make suggestions.
Here is some feedback:

Challenge: this description resonates with me. Maybe mention the terms "task" and "leaderboard" as an attempt to further standardize our vocabulary. Consider mentioning that a challenge is usually active for a fixed duration.
Platform: we need a more tailored description. A platform could be described as a service that enable the organization of challenges. Potentially include the list of actions that platforms support, such as participant registration, evaluation of submitted methods, leaderboard generation, communication tools, etc.
Organization: An organization in OC means https://en.wikipedia.org/wiki/Organization. The description could be "an entity such as a company, an institution, or an association comprising one or more people and having a particular purpose". Maybe the description could establish the relationship between an org and challenges, e.g. referring to orgs that contribute to a challenge as a member of its organizing committee or as a participating member (OC does not yet capture orgs that participated to challenges as participant).

@gaiaandreoletti I think that you created the Google doc but can't find it. Can you share the link to this thread?

@tschaffter here it is! https://docs.google.com/document/d/1T0DStWW06X9VOHZ7fUElaOmJKIKAsDYy_J5JZi1K8IA/edit?usp=sharing

@tschaffter updated link: https://docs.google.com/document/d/1XVfn3vGw3OsuATfhQVO281aV65wh0PI6/edit?usp=drive_link&ouid=106220044830802031009&rtpof=true&sd=true
move it to the OpenChallenges shared folder

I created a native Google Docs here (instead of a Word doc)

Added to Sprint 23.11

I'm going to time box this issue and close it. The existing descriptions are available in OpenChallenges Glossary. More feedback would be required to use them in the app. Meanwhile, they already clarify for us what a challenge platform is.


[Issue] Can't Train Object Detection Custom Vision Model if Images are less than 15 for each tag

Module: 18
Lab/Demo: 18
Task: Train and test a model
Step: Train
Description of issue
If we train model with less than 15 image per tag it gives below error

I am using all the images provided in the lab
May be Azure have changed few things in the quick training section

interesting, might be a product update. I'll investigate


slang-repro.cpp:LoadContext is leaking memory

The m_sourceFileMap, m_fileToPathInfoMap and m_pathInfoMap dictionaries are not owning the lifetime of its values (Value types are raw pointers instead of RefPtrs), and because of it this class is leaking memory.
Memory leak can be detected by running the tests/compute/dump-repro.slang test (need to enable DLL CRT to detect this).

There are a few  legitimate problems. The most tricky to fix is that the CacheFileSystem::PathInfo ownership, is based on unique identities, and that the repro system (and to a lesser extent the ISlangFileSystem) for historical reasons treats unique identities as something that applies to 'files'. This is unfortunate because the unique identities can be for files or directories. The serialized repro format doesn't make this distinction - making a straightforward fix not so simple.
That there are plans to replace repro storage with zip and json manifest. Also fortunately the repro system is not used as part of compilation in general. So seems best to fix as part of that refector.
Also perhaps worth noting that I do not see any memory leaks when running dump-repro.slang. I'm on VS2017.

I just run it with 2017 projects and can reproduce the leaks. Need to enable dll crt by uncommenting premake5.lua line 265.

Unfortunately I can't just enable dll crt for debug builds because Team City is having issues with static crt builds.


[usecase] Autoamtion BrowserState and Notifications sample app

Failure Analyse: WIFI opeation do not work well, more detail info:https://crosswalk-project.org/jira/browse/XWALK-4881
Impacted TCs num(approved): New 0, Update 1, Delete 0
Unit test Platform: Crosswalk Project for Android 15.44.374
Unit test result summary: Pass 0, Fail 1, Blocked 0

Please update the summary, you updated two tests.

Why is there a fail one while you just update 2 tests?

LGTM


Show AlwaysOn disabled warning for CRON triggered jobs as well

See SO post here: http://stackoverflow.com/questions/41187818/cron-scheduled-webjob-abruptly-quit-being-called/41201892#41201892
We have logic here in the continuous job runner to ensure that AlwaysOn is enabled. However, we don't have this currently for the TriggeredJobRunner, which is used for CRON jobs.
We should do this same check for cron jobs as well, since AlwaysOn is required for them as well.

This caught us today. Please fix.


[Feature Request] Add RulerPF2e to CONFIG.PF2E

Would it be possible to add the RulerPF2e class to CONFIG.PF2E. Right now the only way to access the class itself is via CONFIG.Canvas.rulerClass but that is only if there are no module conflicts. You could add it under CONFIG.PF2E.Canvas.rulerClass which is similiar to how it's done for CONFIG.PF2E.JournalEntry.sheetClass.

It's available at load. Grab it!

It's available at load. Grab it!

What is available at load? RulerPF2e isn't available in the global scope.

What are you trying to solve specifically? It looks like you're trying to get around something in particular. Some other module misbehaving?


add 0-moment microphysics parameters

This adds parameters needed for the GCM precipitation removal scheme (aka the 0-moment microphysics).
@charleskawczynski - it would be great to bump the version number after this is merged.

bors r+

it would be great to bump the version number after this is merged.

Will do tomorrow. Please bug me if I don’t!

it would be great to bump the version number after this is merged.

Will do tomorrow. Please bug me if I don’t!

Ok - thanks!


-no-color fails in Terraspace 2.2.15 with opentofu 1.6

Checklist

[X] Upgrade Terraspace: Are you using the latest version of Terraspace? This allows Terraspace to fix issues fast. There's an Upgrading Guide: https://terraspace.cloud/docs/misc/upgrading/
[X] Reproducibility: Are you reporting a bug others will be able to reproduce and not asking a question. If you're unsure or want to ask a question, do so on https://community.boltops.com
[X] Code sample: Have you put together a code sample to reproduce the issue and make it available?  Code samples help speed up fixes dramatically. If it's an easily reproducible issue, then code samples are not needed. If you're unsure, please include a code sample.

My Environment

Software
Version

Operating System
Ubuntu

Opentofu
1.6

Terraspace
2.2.15

Ruby
3.1

Expected Behaviour
The plan should be written to a file, and output should not have color

Current Behavior
There is an error indicating terraform isn't available, even though this is a system with opentofu 1.6.  It seems something about the -no-color option is forcing terraform instead of tofu to be used.

Step-by-step reproduction instructions

Run a plan with -no-color -out tfplan on a system with terraform
Run the same plan on a system with opentofu

Code Sample
terraspace plan dashboards -no-color -out tfplan
Building .terraspace-cache~us-east-1/dev/stacks/dashboards
Exception Errno::ENOENT: No such file or directory - terraform
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:117:in ``'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:117:in `terraform_help'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:84:in `terraform_arg_types_for_command'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:64:in `terraform_arg_types'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:41:in `block in reconstruct_hash_args'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:40:in `each'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:40:in `reconstruct_hash_args'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:26:in `pass_args'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/args/pass.rb:13:in `args'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/runner.rb:22:in `args'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/runner.rb:15:in `block in run'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/runner.rb:97:in `time_took'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/terraform/runner.rb:14:in `run'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli/init.rb:23:in `block in init'
/usr/local/lib/ruby/3.1.0/timeout.rb:107:in `block in timeout'
/usr/local/lib/ruby/3.1.0/timeout.rb:36:in `block in catch'
/usr/local/lib/ruby/3.1.0/timeout.rb:36:in `catch'
/usr/local/lib/ruby/3.1.0/timeout.rb:36:in `catch'
/usr/local/lib/ruby/3.1.0/timeout.rb:123:in `timeout'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli/init.rb:22:in `init'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli/init.rb:12:in `run'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli/commander.rb:10:in `run'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli/plan.rb:43:in `plan_only'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli/plan.rb:17:in `perform'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli/plan.rb:11:in `run'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli.rb:165:in `plan'
/usr/local/bundle/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/usr/local/bundle/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/bundle/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/command.rb:76:in `dispatch'
/usr/local/bundle/gems/thor-1.2.2/lib/thor/base.rb:485:in `start'
/usr/local/bundle/gems/terraspace-2.2.15/lib/terraspace/cli/concern.rb:65:in `start'
/usr/local/bundle/gems/terraspace-2.2.15/exe/terraspace:7:in `<top (required)>'
/usr/local/bundle/bin/terraspace:25:in `load'
/usr/local/bundle/bin/terraspace:25:in `<main>'

Without -no-color:
terraspace plan dashboards -out dashboards.plan

Building .terraspace-cache~us-east-1/dev/stacks/dashboards
Current directory: .terraspace-cache~us-east-1/dev/stacks/dashboards
=> tofu init -get -input=false >> /tmp/terraspace/log/init/dashboards.log
=> tofu plan -input=false -out dashboards.plan
Acquiring state lock. This may take a few moments...
<redacted>

OpenTofu used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:

Works fine with terraform, doesn't work with opentofu
Solution Suggestion

If it's relevant, it seems when using outputs between stacks, state is also failing to pull because it's using terraform state pull

I've got a PR in-progress for this and #338.  Getting it approved now by my company just so I can get credit for contributing to open source :-)


Make UnpooledDirectByteBuf, UnpooledHeapByteBuf and UnpooledUnsafeDir…

…ectByteBuf constructors public.
Motivation:
The constrcutors a protected atm but the classes are public. We should make the constructors public as well to make it easier to write your own ByteBufAllocator.
Modifications:
Change constructors to be public and add some javadocs.
Result:
Easier to create own ByteBufAllocator.

@Scottmitch WDYT ? Should we do this or not ... The downside that I can think of is that it may confuse users in a way that they think they should use these directly while this is only true if you write your own allocator.

I think this makes sense. We could add some additional comments on the constructor if you think that is useful. Typically these objects are only constructed via ByteBufAllocator...

I think it is fine as it is and it is also fine in terms of binary compatibility:
https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.4.7

Cherry-picked into 4.1 (9d56439aa1c221d38ee3b526c63d268c2e6f16c7) and 4.0 (671ea0ad9a)


Re-test enzyme

Checklist

[ ] Appropriate tests were added
[ ] Any code changes were done in a way that does not break public API
[ ] All documentation related to code changes were updated
[ ] The new code follows the
contributor guidelines, in particular the SciML Style Guide and
COLPRAC.
[ ] Any new documentation only uses public API

Additional context
Add any other context about the problem here.

https://github.com/SciML/OptimizationBase.jl/actions/runs/9276344283/job/25523222868?pr=53#step:6:1044

@Vaibhavdixit02  can you open an issue with a MWE of the error. I'll try to get it quickly thereafter.

@Vaibhavdixit02 @ChrisRackauckas please do not drop the Enzyme extension in favor of DI here.
This will lead to both more codes erring and suboptimal performance as DI will create both unnecessary closures among other issues. I would prefer for user code not to be made to break because of an unnecessary interface intermediate
See some comments about this tpapp/LogDensityProblemsAD.jl#29 (review) / tpapp/LogDensityProblemsAD.jl#29 (comment)
Unfortunately when I commented "Closures were one of the reasons imo that AD.jl didn't take off, so long term I think DI.jl would be well served by both not introducing them itself (my understanding is that it does this successfully), but also not forcing users to create the same closures user-side (which would create similar issues)." but the response was "DI is unlikely to support either multiple arguments or activity specification anytime soon"
x/ref https://github.com/gdalle/DifferentiationInterface.jl/issues/307

@Vaibhavdixit02 @ChrisRackauckas do you have a MWE (I didn't see one by chance). I'll try to get it fixed quickly

I literally mentioned this to Chris like 2 hours ago haha, we are on the same page. Would you be able to help review the sparse support here? I started the effort in the previous home for this code https://github.com/SciML/Optimization.jl/pull/688/files I'll revive that

Ref MWE let's see if the latest release still throws the same error first

This is now blocking https://github.com/SciML/SciMLSensitivity.jl/pull/1067

again, happy to help but need a MWE.
In interim just going to be plugging away at mixed activity stuff.

bumping this

I have been trying to recreate but ended up with a duplicated returns not handled error instead of the one on CI here - when running ]test this one does show up so it's kind of tricky to figure out a MWE. The issue happens in out-of-place second hessian of a closure created here https://github.com/SciML/OptimizationBase.jl/blob/581f4f82675f3f0c100dfd15131881c59cbe53bb/ext/OptimizationEnzymeExt.jl#L368-L377 I suspect the f2 is incorrect but have been unable to pin down the exact issue yet (I am still trying)


make run error

Hi, thank you for your graceful project. I tried to run your example by using make run, but I encountered below errors:
Error: Cannot load main class from JAR file:/home/miaoluwen/projects/qihoo360/scala/InfoFlow/target/scala-2.11/infoflow_2.11-1.0.jar
Could you please help me figure out what's the error?

Thank you for the bug. Can you please try on the latest commit on master?


feat: improve route, separate App.js and use lazy route in EntryPage

feat: #1777 #2596
This pr change lots of file, so it still need a full test and strict review, the following are the main changes

use redux to store account data and theme data
separate main content render from App.js and use lazy load to reduce login page size
use splitChunks to split the main.js
separate getCountryCode function from Setting.js to aviod unnecessary import of i18n-iso-countries
use i18next-resources-to-backend to lazy load i18n translation file

with this work, the size of login page successfully reduce to ±950KB

why closed?

@hardywu will split into smaller packages


[FLINK-6722] [table] Activate strict checkstyle

Looks good to me, but maybe @twalthr wants to take a look as well.

+1  We were missing this for a long time.

merging.


Update http4s-blaze-client, ... to 0.21.20

Updates

org.http4s:http4s-blaze-client
org.http4s:http4s-blaze-server
org.http4s:http4s-circe
org.http4s:http4s-dsl

from 0.21.13 to 0.21.20.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-patch

Superseded by #236.


This type predicates for type guards

Closes #5764.
This type predicates are allowed anywhere both a type predicate and a this type are allowed, and additionally are allowed on class and interface members, allowing for this-predicate getters and this-predicate members.

nice :trophy:

Can you add an example where you orphan your type guard method to a function?

@JsonFreeman I realized that the way that @weswigham has implemented this, we could discriminate on generators being finished or not.

@DanielRosenwasser Is that the case? If I understand you correctly, you mean that to check if an iterator/generator is done, you would do
if (iterResult.done) {
    ...
}

Is it possible to use a type predicate on a property declaration? If not, it looks like you'd have to define the done property as a getter. I'm not sure if this is a problem, but it's worth noting. I guess accessors are treated the same as properties, so in theory it might be okay, it just looks weird to define it that way.
The real issue is that a type predicate can only tell you whether this is of a certain type, given its done value. It cannot tell discriminate between two types based on the done value. So would the definition of IteratorResult be something like this (given a type SuspendedType for done: false, and CompletedType for done: true)
{
    value: SuspendedType;
    done: this is { value: CompletedType };
}

Is this the correct definition? I guess this is how you would discriminate between the two types. But if CompletedType is not assignable to SuspendedType, then will the type guard even apply? I think it will still give you SuspendedType.

If I understand you correctly, you mean that to check if an iterator/generator is done, you would do

if (iterResult.done) {
    ...
}

@JsonFreeman yes, that's exactly correct.
@weswigham has allowed these predicate types on properties because it is necessary to support them on getters as well. It is slightly surprising (at least it was for me), but I don't necessarily see anything wrong with it[1]. It's no more than a boolean that is used as an indicator for the type, and that's being encoded into the type.
You might be correct in that weakness though @weswigham can weigh in. We should have some samples on this.
I think the interface we'd end up with is
interface IteratorResult<CompletedType, SuspendedType> {
    value: CompletedType | SuspendedType;
    done: this is { value: CompletedType };
}

[1] There's an issue regarding "orphaning" the property, whereby we don't orphan the type to boolean:
let x = {
    p: this is Whargarbl,
}
let y = x.p; // 'y' has type 'this is Whargarbl'

Oh... why is the type of y in your last example a type predicate? In the initial design of type predicates, they denoted type boolean, and the narrowing semantics did not flow around along with the value. I'm curious why this has changed.
Barring that, I think supporting type predicates on properties is fine.
As for IteratorResult, the type you wrote is technically accurate (more so than mine), but it spoils the element type of an iterator, which is supposed to be SuspendedType in the example. This was one of the major challenges of typing generators, and may have to be revisited if generators become more fully supported in the type system.

Is it spoiled? I think we could still appropriately negate the guard on the union of value and end up with SuspendedType like we would want - not CompletedType | SuspendedType.

That would involve type subtraction semantics. You would have to have way in the type system of seeing { value: CompletedType | SuspendedType }, and then subtracting from it, { value: CompletedType }, and getting the result { value: SuspendedType }. In order to do this, you would need to make a lot of very specific assumptions about the structure of IteratorResult. That might be okay if you check that all these assumptions hold, when you process lib.d.ts. That way you could ensure up front that this type subtraction would be well defined when you needed it. Also, is the expectation that this subtraction would apply in the false branch of a type guard on done, in addition to iteration constructs?

But I believe we actually do "the right thing":
function f(x): x is { p: string } {
    return true;
}

var v: {
    p: string | number;
}

if (f(v)) {
    v.p // 'p' has type 'string'!
}

I mean in the else block.

Ah, that wouldn't be covered unfortunately, and you're right.

Why is a type predicate still effective after a property is orphaned?

Assignable

Why is a type predicate still effective after a property is orphaned?

Because that's the way it just currently works. We were looking into how to shed it properly following an assignment. You can't do it as part of widening because you don't want to "dive in" to the type you're widening.

Why not just have the property be of type boolean to begin with? The type predicate only needs to take effect on a property access type guard. And that can be achieved by fetching the type predicate associated with the property symbol. No types needed.

On this type predicate members:
Technically, it is only "correct" to write a this type guard which checks for subtype assignability of the this type are predicates of the form:
interface I {
  member: this is (this & J);
}
interface J {
  member2: string;
}

as conceivably, only a type containing this object's this type can be a subtype of the this type (This is also the only kind of type guard which does not become vacuously false for certain subclasses). However this isn't want users want - users want to be able to narrow from base classes to sub-classes:
interface I {
  member: this is J
}
interface J extends I {
  member2: string;
}

therefore I propose not checking subtype assignability to the this type of this type guards (however, narrowing will still check if the type if a subtype to actually narrow). This means for certain subclasses a this type guard can be vacuously true or vacuously false (we have the information needed to know which and could model it for reachability checks if we add boolean value types).

@JsonFreeman I've been able to unify all type predicates into predicate types with minimal changes to baselines (our type baseline writer doesn't get widened types, so when it prints out the values of predicate returning functions it now prints the predicate rather than boolean, which is a mostly cosmetic change as far as our baselines are concerned) - the typePredicate field on Signature is no more. At @DanielRosenwasser's request, I've preserved some old behavior regarding the assignability of boolean-returning functions to type-predicate returning functions (ie, they're not assignable) which was likely to change so that allowing this can be saved for a later discussion.

@weswigham Thanks for the update. I have a few thoughts:

In terms of displaying the type, will quick info widen the type to boolean, or will it behave like type writer?
In terms of assignability of boolean-returning functions to type predicate-returning functions, I can see arguments for both, but I agree with @DanielRosenwasser's intuition about keeping it the same for now. It seems they probably should not be assignable, but then again, a boolean is assignable to a type predicate when it's not in return position.
You said "I propose not checking subtype assignability to the this type of this type guards (however, narrowing will still check if the type if a subtype to actually narrow)." What is the difference between the two checks you're referring to, in terms of the source type and target type for each?
This issue of vacuous truth and falsity does not seem unique to this type predicates, or even type predicates. It seems to apply for type guards across the board. I don't think it's a serious issue, but it's probably best to have a consistent policy for all type guards.
The widening approach we discussed seems like it would have a strange effect for function expressions and object literals. Would the following variables have different types?:

var v1: (x: any) => x is T;
var v2 = (x: any): x is T => true; // Does this widen?

var v3: { isT(): this is T; };
var v4 = { isT(): this is T { return true } }; // Does this widen?

It would seems unintuitive to me if v1 and v2 are different, or if v3 and v4 are different.

@JsonFreeman

Since it widens to boolean, in all meaningful situations (assignments, returns), it gets reinterpreted as a boolean.
And so it is, for now.
The check we do on type guards is that the RHS is a subtype of the LHS, meaning, in this case, that the RHS should be a subtype of the polymorphic this type - which is rather constraining, since this could mean that you can't guard from a base type to a sub-type. When narrowing, we check that they type guarded against is a subtype of the specific type being guarded on, and only narrow if this is the case (so you never narrow "across the lattice" as @DanielRosenwasser once put it).
We check, for parameter type guards, that the type of the parameter is a supertype of the type guarded against in the return type, hence why I stated that we should have not perform the equivalent for this guards, as it would be extremely limiting.
v1 and v2 are the same type, since we only widen on assignments/declarations - we never widen when the user has actually specified a predicate as the function's return type. v3 and v4 are both invalid because there is no polymorphic this available at those locations, but even if they were, there would be no widening in this location because, again, we don't widen return types within the signature.

By the way, as @DanielRosenwasser  pointed out, the unification also makes this possible:
interface Array<T> {
  filter<U extends T>(f: (item: T, index: number, array: T[]) => item is U): U[];
}

var x: (string | number)[]

function isString(x: any): x is string {
    return typeof x === "string";
}

var y = x.filter(isString); // y is inferred as string[]

It's awesome.

:+1:

Oh, so when you widen a function, you don't widen its declared return type.
I think my confusion about the "narrow across the lattice" point, is that I don't see the difference between the type being guarded, and the polymorphic this type (once instantiated). Are these in fact two different types?

And I agree that the type argument inference for type predicates is pretty nifty. Though I am not sure that the return type of a generic function at run time can realistically be based on the type predicate of a callback that's passed in.


Change root key

This allows you to change the root key.

This PR contains a regression when manually calling ActiveModel::ArraySerializer outside of a controller. @options[:root] ends up nil. Will fix this.

There also needs to be more test coverage. Namely adding Rails 4.2 gems and renaming the root.

The purpose was to be able to set root to false, but that never happened. Instead, I only brought in the feature of 4.2 and renaming the root.

Changing the root key should work on current master as of 051ec01121543b13bf263ef93573bcea0703c71a, if not please open a new issue.


Output build image error logs to .log file

When an image fails to build logs are outputted to a .log file.

I'm totally okay with this approached, but it's quite a bit more complex than I was anticipating...
Sorry for creating so much extra work. What I was suggesting could have been done with just an extra line (which is why I suggested it) but I think I directed you to much more complicated code than I remembered.
The GitHub action log was made with a file provider because it has text folding incorporated into it. In order to support that feature, we had to make a content provider to handle it.
However, if we just want to open a file in a read-only editor, you can use our openReadOnlyContent util command.
That ends up looking something like
const logSasUrl = nonNullValue((await context.client.runs.getLogSasUrl(context.resourceGroupName, context.registryName, nonNullValue(context.run.runId))).logLink);
const content = (await sendRequestWithTimeout(context, { method: 'GET', url: logSasUrl }, 2500, undefined)).bodyAsText;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
await openReadOnlyContent({ label: context.run.name!, fullId: context.run.id! }, content!, '.log');

Since you already did everything, I'm okay to keep the more complicated approach though!

I'm glad we went with the easier approach 😄


[Typo fix] Replace tau with t

In the autocorrelation section of Chapter 3 for PyMC3, the series x is referred to as x_tau in one spot instead of x_t

makes sense, thanks @ian-whitestone!


Find a way to avoid unexpected switching from yson bindings to python impl

After update to ytsaurus-client==0.13.8 I have just missed this warning:
Warning! Failed to import YSON bindings: cannot import name 'dump_parquete' from 'yt_yson_bindings'

Luckily, I had a regular process that eventually crashed and I noticed it, here is the backtrace example:
    return client_api.write_table(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/table_commands.py", line 234, in write_table
    make_write_request(
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/heavy_commands.py", line 202, in make_write_request
    for chunk in stream.into_chunks(chunk_size).split_chunks(2 * MB):
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/stream.py", line 130, in __next__
    item = next(self._iter)
           ^^^^^^^^^^^^^^^^
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/stream.py", line 48, in _split_chunks_by_max_size
    for chunk in stream:
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/stream.py", line 130, in __next__
    item = next(self._iter)
           ^^^^^^^^^^^^^^^^
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/stream.py", line 85, in _merge_items_into_chunks
    for item in items:
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/stream.py", line 31, in _stream_or_empty_bytes
    for line in stream:
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/stream.py", line 130, in __next__
    item = next(self._iter)
           ^^^^^^^^^^^^^^^^
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/table_helpers.py", line 78, in <genexpr>
    stream = (format.dumps_row(row) for row in stream)
              ^^^^^^^^^^^^^^^^^^^^^
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/format.py", line 320, in dumps_row
    self.dump_row(row, stream)
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/format.py", line 306, in dump_row
    self._dump_row(row, stream)
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/format.py", line 750, in _dump_row
    self._check_bindings()
  File "/home/echunaev/.local/lib/python3.11/site-packages/yt/wrapper/format.py", line 718, in _check_bindings
    raise YtFormatError('YSON bindings required. Try to use other format or install bindings. '
yt.wrapper.format.YtFormatError: YSON bindings required. Try to use other format or install bindings. Bindings are shipped as additional package and can be installed as pip package "ytsaurus-yson"

But if I didn’t have such a process, I would have been debugging for a long time why everything began to work more slowly.
I have already made dirty workaround in my code like this:
try:
    from yt_yson_bindings import dump_parquete  # pyright: ignore[reportGeneralTypeIssues]
except ImportError:
    import yt_yson_bindings

    def dump_parquete(*args: Any, **kwargs: Any):
        raise RuntimeError("yt_yson_bindings are incompatible, dump_parquete can not be used")

    # Workaround for incompatible yson bindings version.
    yt_yson_bindings.dump_parquete = dump_parquete  # pyright: ignore[reportGeneralTypeIssues]

So bindings release is not critical for me, but I really want to have some protection that will prevent unexpected switching to python parsing.
For example something like this:
TYPE = None
try:
    from yt_yson_bindings import load, loads, dump, dumps, dump_parquete  # noqa
    TYPE = "BINARY"
except ImportError as error:
    have_yson_bindings = False
    try:
        import yt_yson_bindings as _yt_yson_bindings
        have_yson_bindings = True
    except ImportError:
        pass

    if have_yson_bindings:
        allow_incompatible_yson_bindings = os.getenv("YT_ALLOW_INCOMPATIBLE_YSON_BINDINGS")
        if allow_incompatible_yson_bindings:
            print("Warning! Failed to import YSON bindings: " + message, file=_sys.stderr)
        else:
            raise ImportError(f"found incompatible yt_yson_bindings version: {_yt_yson_bindings.__version__}, please update it to XXX or set YT_ALLOW_INCOMPATIBLE_YSON_BINDINGS env (or remove it) ")

Instead of this:
https://github.com/ytsaurus/ytsaurus/blob/68798316ebb0ce810ee4bda39867d4466d2cb807/yt/python/yt/yson/__init__.py#L40-L51

If for some reasons it is impossible to do it as opt-out feature, I want to have opt-out one (something like YT_FORBID_INCOMPATIBLE_YSON_BINDING env)


Update LDT for HYMAP ensemble restart file downscaling for NetCDF formatted files

Update LDT for HYMAP ensemble restart file downscaling for NetCDF formatted files
@karsenau

Upscaling of HyMAP restart files does support netcdf format.  It is just "downscaling" that only supports the former HyMAP binary-formatted restart files.

This issue was closed with issue #852


Can not reset some files with just lineending differences

Hi, our teem working under Windows platform on our project. And when i checkout to one of branches and do not any changes - git status tells me something like that:
On branch [branch-name]
...
modified:   folder/folder/sql-script.sql
When i open that files on my diff tool, i see, that files did not have changes and lineendings is changed.
In our teem we worked in "dos" line endings and utf8 encoding.
git checkout folder/folder/sql-script.sql didn't work
git reset --hard didn't work

Same problems. It happens very often for us.

Hey, this is the issue tracker for the git-scm.com website, not Git itself. If you still want to discuss this issue, you should reach out to the community.
This sounds mostly like someone (or many people) didn't check the man pages, which tell you how to use core.eol, core.autocrlf, and core.safecrlf.

I tried to change both core.eol and core.autocrlf. I agree thought that probably there was a bug with git-scm. Since I updated to the latest version never happened. Thank you very much for your kind reply.


Driver SSL support

I don't know about orient but neo and gremlin (next version 3.0.1) have support for SSL with certificate handling.
This is a reminder to add those features in.
In the case of gremlin it will also come with an authentication system. I will want to play around with it to see how flexible it is before implementing it.

Yes, orient does support SSL.

What about Sessions?

We can add sessions too. I'm kind of torn when it comes to it.
On one end it's part of the Driver::$client APIs and it should bubble up to Spider. On the other it's slow, somewhat more ressource intensive for the servers and overall a feature that isn't all that useful outside of transactional scenarios (that usually require it).
Driver::$client should enable sessions automatically on TRANSACTION START or if they don't Spider definitely should. I'm not sure how useful a feature it is outside of that scenario though.
There's certainly no harm in providing the API for it. It's just a matter of writing the code and the proper test scenarios (combination of session/no-session transaction/no-transaction) which might not be as high a priority as SSL support.
I'll have to check how sessions work with Neo4J as well.

I have personally never used sessions, but I've noticed it in all the documentation and wasn't sure if it was more prevalent than I was thinking. Since it sound like its not, let's shelve it for now. I will open a separate issue and see if anyone else chimes in. I'd rather focus on getting functional, efficient, safe code than adding edge cases right now.

On the point of SSL, I'd consider it a must. Any application should be as secure as it can be. I can't imagine SSL implementation would need to be above the driver level either. So, at most, a configuration setting to turn it on, which should be the default.
On the point of sessions, doesn't the use of sessions allow for concurrent connections to be used for parallelization of work? If true, it is more a performance feature than anything else.  Still, good performance is always good to have, almost a must, but can be brought in a later point, when Spider is stable. Just need to keep them in mind for later, as parallelization of work isn't something common in PHP anyway.
Btw, the other bleading edge PHP technology I am looking at and learning is Appserver.io. It most definitely allows for parallelization of work, even with PHP. :wink:
Scott


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

#3311 8b74602 Thanks @github-actions! - Synced Chains Package

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [8b74602]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [8b74602]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [8b74602]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [c94bcd5, ffaff74, 8b74602]:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

#3317 198f72c Thanks @0xFirekeeper! - [Unity] fix tx builder type parsing

Updated dependencies [8b74602]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [8b74602]:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

#3329 c94bcd5 Thanks @joaquim-verges! - Dynamically import coinbase sdk to avoid cloudflare bundler issues

#3298 ffaff74 Thanks @joaquim-verges! - refactor exports to handle native vs non-native dependencies

PR-Codex overview
This PR updates package versions for @thirdweb-dev/auth, @thirdweb-dev/chains, @thirdweb-dev/sdk, @thirdweb-dev/react, @thirdweb-dev/react-core, and @thirdweb-dev/wallets. It also includes dependency updates and changelog modifications.
Detailed summary

Updated package versions for @thirdweb-dev/auth, @thirdweb-dev/chains, @thirdweb-dev/sdk, @thirdweb-dev/react, @thirdweb-dev/react-core, and @thirdweb-dev/wallets
Updated dependencies for various packages
Updated changelogs for affected packages

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

fixes: https://github.com/thirdweb-dev/js/issues/3299


Prevent PCTransportManager.subscriber from reusing previous remote-track/transceiver?

Describe the bug
issue description

Everything works fine on Chrome browser and native Android WebView.
But encountered oddities with Tencent X5 WebView on android:

Client A publishes audio, and client B subscribes the audio track. When A exits the room or stops publishing the audio track, B successfully unsubscribes from A's audio.
However, in Tencent's X5 WebView, additional events occur: B's MediaStreamTrack (RemoteTrack) triggers the onended callback, i.e., track.readyState is set to ended.
Therefore, when A rejoins the room and publishes audio again, B attempts to subscribe to that track.
Due to PCTransportManager.subscriber reusing the previous MediaStreamTrack, which has already ended, the subscription fails, resulting in the error message: "unable to subscribe because MediaStreamTrack is ended. Do not call MediaStreamTrack.stop()."

my request
Regarding this strange phenomenon, I have come up with two solutions:

Figure out why onended is triggered on Tencent's X5 WebView and prevent it from happening again.
Prevent PCTransportManager.subscriber from reusing the previous MediaStreamTrack.
For solution 1, I have tried for a long time but without any progress. X5 is like a black box to me and i am unable to use the native WebView to replace the X5 WebView with some reasons.

So, I can only seek solution 2.
Reproduction
RT
Logs
No response
System Info
client-sdk-js: 1.15.2
x5: 46279,<PHONE_NUMBER>3004
x5 sdk: 44286

Severity
annoyance
Additional Information
No response

@AllenTu21CN, nice digging here.
It's disappointing to hear that X5 WebView isn't implementing the spec correctly.
Path 2 is an option, you can add some code to disable transceiver re-use for that particular device. It'll need to be added to the clientconfiguration package, and used in Participant.SupportsTransceiverReuse.
Do you want to open a PR with the above changes?

@davidzhao
Thanks for your response. I will try to modify the code locally and test it. Once validated, I'll initiate a PR.

Hello. We have a very similar problem with turning on the camera after reentering. room.
My technology: React + Electron.js.
After a participant leaves the room with the camera on and returns back to the room, the other participants can no longer see his video.

2 participants enter the room, turn on their cameras. Both participants get all the information they need about the video tracks.
One participant leaves the room and re-enters the same room a short time later. Turns on the camera. The second participant gets the error could not find published track  {participantSid: 'PA_STthhL3q452h', participantId: '01HCEQA5ZR2MVYTY0G5Q5QYMDVXD', trackSid: 'TR_VCK2ZbmiJiiMM3'}.
I was able to track that the trackSid value is not updated in this case. LiveKit is trying to retrieve publication by trackSid from a past room login.
Further in the RemoteTrackPublication object the new track data appears, trackSid, trekInfo data is populated, but the track object is still undefined. As a result remote participants see a black screen.
How can I get an updated track information?


  Did you know python has functions? Have you considered to use a dict instead of thousands of if? Did you read PEP8?
How is that happened that write this to find a z letter:
if word[0] != "Z" and word[0] != "z" and word[1] != "Z" and word[1] != "z" and word[2] != "Z" and word[2] != "z" and word[3] != "Z" and word[3] != "z" and word[4] != "Z" and word[4] != "z" and word[5] != "Z" and word[5] != "z" and word[6] != "Z" and word[6] != "z" :

And then you call some functions like guessChar.isalpha()? How about word.lower().find("z")?
You put so much effort into this and yet I bet this code can be optimized to ~60 lines

Oh, man, calm down.  There is a folder called 'generators'. I didn't write those thousands of lines. Only a generator that creates code that creates a game :)