undefined method `collect' for nil:NilClass in csv_converter.rb:77

Hello,
I'm currently experiencing an issue when trying to export the CSV for a set of bulk ids from a subscope of my main model.
NoMethodError (undefined method `collect' for nil:NilClass):
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) lib/rails_admin/support/csv_converter.rb:77:in `generate_csv_header'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) lib/rails_admin/support/csv_converter.rb:68:in `block in generate_csv_string'
  /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/csv.rb:1157:in `generate'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) lib/rails_admin/support/csv_converter.rb:67:in `generate_csv_string'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) lib/rails_admin/support/csv_converter.rb:38:in `to_csv'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) lib/rails_admin/config/actions/index.rb:76:in `block (4 levels) in <class:Index>'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/mime_responds.rb:258:in `call'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/mime_responds.rb:258:in `respond_to'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) lib/rails_admin/config/actions/index.rb:43:in `block (2 levels) in <class:Index>'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) app/controllers/rails_admin/main_controller.rb:22:in `instance_eval'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) app/controllers/rails_admin/main_controller.rb:22:in `index'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) lib/rails_admin/config/actions/export.rb:21:in `block (2 levels) in <class:Export>'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) app/controllers/rails_admin/main_controller.rb:22:in `instance_eval'
  /Users/etagwerker/.rvm/gems/ruby-2.1.2@loli/bundlerrails_admin (355dc80f8a20) app/controllers/rails_admin/main_controller.rb:22:in `export'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
  actionpack (<IP_ADDRESS>) lib/abstract_controller/base.rb:189:in `process_action'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/rendering.rb:10:in `process_action'
  actionpack (<IP_ADDRESS>) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:113:in `call'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:113:in `call'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:552:in `block (2 levels) in compile'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:502:in `call'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:502:in `call'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:86:in `run_callbacks'
  actionpack (<IP_ADDRESS>) lib/abstract_controller/callbacks.rb:19:in `process_action'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/rescue.rb:29:in `process_action'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
  activesupport (<IP_ADDRESS>) lib/active_support/notifications.rb:159:in `block in instrument'
  activesupport (<IP_ADDRESS>) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (<IP_ADDRESS>) lib/active_support/notifications.rb:159:in `instrument'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
  activerecord (<IP_ADDRESS>) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
  actionpack (<IP_ADDRESS>) lib/abstract_controller/base.rb:136:in `process'
  actionview (<IP_ADDRESS>) lib/action_view/rendering.rb:30:in `process'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal.rb:196:in `dispatch'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal.rb:232:in `block in action'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/routing/route_set.rb:80:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/routing/route_set.rb:80:in `dispatch'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/routing/route_set.rb:48:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/journey/router.rb:73:in `block in call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/journey/router.rb:59:in `each'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/journey/router.rb:59:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/routing/route_set.rb:690:in `call'
  railties (<IP_ADDRESS>) lib/rails/engine.rb:514:in `call'
  railties (<IP_ADDRESS>) lib/rails/railtie.rb:194:in `public_send'
  railties (<IP_ADDRESS>) lib/rails/railtie.rb:194:in `method_missing'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/journey/router.rb:73:in `block in call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/journey/router.rb:59:in `each'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/journey/router.rb:59:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/routing/route_set.rb:690:in `call'
  rack-pjax (0.8.0) lib/rack/pjax.rb:12:in `call'
  rack (1.5.5) lib/rack/etag.rb:23:in `call'
  rack (1.5.5) lib/rack/conditionalget.rb:35:in `call'
  rack (1.5.5) lib/rack/head.rb:11:in `call'
  remotipart (1.2.1) lib/remotipart/middleware.rb:27:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/flash.rb:254:in `call'
  rack (1.5.5) lib/rack/session/abstract/id.rb:225:in `context'
  rack (1.5.5) lib/rack/session/abstract/id.rb:220:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/cookies.rb:562:in `call'
  activerecord (<IP_ADDRESS>) lib/active_record/query_cache.rb:36:in `call'
  activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
  activerecord (<IP_ADDRESS>) lib/active_record/migration.rb:380:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:82:in `run_callbacks'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/reloader.rb:73:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
  airbrake (4.1.0) lib/airbrake/rails/middleware.rb:13:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:38:in `call_app'
  railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:20:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.5) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.5) lib/rack/runtime.rb:17:in `call'
  activesupport (<IP_ADDRESS>) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
  rack (1.5.5) lib/rack/lock.rb:17:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/static.rb:84:in `call'
  rack (1.5.5) lib/rack/sendfile.rb:112:in `call'
  airbrake (4.1.0) lib/airbrake/user_informer.rb:16:in `_call'
  airbrake (4.1.0) lib/airbrake/user_informer.rb:12:in `call'
  railties (<IP_ADDRESS>) lib/rails/engine.rb:514:in `call'
  railties (<IP_ADDRESS>) lib/rails/application.rb:144:in `call'
  rack (1.5.5) lib/rack/content_length.rb:14:in `call'
  puma (2.16.0) lib/puma/server.rb:557:in `handle_request'
  puma (2.16.0) lib/puma/server.rb:404:in `process_client'
  puma (2.16.0) lib/puma/server.rb:270:in `block in run'
  puma (2.16.0) lib/puma/thread_pool.rb:106:in `call'
  puma (2.16.0) lib/puma/thread_pool.rb:106:in `block in spawn_thread'

After some debugging, it seems that @objects is initially right but then it is getting overwritten by the index action.
Later, when it tries to use objects to create the CSVConverter object, it finds that objects is blank and it fails.
I've experienced a similar issue in version 0.8.1 - That's why I tried master at 355dc80.
I've found a potential solution to this problem.
I'll submit a PR in a few minutes.
Thanks!

I've the same problem on a custom export but your PR does not fix my error.

@bricesanchez Yeah, I noticed that this solution is not appropriate. I'm currently working on improving it.

My error was related to a malformed Model scope, the master branch rails_admin code works for me.

After further review, I decided to change my patch (#2594) - Now it seems to work fine.
The problem I had was that I had this:
  config.model Order do
    weight -1
    list do
      scopes [:single_box_type, :subscription_box_type]
    end
    ...

But when I tried to export items from the second scope :subscription_box_type the bulk action wouldn't work. It would try to filter the selected items (:subscription_box_type) with the first scope (:single_box_type)
Then it would find no records and that would cause the exception.

I found a simple way to reproduce it - go to any model. Uncheck Select all fields and try exporting to CSV

@etagwerker Would you happen to have ANY idea how could I even solve this? I even tried monkey patching RailsAdmin to raise RailsAdmin::ObjectNotFound hoping it would redirect me to the dashboard but it doesn't capture it's own Exceptions for some reason.

@objects should be unrelated, this will be the same issue as #1685.


Add version numbers

Add version numbers to fix bug #71.   Just documentation.

Well, take it as it for now.    I truly don't know what “The latest pycairo version this cairocffi version is compatible with is..."; that text pre-existed.   In a future patch, I'll add a function cairo.versions() that just returns {'cairo': { 'string': '1.14.02', 'number': 11402, 'major': 1, 'minor': 14, 'point': 2|, {'pycairo'...}, {'cairocffi':...}.   If we know compatibilites we can add it there.
I guess it comes down to philosophy:  do you want patches only from people committed to the project or do you want the drive by 'this was an issue so I fixed it' patches?

Thanks for your PR. I’ve merged it and made the changes described above in 2e7200a64d9deaafa524463b4ba95d302273e227. The “latest pycairo version” thing is an explanation to go in the docs: pycairo is not actually involved in this code.
I don’t think a versions() function would be that useful. In fact I’m considering dropping the pycairo version number altogether, it doesn’t make that much sense there.


"There was an unexpected error".

Hi,
I was trying to fork and use this project. But getting this error:

Any idea what could it be?
It seems to be working the connection with Postgresql, because on Startup if there is no clients and scopes in the database i populate it
So, not sure why this is not working. If I use inMemory for clients and scopes, to test my userService it just works.
Could not log more than this error because not sure how to get the logs. But I can if got to know how to do this.
Thanks in regards,
Gabriel

That is not much information to go on unfortunately.
I haven't kept this repository up to date with the latest IdentityServer releases so I'll try to take a look at it and get a minimal example working.
For logging I can only refer you to the Thinktecture documentation: https://identityserver.github.io/Documentation/docs/configuration/logging.html
If you can post them here I can take a look where the problem might be located.

Actually I saw there was a lot of references in this project to Thinktecture.IdentityServer3.
Did it got renamed to: https://github.com/IdentityServer/IdentityServer3?

Really got stucked over here...
With the logs you sent I found these..
System.NullReferenceException: Object reference not set to an instance of an object.    at IdentityServer3.Core.Endpoints.AuthenticationController.<RenderLoginPage>d__6d.MoveNext() in c:\local\identity\server3\Core\source\Core\Endpoints\AuthenticationController.cs:line 880 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at IdentityServer3.Core.Endpoints.AuthenticationController.<Login>d__1.MoveNext() in c:\local\identity\server3\Core\source\Core\Endpoints\AuthenticationController.cs:line 156 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Threading.Tasks.System.Web.Http902394.TaskHelpersExtensions.<CastToObject>d__31.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Tracing.ITraceWriterExtensions.d__181.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Web.Http.Tracing.ITraceWriterExtensions.<TraceBeginEndAsyncCore>d__181.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.AuthenticationFilterResult.d__0.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext() in c:\local\identity\server3\Core\source\Core\Validation\HashedSharedSecretValidator.cs:line 0`
But could not help me in anything, if you could implement a minimal example working, it would be great ;)

Sorry for the late update, but I've just update the dependencies to their latest versions. And yes, the Thinktecture.IdentityServer3 package got renamed, which I have now also retargeted.


Is this possible via API or in some other way?

HI
I don't know if this is at all possible, but it would be great if it was. I need to email my users once a week (say on a Monday morning) to give them an update on any books / chapters / pages that have been updated in the previous week, along with a bookmark to the content location.
Is this at all possible, either natively, by scripting or by accessing the API? I can sort the sending of the email without a problem, but getting the content details out of bookstack is the bit that defeats me. Is this information held in the database?
I'm totally clueless about this, so really would appreciate anyone's input.
Many thanks
Mark
(a VERY happy BookStack user!)

Anyone have any thoughts on this? I have been looking at the revision history and that gives me the information I need (I think!), but how can I access this information - is it stored in a database somewhere?
Any help would be very gratefully received.
Mark

Hi @techauthoruk,
This is not something you could do yet via the API, since the API does not yet got down to page level. It will do in the future though.
Otherwise, everything goes into the database. There's many ways you could look for updated pages. You could just look at the pages table, There should be an updated_at column on there. You'd need to filter out any draft pages (Think it's a draft column on that table). Also, If you use permissions in your instance it will be tricky to manually calculate those in the same way as BookStack does.
Alternatively, as you found, you can look at page_revisions but many of the revisions may just be user-specific draft copies.
There's also the activity table which tracks most actions. You could look for activity where the key
is page_update (Or something along those lines.)
One you get the ids of pages, then the name can be read from the pages table. You can link to a page, without having to calculate the full URL slug, based upon their ID like so:
<bookstack_base_url>/link/<id>

# Example
https://demo.bookstackapp.com/link/50

@ssddanbrown Dan, thank you for the pointers, I now have this working really well by using a bash script to query the backend db and then email the results once a week.
A truncated version of the script if it might prove useful:
#!/bin/bash
RECIPIENTS=$(</root/bin/address.txt)
<EMAIL_ADDRESS>SUBJECT="CMS Weekly Digest"
GREETING="Good morning,"
MAILBODY="The following content has been added or updated in the Content Manage$
CLOSEBODY="This is an automated email sent by the Content Management System$

echo "FROM:" $SENDER > /root/bin/mailtest
echo "TO:" $RECIPIENTS >> /root/bin/mailtest
echo "BCC:" $BCC >> /root/bin/mailtest
echo "SUBJECT:" $SUBJECT >> /root/bin/mailtest
echo "" >> /root/bin/mailtest
echo $GREETING >> /root/bin/mailtest
echo "" >> /root/bin/mailtest
echo $MAILBODY >> /root/bin/mailtest
echo "" >> /root/bin/mailtest
echo "select id as ID,name as NAME,updated_at as UPDATED, CONCAT('https://cms.s$
echo "" >> /root/bin/mailtest
echo "" >> /root/bin/mailtest
echo $CLOSEBODY >> /root/bin/mailtest
cat /root/bin/mailtest | /usr/sbin/sendmail -t

I'm not very good when it comes to scripting, but this seems to work ok.
On another point, are the user log ins stored anywhere in the backend? It would be really useful for me to know who has (or hasn't) logged in...is this possible?
Many thanks
Mark

On another point, are the user log ins stored anywhere in the backend? It would be really useful for me to know who has (or hasn't) logged in...is this possible?

@techauthoruk Not currently, but It has been requested to show last login on the user page, so probably something we'll add to the database at some point.
BookStack does track page-views at a per-user level, (In a views or page_views table maybe? can't remember the name right now). There's also the activity table which stores the user id. Checking both of those should give you a pretty good idea of who's active in the system.

@ssddanbrown Thanks Dan, I can't seem to find the views table (not saying it doesn't exist, just can't find it!). The activity table only seems to hold the user ID and a datstamp of when they updated or added content (I'm assuming this as there is only one person who adds content [me!] and all the table entries are for the same user ID).
All I really need is the user name and the date they last logged in...I will keep looking, but do you have any other comments/suggestions? If this info is not there, do you have any idea on timescale before the last user logon is added to the user page?
Thanks again
Mark

All I really need is the user name and the date they last logged in...I will keep looking, but do you have any other comments/suggestions?

Logins are not tracked in the DB in any way. The views table really would be the best way, as you'd generally expect someone to view at least one page after logging in.
This site provides a good quick view of the tables (Although the relationship lines are a little off): https://drawsql.app/templates/diagrams/bookstack-mysql#

do you have any idea on timescale before the last user logon is added to the user page?

No timescale at the moment. Keep meaning to expand the activity within the next few releases but having real trouble finding spare time right now for BookStack development.

@ssddanbrown Dan, thank you for the direction. After much playing around I came up with this query which does what I need:
echo "SELECT views.user_id AS USER,users.name AS NAME,MAX(views.updated_at)AS UPDATED FROM views, users WHERE views.user_id = users.id AND views.user_id <> 0 GROUP BY views.user_id, users.name ORDER BY views.user_id, users.name" | mysql -u root -D bookstack >>root/bin/usertext

...which I use as part of a bash script to email the results once a week. I will close this thread now - thanks again for all the help.


Refactor Login page into common

Try to move the background image to a common assets directory.
Try to extract the entire page as a common view and invoke it from each app. (If that doesn't work or is too gnarly, fallback is to extract as a component and still keep a skeleton Login page in each app.)

This is done.


Erroneously getting a FailureAcknowledgement from InvokeAsync()

Use Marten transactional middleware on a message handler, then call InvokeAsync(). Prove there is no FailureAck being sent.

Hi @jeremydmiller, I'm getting same kind of errors on the latest 1.6.0. I'm not using Marten for persistence, but rather EF Core, maybe it makes difference.


Update declare-network-policy.md

Fix the format. The format in orginal web page is confusion.

This change is

format change, LGTM


3.14.0 release

We've pushed version 3.14.0-0 to QA and it has been published to NPM under the next label.
To install this package from NPM you can run npm i polyfill-service@next.
Click here for the full changelog.
New polyfills:

Number.isInteger. #977
document.currentScript. Thanks @JamesMGreene #973
Function.name. Thanks @JamesMGreene #951

Notable changes:

qa.polyfill.io is now over HTTPS and redirects to HTTPS by default. - #942
Serving console.info and .error polyfills to IE mobile versions < 9. Thanks @rubencodes - #914
Serving _mutation polyfills to Samsung devices. Thanks to @AdaRoseEdwards  - #940
Serving Number.isNaN polyfill to Android < 4.1. Thanks @falsandtru  - #929
Serve URL polyfill for all IE and Edge. - #946
Fixed a bug in Set polyfill. Thanks @tuespetre  - #950
Serve HTMLPictureElement to Android versions < 52. Thanks @falsandtru - #930
Serve RequestAnimationFrame polyfill to Android versions < 4.4. Thanks @ruiaraujo - #944

No changes to the default set, so we have not introduced a new immutable default set label.
As usual, we'll hold this on QA for a week for testing. Please post any concerns here.

I'm seeing SSL errors on android chrome

@AdriVanHoudt That should be resolved now, sorry for the hiccup there.

@JakeChampion thanks and no problem! (sorry for the massive image, was working from phone :D)

This is now live 🎉


Subclass of final class com.jfilter.components.FileWatcher

Cannot subclass final class com.jfilter.components.FileWatcher - this was solved by simply making the class not final.

Will be fixed in 1.0.9 version


Fixes Issue #217 - chat is reversed by default

Purpose
Fixes #217 - new chat messages are reversed / post at the top of the page by default.
Does this introduce a breaking change?
[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?
[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test
Launch the application and post 2 chat messages in a chat channel. Notice that messages go from top to bottom now. As new chat messages are added, they're appended to the end of the chat.
Detail steps:

Open the code in Codespaces
run azd up from the root directory
Open the URL for the deployed app, test using the above description

What to Check
As new chat messages are posted, they are added beneath previous chat messages.

LGTM. Thanks @jmatthiesen


[Bug] Update the readme file to newest version of chart release

Contact Details
<EMAIL_ADDRESS>What happened?
The README is not latest.
Chart type
Standalone
Chart version
0.1.0
Environment
Local Machine
Relevant log output
No response

This will be closed since it has been updated in the PR: https://github.com/memgraph/helm-charts/pull/12


Object Tracking naming issue

It seems that in camera networks where the FOV is not overlapped enough, the names of the different objects can be confused.

The issue is due to a detection problem from some point of views when the cameras FOV is not overlapped enough.
In order to overcome the problem we decided to change the naming procedure. I will test the save/restore feature than I will close this issue.


Transfer in content from NCD repo wiki

Add to repo as markdown files rather than wiki pages

@debpaul do you think there's any text on the old wiki homepage (https://github.com/tdwg/ncd/wiki) which needs transferring into the new repo?

I think the Issues under discussion section (functional requirements,
challenges, and stakeholders) are valuable.
@mswoodburn @baskaufs @stanblum Shall I add them to the main Code
README.md file?
or create a document with these and link to it in the README.md?

[ ] @mswoodburn mswoodburn I created https://github.com/tdwg/cd/blob/master/documents/draft/IssuesChallengesREADME.md as a synthesis of the information I think is relevant and useful from the old NCD wiki homepage.

[ ] I linked to in on our main repo page, See it at https://github.com/tdwg/cd/blob/master/documents/draft/IssuesChallengesREADME.md

[ ] Please let me know if you think it should go in a different folder (other than documents), and if it should be linked elsewhere?

It looks pretty prominently featured on the main repo page.  It seems like anyone interested in it should be able to find it easily.  The documents folder is a logical place for it.


Quark based coins

Hi,
I've got a stratum with a very low (0.0019) pool_target and vardiff running.
Shares are shown as valid at the miner's ends and blocks are generated.
However, MPOS does not show the shares nor hashrate.
I've created a coin_quark.class.php and set the target_bits to the same as in the stratum. Still no use...
Is there something I'm missing out?
I've read the other issues regarding Quark and MPOS and I understand that you want this fixed properly in the v2 but is there a dirty hotfix that would help out for now ?
Cheers

Any future updates for quark class ?

any update for quark ?


⚠ Bofrost.at has degraded performance

In 2abeccf, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1282 ms

Resolved: Bofrost.at performance has improved in f46675f.


Update version support of all cucumber gems

Description
Begin to use latest versions of all refactored / tidied up gems
Type of change
Please delete options that are not relevant.

Refactoring (improvements to code design or tooling that don't change behaviour)
New feature (non-breaking change which adds new behaviour)

Some new stuff from the core gem the rest is just tech debt fixes
Checklist:
Your PR is ready for review once the following checklist is
complete. You can also add some checks if you want to.

[ ] Tests have been added for any changes to behaviour of the code
[ ] New and existing tests are passing locally and on CI
[ ] bundle exec rubocop reports no offenses
[ ] RDoc comments have been updated
[ ] CHANGELOG.md has been updated

Note to self.
CI run 1: 59 failures
CI run 2: 14 failures
TODO: Release patch fix of core (Should get failures down to single digits). This will need enforcing for gemspec


[Feature Request] Point Pulumi to Localstack for dev testing

Is your feature request related to a problem? Please describe.
Not really a problem, just maybe would be nice for contributing without costing $$$ in cloud costs
Describe the solution you'd like
Localstack has a CLI tool that wraps the Pulumi CLI. I would like to test if this works for the sake of future contributions, and if it does, I'll open a PR here to add docs (in README.md or elsewhere) on how to implement.
Additional context
For clarity, there's no expectation of actioning this from the temporal team - this is more of a "fyi I'm gonna try this and get back to you" 😁
If this works, another idea might be to add a Gitpod button/link for immediate environment spin up. There was just an article yesterday on integrating Localstack + Gitpod for improved/more efficient dx

Looks like this is a no-go unfortunately. Once I eventually was able to get pulumilocal up to run without complaining about config values*, I ran into
error: 1 error occurred:
* Error creating DB Subnet Group: InternalFailure: API action 'CreateDBSubnetGroup' for service 'rds' not yet implemented or pro feature - check https://docs.localstack.cloud/aws/feature-coverage for further information
status code: 501, request id: 1BMSAXYUF9NASMH71LMPLBX5ABUAGPGZDZJJSIBBCB2QTCBZAL8R

I looked into it and RDS is a pro feature. Bummer
* the trick with discovering the config values eventually ended up being that I needed to look at one of the k8s/stacks/Pulumi.eks-rds-postgres-m6i-*large.yaml files for examples of the required values 😅


Fix some doc typos and failing test for python3

Hello All,
I found some minor typos in the docs, so have tried to correct them.
And running nosetests had a test failure for python3. The fix here for that is the same as in @graehl's PR #189

@dennybritz Kindly have a look


Description not sending

The description cant be sent, because the selectors aren't right anymore.
But I have tried to find a solution:
Replace line 56 in IServClient.js with obj.description = $(".panel:first").find("div:first").find(".col-md-6:first").find("div:first").find("div:first").find(".text-break-word").text();
PS: Thanks for your fast response.

Oh sorry, I must have been really tired to overlook that :o


Misra: suppress misra 2.3 and 2.4

Misra: suppress misra 2.3 and 2.4
Description
Misra: suppress misra 2.3 and 2.4
we define structures to be conforming to FreeRTOS such as
typedef struct struct_name
{
     int a;
} struct_name_2;

which allows the use to use either one, and leaves the other one as not defined.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi @alfred2g, when I check out your branch alfred2g:misra_r_2_3, I find hundreds of differences with FreeRTOS:main. Is one of the branches running behind the other?
To mention one example, in FreeRTOS_ARP.c, line 405:
-    IPHeader_t * pxIPHeader = &( pxIPPacket->xIPHeader );
+    const IPHeader_t * pxIPHeader = &( pxIPPacket->xIPHeader );

I am not sure if it will become const, or if it has been const.


Enhancement: Sidebar open/close classes

Adds classes to sidebar and filament main to allow css targeting of sidebar open/closed state

Why move custom classes to middle or end of classes list?
I think @zepfietje change orders of custom classes to first.

Weird. those shouldn't have changed. Let me see what happened.
Good catch.

Looks like there was an extension overriding the sort order. Latest push corrects the order.

Why move custom classes to middle or end of classes list?
I think @zepfietje change orders of custom classes to first.

Thanks for noticing this! (Always nice to have an extra pair of eyes making sure the order stays correct in the codebase. 👀)


"Getting status" never ends

Workflow version
2023.5
Alfred version
5.5
macOS version
14.2.1
Debugger output
[14:39:59.514] Calm Notifications[Script Filter] Queuing argument ''
[14:39:59.930] Calm Notifications[Script Filter] Queuing argument '1'
[14:40:00.061] Calm Notifications[Script Filter] Queuing argument '1h'
[14:40:13.860] ERROR: Calm Notifications[Run Shortcut] /Users/sachit/Library/Caches/com.runningwithcrayons.Alfred/Workflow Scripts/SOSA/sosa.5b04cd7990bc6030c583dbe776ec6e56e86dbac9103db8541b43ed39c09b7272:53:102: execution error: Shortcuts Events got an error: AppleEvent timed out. (-1712)

### More details

_No response_

Delete the shortcut and rerun the workflow to readd it, then try again.

I am still getting this issue, have already tried to remove and re-add the shortcut


Update copyright headers

Add copyright headers to files which didn't have one yet
Fix format of Unit-e copyright headers to be consistent
Adapt copyright_headers.py to not take merge commits into
account when calculating the date of the last change
Add missing copyright holders to list of known copyright holders
in copyright_headers.py
Update years in copyright notice for the files which have
been updated in 2019 without updating the notice by running
copyright_headers.py update
Remove empty file test/functional/test_framework/blockstore.py

Hello @cornelius! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file contrib/devtools/copyright_header.py:

Line 319:1: E305 expected 2 blank lines after class or function definition, found 1

I extracted the scripted diff now in #1072.
This pull request only contains the manual changes and the changes to the script.

The last commit just touched one of the involved regular expressions, the one I pointed out should be modified too.

The last commit just touched one of the involved regular expressions, the one I pointed out should be modified too.

@castarco Thinking about this again, I'm not sure if making the check more relaxed is the right path to go. We have two functionalities here:
The first is copyright_header.py report to analyze the copyright headers of the code. This will report files with missing copyright headers and unknown copyright holders. This is helpful to get the copyright headers into the right form in the first place. From this point of view I think it actually would be better, if it would not accept "Copyright(c)" as a valid header, but report it as missing. Then we see this and can manually fix it. This results in a more uniform style for the headers which is easier to read and to analze.
The second functionality is copyright_header.py which updates the years in the copyright headers. This assumes a certain style of the headers. As this only concerns our own copyrights and we can easily make the code use a consistent style, this assumption can be relatively strict. We can make sure that the assumption holds by running the reports and fixing the issues it reports.
So I would actually suggest to revert to the original regexp for the check, so that the copyright notice is reported and can be fixed, and we don't have to support multiple styles of how to format the copyright headers.

The first is copyright_header.py report to analyze the copyright headers of the code. This will report files with missing copyright headers and unknown copyright holders. This is helpful to get the copyright headers into the right form in the first place. From this point of view I think it actually would be better, if it would not accept "Copyright(c)" as a valid header, but report it as missing. Then we see this and can manually fix it. This results in a more uniform style for the headers which is easier to read and to analze.
The second functionality is copyright_header.py which updates the years in the copyright headers. This assumes a certain style of the headers. As this only concerns our own copyrights and we can easily make the code use a consistent style, this assumption can be relatively strict. We can make sure that the assumption holds by running the reports and fixing the issues it reports.

Hmmm... But this does not mean that whenever the script replaces the values will keep the previous style, right. I mean, this will detect various formats, and then replace whatever finds by a fixed structure, or might be that only applies changes whenever there's a difference on the dates?

Hmmm... But this does not mean that whenever the script replaces the values will keep the previous style, right. I mean, this will detect various formats, and then replace whatever finds by a fixed structure, or might be that only applies changes whenever there's a difference on the dates?

It replaces what it finds by a fixed structure if the data needs to be updated, but what it looks for is identical to the fixed structure, modulo the dates. We could change that to also update the structure if it's formatted differently, so not only updating the date but also fixing formatting, but I'm not sure if we should mix these two things. It might be better to introduce a lint check which checks pull requests for proper copyright headers.
Also there can be various ways how the formatting of the headers can go wrong and automatically detecting that seems to be a bit of an overkill given that it's relatively rare that files with malformed headers get added.

Concept ACK 2db29ec44ad064ebf49339152f6ce8f1200e175e


Implement Geofencing alerts

So here is how I use this plugin and you may want to incorporate to the plugin. I have a trigger that runs every time the car updates. It then checks if the car is at home. If the car is "at home" it then checks to see if the car has any open doors, windows or lids. If so it will send an alert after a defined set time.
Below are the parameters of the script, which should give you an idea how it works:
home_lat = 59.99999             # Your home latitude, get it from Google maps by clicking on your house
home_log = 0.99999              # Your home longitude, get it from Google maps by clicking on your house
car_device_id =<PHONE_NUMBER>       # Device ID of the vehicle you created with the Connected Drive plugin
geo_distance_unit = "kilometers" # kilometers or miles
geo_fence_distance = 0.1         # How big you want the geofence to be for your car to be considered at home in kilometers
wait_minutes_before_alert = 20   # How many minutes to wait before sending an alert
repeat_alerts = True             # Set to false to not receive the same alert repeatedly every time the Connected Drive plugin     refreshes the data
variables_folder_id = 916264876  # Folder ID where you want the variables that this script uses to be created
utc_time_zone = tz.gettz('UTC')  # Time Zone of BMW response
local_time_zone = tz.gettz('Europe/London') # Local Time Zone

I coded this my left left the car open a couple of times and we had few things stolen from the car by oportunistic thieves. Few times as well the boot got opened by mistake as I had the car keys in my pocket with other keys.

Is home also the location of the Indigo server?

Yes.

Distance from Indigo server location calculated in km in next release.


Adds create-liveblocks-app installer command to each readme file

Each Liveblocks example can now be downloaded and installed via CLI command. This PR adds the command to each README file.
Example:
npx create-liveblocks-app --example nextjs-live-cursors

TODO

[ ] Figure out formatting on examples pages
[x] Wait for this to be merged:

https://github.com/liveblocks/liveblocks/pull/596

Restarting this in another PR to keep it clean now that the installer works differently


Issues me

@moritzketzer @aaronpeikert please check if I introduced you correctly in https://github.com/formal-methods-mpi/Workshop.jl/pull/124/files#diff-36c852523b6a7513a10b8a6bae21f1037eaa27484efc9042f75bbda46d9f529b

Introduction is correct, thanks!


Find/Search in the Terminal

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

When I have a long terminal output, I'd like to be able to run a find in the terminal output to find what I'm looking for
Describe the solution you'd like:

Hitting Command + f to open a find prompt (native or custom).
Describe alternatives you've considered:

Not sure if there's an alternative here.
Additional context:

Thanks for the report! That's something we should definitely improve. :+1:

I'd also like to throw in that search is properly supported by Codeflow https://stackblitz.com/~/ so it's currently only a limitation of our classic editor. Maybe you can use Codeflow instead?


Photo Gallery 🖼

This pull request adds a /gallery page for photos to the site

.deploy

.deploy

.deploy

.deploy

.deploy


Cell types not highlighted/ clickable when visible in heatmap

Steps to reproduce:

Go to https://wwwdev.ebi.ac.uk/gxa/sc/experiments/E-MTAB-5061/results/anatomogram
Click to zoomed view (noting missing highlight for Islet of Langerhans as reported in https://github.com/ebi-gene-expression-group/atlas-web-single-cell/issues/128).
Note that B-cells are present in heatmap but not highlighted/clickable in anatomogram.

Again, due to missing ontology expansion. This is fine in https://www-test.ebi.ac.uk/gxa/sc/experiments/E-MTAB-5061/results/anatomogram.


refactor: Log manager simplified to allow support for additional sessions.

Changes
Depends on: https://github.com/serverpod/serverpod/pull/2547, https://github.com/serverpod/serverpod/pull/2552, https://github.com/serverpod/serverpod/pull/2553, https://github.com/serverpod/serverpod/pull/2554
Modifies the implementation of the log manager and log writers to remove branching logic and simplify the control flow. The implementation is no longer tied to specific session types and can therefore work with any sessions and in any potential configuration (caching, database, stdout, etc).
This will also allow the new streaming interface to easily be integrated with the logger.
Review notes:
Review commit by commit, but dependent PRs should be merged / rebased first.
Closes: https://github.com/serverpod/serverpod/issues/2450
Pre-launch Checklist

[ ] I read the Contribute page and followed the process outlined there for submitting PRs.
[ ] This update contains only one single feature or bug fix and nothing else. (If you are submitting multiple fixes, please make multiple PRs.)
[ ] I read and followed the Dart Style Guide and formatted the code with dart format.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///), and made sure that the documentation follows the same style as other Serverpod documentation. I checked spelling and grammar.
[ ] I added new tests to check the change I am making.
[ ] All existing and new tests are passing.
[ ] Any breaking changes are documented below.

If you need help, consider asking for advice on the discussion board.
Breaking changes
none

Comment: Remove the messageId from MethodStreamSession as we will not log these for now.


Slider not working inside Swiper Slide

Check that this is really a bug

[X] I confirm

Reproduction link
https://codesandbox.io/s/swiper-default-react-forked-p92mu
Bug description
Slider events didn't fire inside Swiper Slide. I tried to wrap Slider inside div and call event.stopPropagation() and event.preventDefault() on click event but nothing works.
Expected Behavior
Swiper slide not interrupts children events.
Actual Behavior
Slider's events never fired.
Swiper version
7.0.7
Platform/Target and Browser Versions
macOs, Chrome 93.0.4577.82
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

Add swiper-no-swiping class to the Slider

https://codesandbox.io/s/swiper-default-react-forked-zklcl?file=/src/App.jsx
https://swiperjs.com/swiper-api#param-noSwiping

Thanks for quick response!


Feature Request: support video

hi，
are there any plan to support video banner
thanks

+1，希望可以支持视频


Jeet gem maintainer

I don't want to maintain this anymore but it's still probably fairly heavily used in the Jeet universe https://github.com/corysimmons/jeet-rails
@samccone

I've been using Stylus for awhile now, so forgive any lack of knowledge.
Are people still using the Ruby to compile their Sass much? My assumption is that most people are using Libsass in their Gulp / Grunt stack nowadays.
If people are still using it, then it's probably a good idea to weigh up the value it adds to the effort required to maintain it.

I don't care if it's decided no one wants to maintain it, but I personally don't want to maintain it so I'm asking the Jeet maintainer if he wants to assume maintenance of it to support those users who are still using it (in things like Rails Asset Pipeline).

Yeah, I understood that. My comment was more to kickoff a discussion between contributors.

It still seems like some people are using it https://rubygems.org/gems/jeet

Closing this as it's been 16 days with no response from the repo maintainer. I'm not going to maintain the Jeet gem but will leave it up. If anyone reports an issue about it I'll direct them here.


QTPY S2 - Analog 0 is at 3.3v when set as potentiometer input

Heya, was using potentiometer to represent a soil sensor. and the input was always maxed except when I hardwired it to ground.
turns out that A0 is always 3.3v, but choosing A1-3 works as expected
Device ID if useful
https://io.adafruit.com/tyeth/devices/qtpy-esp32s214035171

could well be my fault, but I haven't tested another similar device yet, be a slow progress one sorry

Hrm, A0 is mapped to D18 both in the arduino-esp32 variant and the WipperSnapper definition.
Could you test this via an Arduino Sketch, or CircuitPython Sketch, to rule out WipperSnapper being the culprit. Something like:
int analogPin = D18; // potentiometer wiper (middle terminal) connected to analog pin A0
                    // outside leads to ground and +5V
int val = 0;  // variable to store the value read

void setup() {
  Serial.begin(9600);           //  setup serial
}

void loop() {
  val = analogRead(analogPin);  // read the input pin
  Serial.println(val);          // debug value
}

I've now managed to return to the device and find it missing the boot button. Like I live alone and it hasn't been abused in theory (reattached peripheral once and it's dangling freely so potenially my bad) but pretty surprised by this. I think I'll have to find a second device to test.

Just to note, it may have been an artifact of arduino-esp32 v2.0.8, in v2.0.9 (latest) this fixed an issue with second use of analogWrite being ignored:
https://github.com/espressif/arduino-esp32/pull/8137

@tyeth The latest build of Wippersnapper is on v2.0.9.

@brentru You'll be somewhat relieved to hear the behaviour is the same with latest wippersnapper on a new-ish qtpy. A0 (listed as A18 in serial) always registers 65k when set as potentiometer. Using A1 (listed as A17 in serial) is fine. It's a capacitive soil sensor remember.
In arduino land, with the code you wrote (i had to change D18 to A0 and A1) then A0 gave 8192 with nothing connected (floating) and same with my soil sensor connected (no matter with or without wet soil or held in fingers).
The A1 input gives between 4 and 5 hundred floating, and 7600 with no soil (unheld) and 3100 when held.
What do you get with a qtpy s2(or s3 probably) and A0 or A1 floating and then with something to read?

In arduino land, with the code you wrote (i had to change D18 to A0 and A1) then A0 gave 8192 with nothing connected (floating) and same with my soil sensor connected (no matter with or without wet soil or held in fingers).

From the Learn Guide...
"Note that A0 has a 10K pullup to 3.3V - we're not sure why but this is required by the hardware design notes for the ESP32-S2 (see Fig 1)."

Well that explains it. Yeah I wonder if a note could be added for individual pins, so for any non pull-up or adc differential pairs, or unexpected things like this, rather than hiding functionality. Maybe when you select a pin the name has an asterisk and once selected the UI could show a label or link to notes (or rely on product link)

@lorennorman  See above, maybe something to implement.
@tyeth  For now, we can either hide the A0 pin or keep this issue open for others. Either works!

Happy either way!


Could not replace react well

prop-types shape isRequired
Component constructor
renderToNodeStream

Reproduction: https://github.com/JounQin/react-study/blob/anujs/build/base.js#L54-L58
comment anujs alias and run yarn dev, it works.

Come back after vacation

现在还闪烁吗？

@RubyLouvre 升级了一下倒是不闪烁了，但是元素经常会错乱……

图里鼠标点击的地方应该是 Prev 和 More

目前最新版替换后运行正常了


Updating id generation logic to avoid substring overlaps (#21181)

This PR fixes #19226
PR to the main branch #21181

@aasimkhan30 could you please add the SQL CARBON EDIT tag in main?  I'm merging as-is for release branch so we can wrap-up pending changes.


C4AI Slug: Implement web component Slug

As shown in the C4AI status table, the experimental styles for the slug component have been created and are being used by the React implementation.
By referencing the design spec and React slug, we should be ready to implement the web component slug.

@annawen1 can you populate the tasklist for this issue? For now I penciled this in for next sprint so we can see it in the roadmap view. I don't mean to bypass the squad's refinement, sizing, planning process. Game to join that.

This issue should get the styling and React implementation to done: https://github.com/carbon-design-system/carbon/issues/15051

@annawen1 @jeffchew the slug styles and canonical React implementation is complete: https://github.com/carbon-design-system/carbon/issues/14931


Fix typo in dependency-injection-guidelines.md

I believe the following sentence:

The factory method of single service...

Should read:

The factory method of a singleton service...

Thanks for following up @BillWagner and happy new year!

Thanks for following up @BillWagner and happy new year!


Can't use supportedHosts: TeamsTab in SPFX 1.8

Category

[ ] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
According to SPFX 1.8 documentation, it is possible to add "supportedHosts: TeamsTab" to web part manifest file in order to implement Microsoft Teams tabs using SharePoint Framework.
Observed Behavior
After adding the mentioned property ("supportedHosts:TeamsTab") to web part manifest file, execution of commands gulp serve or gulp bundle failed and after webpacking the following error message is displayed:
[16:20:39] Error - [write-manifests] Manifest validation error (./src/webparts/myFirstTeamTab/MyFirstTeamTabWebPart.manifest.json):     (#/) Data does not match any schemas from 'oneOf'     (#/) Missing required property: description     (#/) Missing required property: extensionType     (#/componentType) No enum match for: WebPart     (#/) Additional properties not allowed: supportedHosts     (#/) Missing required property: items     (#/) Missing required property: rootComponentId
Steps to Reproduce

Create new SPFX 1.8 project containing web part.

Add property "supportedHosts:["TeamsTab"]" to web part manifest file. Here is screenshot of my manifest file:

Run gulp serve or gulp bundle command, after which below error appears in console:

what changes did you make?  Are you starting from a blank / new project, or are you migrating an existing one? The image of the manifest looks different than a new project would generate.

I haven't made any changes, just added the property and removed comments.
I am starting new project.
I followed this article to create Teams Tab using SPFX.
URL: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/using-web-part-as-ms-teams-tab

Can you dump your package.json file here?  I've just created a new solution with 1.8.0 and not had any problems.  I've tried ship and debug builds, build, serve, bundle, package, etc.  What command are you running?

@patmill
Thanks after going to package.json, I came to know I was having SPFX v1.7
I upgraded to version 1.8 and this issue got resolve, but another issue arise.

Yes - the fixes to "sync with teams" are rolling.  If it is still not working in a few days, can you please open another issue?

Hello,
I get the same error when I upgraded to 1.8.0, my package.json doesn't indicate the version of SPFX.
Any suggestions please?

Hi,
I am on latest version but still getting below errors when doing gulp serve:
Error - [write-manifests] Manifest validation error (./src/webparts/reactCarousel/ReactCarouselWebPart.manifest.json):
(#/) Data does not match any schemas from 'oneOf'
(#/) Missing required property: description
(#/) Missing required property: extensionType
(#/componentType) No enum match for: WebPart
(#/) Additional properties not allowed: supportedHosts
(#/) Missing required property: items
(#/) Missing required property: rootComponentId
Any help/suggestions please.

@patmill Did the fixes for "Sync to Team" rolled out?
I am getting "Failed to sync solution to teams" error when I try to sync my SPFx app to team
Please suggest

We are also facing the same issue with "Sync to Teams". we are getting "Failed to sync solution to teams" error when we tried to deploy our sharepoint framework web-part to teams.
Any help/Suggestion ?


Can't Download or Synch

I normally open files from server to make sure I get latest version. I can't do that now. I uninstalled and reinstall remote-ftp. Still no joy. This message:

I installed latest update to remote-ftp today. But I also had a great deal of other trouble with my site. I ended up deleting my local copy of the entire site and tried to download it for an hour or so. It's really 5 integrated sites. It's 79GB for the whole thing so I am going to do the rest later. Am I looping to my own local files? When I save changes they are uploaded correctly. I just can't synch to or download from server. Love the package though. I am just operating over my head technologywise.
UPDATE 10/10/17 rolled back to version 1.1.3 and attained joy. Clicking on the remote file now opens in local Atom. No error message.

I just realized I aborted the downloads I attempted as there was not enough time to allow the transfer. Could that have created this issue?

Try v1.2.6!

Joy! That now works fine. Thanks MrJim
From: Tamás András Horváth<EMAIL_ADDRESS>Sent: Friday, October 20, 2017 8:35 PM
To: icetee/remote-ftp<EMAIL_ADDRESS>Cc: MrJim Johnson<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: SPAM: Re: [icetee/remote-ftp] Can't Download or Synch (#1007)
Try v1.2.6!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/icetee/remote-ftp/issues/1007#issuecomment-338355191, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWFpdhEX9BiSIansYn7m6E7dIHZnZt92ks5suUpWgaJpZM4PxjDv.


Possible namespace mismatch between PX4's urtps templates and eProsima FastRTPS headers

Describe the bug
When compiling micrortps_agent code, the compiler will complain missing definition of "MatchingInfo" when generating topic publisher code.
To Reproduce
Steps to reproduce the behavior:
Follow the guidance RTPS/ROS2 Interface: PX4-FastRTPS Bridge to build micrortps_agent

using px4io/px4-dev-nuttx-clang docker image as build environment
clone PX4/Firmware.git and eProsima/FastRTPS.git repos.
build and install FastRTPS from source
build px4fmu-v4/5_rtps target
build microRTPS_agent code:

    # cd build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/build && cmake  ..
    # make

Expected behavior
micrortps_agent binary should be built within above build folder
Log Files and Screenshots
Scanning dependencies of target micrortps_agent
[  4%] Building CXX object CMakeFiles/micrortps_agent.dir/optical_flow_PubSubTypes.cpp.o
[  9%] Building CXX object CMakeFiles/micrortps_agent.dir/microRTPS_agent.cpp.o
In file included from /srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/RtpsTopics.h:35:0,
                 from /srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/microRTPS_agent.cpp:47:
/srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/sensor_combined_Publisher.h:68:50: error: 'MatchingInfo' has not been declared
         void onPublicationMatched(Publisher* pub,MatchingInfo& info);
                                                  ^
In file included from /srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/RtpsTopics.h:36:0,
                 from /srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/microRTPS_agent.cpp:47:
/srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/sensor_baro_Subscriber.h:69:52: error: 'MatchingInfo' has not been declared
         void onSubscriptionMatched(Subscriber* sub,MatchingInfo& info);
                                                    ^
In file included from /srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/RtpsTopics.h:37:0,
                 from /srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/microRTPS_agent.cpp:47:
/srv/imu.git/build/px4fmu-v4_rtps/src/modules/micrortps_bridge/micrortps_client/micrortps_agent/optical_flow_Subscriber.h:69:52: error: 'MatchingInfo' has not been declared
         void onSubscriptionMatched(Subscriber* sub,MatchingInfo& info);
                                                    ^
CMakeFiles/micrortps_agent.dir/build.make:110: recipe for target 'CMakeFiles/micrortps_agent.dir/microRTPS_agent.cpp.o' failed
make[2]: *** [CMakeFiles/micrortps_agent.dir/microRTPS_agent.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/micrortps_agent.dir/all' failed
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Additional context
This error occurred due to "MatchingInfo" been hidden within rtps namespace when declaring in headers provided by eProsima thus invisible by PX4's publisher/subscriber template files.
Noticed that PX4 uses templates located in msg/templates/urtps instead of provided by upstream eProsima/FastRTPS.git so am I missing any update to keep urtps templates fresh?
Also noticed that urtps templates' license info are newer than eProsima source( I'm using HEAD of master). If urtps' templates are correct then the instructions in dev.px4.io should be updated, otherwise urtps' template should be patched.

@L3w1s-L1u this is an ongoing work. I will update you as soon as possible.

Oh now that I see: You don't seem to be using the latest changes done to the urtps templates. What's your Fimrware git commit tag? I am almost sure about this because you have void onSubscriptionMatched(Subscriber* sub,MatchingInfo& info); (no whitespace before MatchingInfo), while in upstream: https://github.com/PX4/Firmware/blob/master/msg/templates/urtps/Subscriber.cpp.template#L100.
What you are reporting above was already addressed here: https://github.com/PX4/Firmware/pull/9643. About the documentation, as said, it's being updated, though this issue is not related to outdated docs (they lack some clarifications but they still apply to this case).

@TSC21 Thanks for clarifying this and sorry for misreported this as an issue. Should have done some thorough search about 'urtps' before opening an issue.
Yes I'm using a local commit branched from Firmware V3.3 stable release, and maybe that's a lit bit stale with regard to the urtps part.  I'll switch my work onto a branch which already contains that namespace fix.


Add props which allow custom styling for button and "selected" button

This is a small PR to allow for custom styling to be added so css classes can overwrite the specific styles as needed. I am not sure this is the best solution, but the base case works for me. Happy to update anything upon request as well :-)
A developer could then add a buttonStyling prop and a pointStyling prop to the component which would overwrite any css as needed for both selected and unselected cases.
Added styling to adjust the css for the icon is not provided in this PR, I could potentially do it though in the future.

There seems to be a problem with my pointStyles, updating now...sorry!

OK updated, works for me now, sorry about that!

Hey, how's this going?

Sorry about the delay, things have been crazy for me, I will try to update this asap and get an updated PR in.

Hi,
I'm trying those properties, isn't working, no class are added in the html
        <RadioGroup  horizontal onChange={this.onChange}>
          <RadioButton iconSize={20} buttonStyling="primarytoto" pointStyling="test2"  value="optionOne">
            {optionOneText}
          </RadioButton>
          <RadioButton buttonStyling="test" iconSize={20} value="optionTwo">
            { optionTwoText }
          </RadioButton>
        </RadioGroup>


feat(tutorial): complete step 1 - Carla Huff<EMAIL_ADDRESS>

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

No updates in 90 days. Closing.


How do I alternate background color of rows?

Has anyone successfully been able to alternate background colors for each row rendered? If so please share how you were able to achieve this. Thanks!

Hey! That's not so easy at the moment due to the nature how subtrees are rendered in a nested way, but a hacky solution would be to hook into context object from the tree environment, which contains a "linearItems" prop which contains a list of all tree items in a flattened order, which can be used to find out if an item is even or not. This can then be used in the item render logic to change the display behaviour.
Demo: https://codesandbox.io/s/react-complex-tree-playground-alternating-row-colors-1nu8p6?file=/src/App.tsx

Thanks for the reply. It looks a bit expensive to do the findIndex for each item render unfortunately. It's a bummer because I was going to transition to this library but our design system requires alternating colors 😞

Yeah that is true. Another option might be to customize the styling afterwards with the DOM api..
[...document.getElementsByClassName("rct-tree-item-button")]
  .filter((_, i) => i % 2 === 0)
  .forEach(n => n.style.backgroundColor = "red")

You would have to clean it up and rerun it every time the tree updates, so it's definitely far from elegant, but might be a feasible workaround since getElementsByClassName shouldn't be performance-costly.


[Request] - Improve current HomePage

hey can i work on this issue?

Sure @Sauhard74 ,
Can you share the figma design first before actually implementing it ?

Yes sure

Hey @Sauhard74 , Any update on this ?
Checkout this figma file, and let me know if it works well .

@Sauhard74 , did you get any chance to checkout the figma file i've provided ?

@Sauhard74 , did you get any chance to checkout the figma file i've provided ?

Yup I saw that I will be soon pushing my pr

Alright thanks !

Hi @Sauhard74 ,
Any update on this issue ?

@Gauravdarkslayer , can you please assign this issue to me ?

Sure, assigned


Error that keeps crashing Coursity

For forever logs.
info: Getting parser for mcmaster
/root/master/parsers/mcmaster.js:131
'course_number' : currentSection[1] ? currentSection[1] :
^
TypeError: Cannot read property '1' of null
at Object.parse (/root/master/parsers/mcmaster.js:131:53)
at /root/master/app.js:145:32
at fn (/root/master/node_modules/async/lib/async.js:746:34)
at /root/master/node_modules/async/lib/async.js:1213:16
at /root/master/node_modules/async/lib/async.js:166:37
at /root/master/node_modules/async/lib/async.js:706:43
at /root/master/node_modules/async/lib/async.js:167:37
at Immediate._onImmediate (/root/master/node_modules/async/lib/async.js:1206:34)
at processImmediate [as _immediateCallback] (timers.js:367:17)
error: Forever detected script exited with code: 1
error: Script restart attempt #122

Added #59 as a temporary fix. Should add a way to track error calendars. If there is a calendar that causes an error, the raw data should be sent to the log file. @sarmadhashmi How do we add this?


Please add Azure Gov to this doc

[Please add Azure Gov to this doc]

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

ID: da31e8ca-9234-5a12-4f1e-e1b2c39d39d9
Version Independent ID: e64078cb-075a-a6cf-775f-0754fd6395f5
Content: Download Azure billing invoice
Content Source: articles/cost-management-billing/manage/download-azure-invoice-daily-usage-date.md
Service: cost-management-billing
Sub-service: billing
GitHub Login: @bandersmsft
Microsoft Alias: banders

Thanks for bringing this to our attention. We will investigate it further and update you shortly.

https://github.com/MicrosoftDocs/azure-docs-pr/pull/188967

@bandersmsft - Thanks for raising the PR.
@Natochia - Thanks again for bringing this to our attention. We have updated the Doc and it will be live once its merged.  We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Add retry policy for reset connections with idempotent requests

Description:
If a connection is reset after a request has been sent then the request can often be safely retried if the method was one of GET/HEAD/PUT/DELETE/OPTIONS, or was a POST with no body and an "Expect: 100-continue" header.
It should be possible to configure a retry policy that will retry under those circumstances.
Relevant Links
As per the discussion in #2715
Discussion
Would it be useful to do this by adding configuration to allow a different response status code to be generated in this case? That way as well as a retry policy, it'd also be possible to instead pass the error up to the application to deal with.
Should this also happen with request timeouts?

@JonathanO assigning to you for now to drive this conversation. Seems a reasonable feature to me, although I'm not sure if everything you describe in that list is technically idempotent (POST).

In general, Envoy does not deal with idempotency since app developers nearly always get it wrong. I have no objection to adding a retry policy such as "idempotent_requests" that adheres to the above rules as long as its clearly documented that the application developers may not adhere to the rules.


Issue when pasting in the same address with a leading "oeth:"

This is very much not critical and 99% of people won't run into it.  If it is a non-issue, just close this.
When I already have an address loaded.  If the same address is pasted in with the leading oeth: text, it doesn't fully reload the address.

The reasoning behind this behavior is the following:
Since we have two sources of truth:

The url bar
The search bar
and they keep each other updated, I needed a way to check if the input and the url are the same and if they are, the app does not update anything, since it is the same address.

But let me look for a solution so that it gets updated!
Perhaps I need to rewrite the key logic of the app...

I don't believe that should be necessary for such a little that that people shouldn't run into.  Don't spend much time on it.

Closing as fixing this would introduce more issues, and this will not likely happen to anyone.


Fix counting for communities which use multiple URLs

For instance for the Winterberg community, which uses multiple meshviewer.json URLs, the result in Gluon Census would wrongly be shown as only around ~170 nodes, even though their map says "1006 nodes online". Also census-exporter.py says this for Winterberg:
  ...
  1166 unique nodes
  3 duplicates skipped

However the resulting gluon-census.prom will only have around 170 for Winterberg.
The issue is that if one URL sets this for instance:
  "base="gluon-v2020.1.3",community="Winterberg",version="gluon-v2020.1.3"

Then a later URL can provide an entry with the same labels and this later URL would wrongly override the numbers of the previously parsed URL.
To fix this, add the numbers instead of overwriting them.
Signed-off-by: Linus Lüssing<EMAIL_ADDRESS>

The commit message says "Fix parsing…", but isn't it rather something like "Fix counting…"?
Otherwise the change looks good to me.

Changelog v2:

"Fix parsing of" -> "Fix counting for" in commit title

Deployed, thank you!


⚠ Processors has degraded performance

In 008959c, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 198 ms

Resolved: Processors performance has improved in b7887e0.


re catch state

[ ] catch error - show modal (Alert) with message - "Please check permission" - (at top-right you can see approve from metamask)


Duplo 19084 lambda exception

Overview
Added lambdaWaitUntilReady to create context
Summary of changes
This PR does the following:

...
...

Testing performed

[ ] Using unit tests
[ ] Manually, on my local system
[ ✓] Manually, on a remote test system

Describe any breaking changes

...

Task linked: DUPLO-19084 TF provider exception on updating lambda function code along with env vars.


[ENH] BIDS software development guidelines appendix

Related (possibly to be reflected in that doc):

https://github.com/bids-standard/bids-specification/issues/56

This PR is primarily to palpate interest and possible objections
Additional TODOs known needed to be done

[ ] verify that linkage to those other documents works (manually until #79 will come back from the ashes)

Looks like a good thing to have. It reminds me a bit of the BEP LEAD GUIDELINES (formerly Contributor Guide).
Both documents seem to be on the same logical level, so I would propose to either

make the software development guide a GoogleDoc
import the BEP LEAD GUIDELINES into github as an appendix

@franklin-feingold @effigies do yo want to chime in on this PR?
Do you think the contents should be added to the spec? ... or in a different/separate Google Doc?
see also my comment above. @nicholst your comments were more of a concrete nature - but perhaps you also want to voice your opinion on where (and if at all) to include this in general.

My comments all seem very petty now :)
Anyway, I do see the role and value of guidelines for BIDS software, and it makes sense that it is distinct from  BEP LEAD GUIDELINES, right?
E.g., if I'm someone wanting to write software for BIDS 1.0, what does that have to do with a BEP?
So... unless there's another concrete suggestion, here as an appendix seems as good as any place.

Anyway, I do see the role and value of guidelines for BIDS software, and it makes sense that it is distinct from BEP LEAD GUIDELINES, right?

I agree that these should be distinct documents - but I see where the confusion is coming from.
I was simply saying that if we make THESE guidelines (for software) a part of the spec ... then why shouldn't the BEP-Lead-guidelines be a part of the spec as well?
This is just an argument for consistency, and I currently tend towards preferring putting the software guidelines in a google doc (until they grow more substantially) - but I am happy to hear other opinions.

My two cents on the point raised in this discussion:
Regarding having this part of the appendix - In the current makeup of the appendix, this document may be better suited to be part of the specification repository (temporarily) rather than in the specification RTD. This would be great in relation to information/repository for contributors (similar to the starter kit, but for contributors. perhaps establishing a need for a contributors repo?). There is infrastructure to be built out to support this type of information effectively (and even overall better establishing the process, documenting, and simplifying the pathway from user to contributor). In the meantime, perhaps this can be part of this repository. It can be in markdown, but if there is dynamic action that arises it can be ported over to google docs and the more rapid commenting/development can happen more seamlessly there. Google doc vs markdown I don't feel strongly either way.
In general, having a set of guidelines to uniformly build out software associated with BIDS will be really important as we move into wrapping up Derivatives, Statistical and Computational Models.

I went ahead and copied the contents to a google doc BIDS Software Development Guidelines
this document may be more easily shared and extended by other contributors.
If it grows and we finally decide what to do with it, we can reopen this PR.
Feel free to challenge this decision.

"Daddy, daddy!? what is a Google Doc?"
"Google Doc is where all good but unfinished ideas are moved to let them RiP" ;)


Using OE for pixel level predictions

I was going through the paper and in section 3 where the OE minimization objective is defined, there is no constraint on the type of loss that is being used. Hence I was curious if the methodology can be applied to tasks where we do pixel-level prediction (example image translation) and use L1 or L2 loss? Similar to classification loss, if we use uniform random ground truth images as the label for ood images, will it work or dealing with pixel-level predictions, require a completely different methodology?

It seems plausible that an l1 loss could work for OOD segmentation. (We will likely put up a paper in a month or two proposing a dataset for the task of OOD segmentation.)

If possible, can you tell me if the labels for segmentation of OOD samples would be random (similar to classification task) or something else?

I would first try giving anomalies a k+1st class.
On Sun, Aug 25, 2019 at 11:38 PM Shivam Saboo<EMAIL_ADDRESS>wrote:

If possible, can you tell me if the labels for segmentation of OOD samples
would be random (similar to classification task) or something else?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/hendrycks/outlier-exposure/issues/6?email_source=notifications&email_token=ACZBITRD4PN7XW7LDBWE3M3QGN3ABA5CNFSM4IK7W6E2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5DNPRQ#issuecomment-524736454,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACZBITTQFYTI5LKBV6KXB23QGN3ABANCNFSM4IK7W6EQ
.

https://github.com/hendrycks/anomaly-seg


PWA-763 Reactivated checkout tracking

Pull Request Test Coverage Report for Build 1752

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.009%) to 38.193%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pages/subscribers.js
0
1
0.0%

Totals

Change from base Build 1751:
-0.009%

Covered Lines:
1342

Relevant Lines:
3249

💛  - Coveralls


Refinery Terminology - Engines

As I work more and more with Rails 3.x and Refinery it is becoming more and more apparent that the term "engines" is a shared term between an idea of extending Refinery and the way it is actually accomplished - with a Rails::Engine or a Railtie.
Because of this shared name it is getting to a point where it can be confusing for developers who are participating on the project to understand the difference between a Refinery Engine and a Rails Engine. Naming variables, methods, modules, and classes can be a choir because of this conflicting namespace.
Because Refinery was birthed pre Engines this probably was never an issue before - the term Engine just made sense since they weren't exactly a huge part of Rails. I think that moving forward it would be best if the terminology was separated.
The extensibility term (Refinery Engine) should be given it's own name to separate itself from how it is accomplished (with a Rails Engine or a Railtie).
I have absolutely no suggestions to what the extensible packages should be called

Some ideas for name or general direction:

Expansion
Extension
Addon

Things we should not use because they conflict with ruby or rails, or refinery terminology:

Module
Plugin
Engine

Extension is my favourite. Probably because I've been doing a lot of Spree work lately. A common naming scheme across different engines is a good way to go.

We had a discussion with Jamie on irc last week about this.
I always thought that Refinery Engine is just a simple Rails Engine with some Refinery stuff on top of it but as it turns out it's not always true. I myself still have to +1 my rails skills to clearly distinguish what's an Engine, what's a Railtie and other friends.
Please explain to me this - user can generate a Refinery Engine (or better yet Extension - I'm with Ryan :)) which just extends Refinery CMS - that I can understand but what about Refinery Core engines? Are those extensions too? What are they extending?

Extensions it is. They're extending upon the core package of extensions. ;-)
Confusing, much?

I don't think it's too confusing to be a pain. Refinery comes with in-built extensions which then can be extended with your own custom extensions using the same framework.
Simple, really?

I'm sorry, my mind exploded in between our two messages.
Yeah, it's simple enough.
Who wants to implement?

I can implement it

Cool thanks Jamie

Please issue a pull request when this is done. "Extensions" it shall be.


Autogenerate modular examples and clean up

As we have the ipython notebook examples soon, all colourful and complicated examples that illustrate usefulness of things should go there.
In contrast, the modular examples can then be used to demonstrate API usage. This means that they can be kept very clean and simple.
This clear distinction then reduces users' confusion about where to look how to do things.
In addition: Modular examples (due to their new simplicity) can now be automatically generated for all modular interfaces. This means that we only have to write these once. In addition, we can assert that the output of all modular examples is equal which is possible in a similar way as integration testing now works.
Which language are the examples written in? This can be either python, which then has to be translated into other languages. Or even a META language which just consists of SHOGUN calls. Both ways should be easy to do since we basically just have class calls and data loading calls.
I set this for a cleanup release 3.1. Opinions?

This is not up to date anymore as we have the cookbook now


deploy proxy script does not always add app roles and can result in a 401

URL to file scripts/deployfhirproxy.bash

Hi Daemel,
Is there any update on this issue as I am getting 401 error while trying to access proxy API from postman.
Thanks in advance.

@venkateshtarra - until the pull request get merged, you can work around this issue by executing the script from the scripts folder.
Do this:
cd scripts
bash deployfhirproxy.bash

Not this:
bash scripts/deployfhirproxy.bash


Made WebSocketCLIController Class Servicelocator aware.

Made WebSocketCLIController Class Servicelocator aware. (compatible for zend-framework 3)

Many Thanks Stanislav :D

Quite excited ... that was my first pull request.


InfiniteScroller console warning about unique key

Console log shows
VM27174 warning.js:33 Warning: Each child in an array or iterator should have a unique "key" prop.

Check the render method of `InfiniteScroll`. It was passed a child from Vms. See https://fb.me/react-warning-keys for more information.
    in div (created by Vms)
    in InfiniteScroll (created by Vms)
    in Vms (created by Connect(Vms))
    in Connect(Vms) (created by VmsList)
    in VmsList (created by Connect(VmsList))

Works fine anyway, lower priority to make code clean.

Add key={0} to the loader fix it. see
https://github.com/oVirt/ovirt-web-ui/pull/616#issue-189719094

hello, i add key to infinite
 <InfiniteScroll
        hasMore={hasMore}
        loader={
}
        loadMore={loadFunc}
        pageStart={0}
      >

and still have warning in console, someone can help me ?

Yes I too have the same problem - I am using V1.2.4

@nateg101 @arhamymr this is an old issue. Is it reproduced for you on latest version 1.6.4 as well?

Anybody still come out with the same issue? I use version 1.2.6 and there is still the same warning…

I also have this issue with version 1.2.6, and it's May 2023 now.

If someone is facing this issue, make sure you wrap your component with a div and key:
loader={

    <MyLoaderComponent />

}

I was having this warning as well because the key was inside my component, but moving it in the same place as the loader prop solved the issue


[tasks/lint_rules] Use flat ESLint for list generation

For now, https://github.com/oxc-project/oxc/tree/main/tasks/lint_rules is using the ESLint Node.js API to track implementation progress
The latest ESLint, now at v9 (which defaults to flat config), does not support APIs such as Linter#getRules() and defineRule() that we've been using 😢
Unfortunately, there is no direct Node.js API replacement for these functions

https://github.com/eslint/eslint/issues/18103
We need to fetch https://github.com/eslint/eslint/blob/main/docs/src/_data/rules_meta.json directly

However, it's still possible to access the legacy APIs by using Linter({ configType: "eslintrc" })
Major plugins have yet to support flat config and appear to be in a transitional phase

There's no need to rush, but we should address this in the near future, before the release of v10.
See also:

📈 Tracking: Flat Config support · Issue #18093 · eslint/eslint
https://github.com/eslint/eslint/issues/18093

Action: fetch rule list from https://github.com/eslint/eslint/blob/main/docs/src/_data/rules_meta.json

According to https://github.com/eslint/eslint/issues/18103, there'll be something else by the next major version. Let's close this as not planned for now and wait until things break since there's no actionable items to do.


Unacked message prevents following messages from being acked

I have the following scenario:

1 consumer (using rabbot)
Consuming 1 queue
Prefetch count != 1 (either 0 or greater than 1)

I noticed that a single "pending" message (not acked, nacked or rejected yet) will prevent all following messages from being acked, i.e. calling msg.ack() has no effect and they stay "unacked" in the queue.
As I was debugging, it seems like there's some logic in the batching of acks done by rabbot that prevents the acks from being sent in this case (until the pending message gets acked/nacked).
Can you confirm that it's the current behavior of rabbot? If it is it should really be fixed because unacked messages shouldn't prevent other messages from being acked.

After further investigation, it turns out I need to use noBatch: true on the queue to get the behavior I want, i.e. the ability to acknowledge messages that come after an unacked message. If I'm not mistaken batching relies on RabbitMQ multiple acknowledgements which only support acknowledging up to a certain message, so I understand why rabbot cannot send a batch ack when the first message in the batch is unacked.


Unify usage of settings

There are a number of place that we are using getattr(settings, <setting>, <default>), with varying defaults for the same setting. We should either:

Trust the base configuration as canonical and stop trying to redefine settings defaults everywhere
Use a secondary module to import settings into and set defaults in a common area
Break out defaults for use in various calls to getattr -- though this duplicates the default in base config, unless we remove settings there

Raised in #1829

I think that using gettattr with a default value all over the code is not a good idea. I'd prefer to have a settings/default.py or similar (even in the settings/base.py) where all the default settings live.
Otherwise it's need to jump into specific files to see what is the default value for a setting and there is no way to see them all together.

+1. We should move all the defaults into base.py, and remove our usage of getattr.

(This feels like cleanup, which I thought we were de-prioritizing though)

I'd avoid a settings.default given our already complex setting hierarchy. I think settings.base is the correct place for defaults.
+1 on making this our pattern going forward, and +1 on making refactoring this a non-priority cleanup task.

We have decided to drop getattr and define settings in the base.

Working on it. I'll open a PR soon.


How to using stream output with vllm?

Although there are some lib wrappered vllm like TGI, but I want to know how to using vllm with stream output enabled, currently hard to found out-of-box example on it.
Typically, with original hf transforemrs API, one can using a TextStreamer and send into generate_kwargs to do this:
generate_kwargs = dict(
                **input_ids,
                max_new_tokens=50 if args.bare else 800,
                streamer=streamer,  <--- streamer
                do_sample=True,
                num_beams=1,
                temperature=float(args.temp),
                top_k=40,
                top_p=float(args.top_p),

            )

Any out-of-box I can use to enable stream in vllm? Thanks

I solved it.

Please tell how did you solve it?

@lucasjinreal Please tell how did you solve it?

@lucasjinreal Please tell how did you solve it?

+1

How did you solve it? Can you provide Python code reference?

This thread is hilarious, some true DenverCoder9 energy.
Anyways, there is some example code for how to do streaming output here: https://github.com/vllm-project/vllm/blob/main/vllm/entrypoints/api_server.py#L56-L63

The real hilarious thing is that I solved it and again after reviewing mess of vllm documentation, I come back to my own issue.
For thoese who using LLM wants streaming you can refer to:
results_generator = llm.generate(inputs, sampling_params, str(time.monotonic()))
    outputs = ""
    async for request_output in results_generator:
        prompt = request_output.prompt
        if request_output.finished:
            print()
        else:
            out = request_output.outputs[-1].text
            if len(out) == 0:
                continue
            out_delta = out[len(outputs) :]
            print(out_delta, end="", flush=True)
            outputs = out

One can get the output by concating the outputs, or yeild the output for API serving.
For now, I am stuck at the MLLM streaming issue, it's lenght not correct.

just use
python -m vllm.entrypoints.openai.api_server --served-model-name


Load 2014,2016 survey data into DB

1)Added a new folder called "data_preprocessing" this folder would hold the jupyter notebooks for all the data pre processing we do.
2)Added a new jypyter notebook to load data into postgres using python
3) Added a new file "Database_Creation_SQL_MHT" which holds code for creating 3 tables 1)Survey table 2)2014 survey data3)2016 surveys data
4)Added a new subfolder called "filestoload" within "Database" folder which holds the csv files to load into DB .

Adding the following folders and files .

data_preprocessing/OSMI_MHIT_data_cleaning.ipynb
data_preprocessing/Load_Cleaned Data to DB.ipynb
Database/Database_Creation_SQL_MHT
Database/filestoload/2014_surveydata.csv
Database/filestoload/2016_surveydata.csv
Database/filestoload/Survey.csv
technology[This would hold any images to describe the tech we use]
visualizations[This would hold the jupyter notebooks or screen shots or links pertaining to visualizations]


Hot-reload loop

I'm facing an issue with ho-reload. Below is the dump how I setup the project. when everything is set the prompt is silent as expected. once I make one change in e.g. the index.md hot reload seems to be triggered forever. You see this in the end of the dump, I just made one file change in the meantime, but the last parts keep repeating as if there's no tomorrow :)
May it be that some files are not properly excluded from the watcher, so it triggers itself all the time?
Would appreciate help, the rest of the project works really well so far.
mb@mb:~/dev/test$ mkdir boogi-hotreload
mb@mb:~/dev/test$ cd boogi-hotreload/
mb@mb:~/dev/test/boogi-hotreload$ yarn global list | grep boogi
info<EMAIL_ADDRESS>has binaries:
   - boogi
mb@mb:~/dev/test/boogi-hotreload$ node --version
v12.19.0
mb@mb:~/dev/test/boogi-hotreload$ boogi init
______                _____  _
| ___ \              |  __ \(_)
| |_/ /  ___    ___  | |  \/ _
| ___ \ / _ \  / _ \ | | __ | |
| |_/ /| (_) || (_) || |_\ \| |
\____/  \___/  \___/  \____/|_|

(node:3926715) DeprecationWarning: Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.
  ✔ 🔬 Checking if BooGi is already initialized in .
  ✔ 📂 Creating required directories
  ✔ 🌲 Preparing Git repo
  ✔ 🧙♀ Now configuration wizard will help you set up BooGi
? Select BooGi version to use: v1.0.1 recommended

Before start...

Now wizard will walk you through a series of questions helping you set up your BooGi app.
For details or help visit our docs (https://boogi.netlify.app/configuration/setting-up).

You are using basic wizard. You will be guided to set up most important settings, for the rest defaults are applied.
If you want to use full mode, add --full option to init command.
You will be able to change any configuration at any time after initialization!

If you are not able to provide some configuration right away -- you can just skip it by pressing enter.
Default values are visible in gray color in (brackets). You can accept them by pressing enter.

Page Info
While creating your own BooGi-based page, you should first set up metadata.
It defines core information about your page required for it to work, its identification and SEO.
? [required] Name of your page: foo
? [required] Short name (e.g. abbreviation) of your page: foo
? Description of your website. Used to improve website SEO.
? [required] Language of your website: English
? [required] Full URL to your website, e.g. https://mysite.com: http://localhost

Progressive Web App
PWA is a web app that uses modern web capabilities to deliver an app-like experience to users.
We recommend enabling it cause it greatly improves user experience!
? Do you want to enable PWA? (recommended) No

Header
Set up app header
? [required] Do you want to enable page header? No

Sidebar
Set up app navigation sidebar. You will be able to manage groups and advanced configuration later on.
? [required] Do you want to enable navigation sidebar? No

Social
Set up social buttons displayed in header. They allow you to link easily other social pages to your BooGi app.
? Do you want to configure social buttons? No

Search
Set up app search capabilities. As of now only Algolia search is supported (local search is coming soon)
? [required] Do you want to enable Algolia search? No

RSS feed
Set up RSS feed.
? Do you want to enable RSS feed? No

App features
Set up additional app features.
? In which repository do you keep this app? Github
? What is the address to your Git repository? http://localhost
? Do you want to enable dark mode (light/dark theme mode)? No

  ✔ ⚡ Creating files
  ✔ ⚙  Applying configuration
  ✔ 💾 Downloading required dependencies
  ✔ Making first commit

🚀 Done! You can not start your app with boogi develop or build it with boogi build 🔥
mb@mb:~/dev/test/boogi-hotreload$ boogi develop
______                _____  _
| ___ \              |  __ \(_)
| |_/ /  ___    ___  | |  \/ _
| ___ \ / _ \  / _ \ | | __ | |
| |_/ /| (_) || (_) || |_\ \| |
\____/  \___/  \___/  \____/|_|

  ✔ ⚡ Verifying app...
  ✔ Downloading BooGi ...
  ✔ 💾 Downloading requirements...
  ✔ 💻 Starting development server on port 8000
success open and validate gatsby-configs - 0.110s
success load plugins - 0.923s
success onPreInit - 0.040s
success initialize cache - 0.010s
success copy gatsby files - 0.029s
success onPreBootstrap - 0.013s
success createSchemaCustomization - 0.010s
success Checking for changed pages - 0.001s
success source and transform nodes - 0.690s
success building schema - 0.320s
success createPages - 0.027s
success Checking for changed pages - 0.001s
success createPagesStatefully - 0.092s
success update schema - 0.022s
success write out redirect data - 0.001s
success onPostBootstrap - 0.002s
info bootstrap finished - 3.956s
success onPreExtractQueries - 0.001s
success extract queries from components - 0.452s
success write out requires - 0.045s
warn Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
success run static queries - 0.364s - 4/4 11.00/s
success run page queries - 0.033s - 4/4 119.69/s

You can now view BooGi in the browser.

  http://localhost:8000/

View GraphiQL, an in-browser IDE, to explore your site's data and schema

  http://localhost:8000/___graphql

Note that the development build is not optimized.
To create a production build, use gatsby build

success Building development bundle - 11.603s
info changed file at /home/mb/dev/test/boogi-hotreload/.boogi/v1.0.1/content/index.md
success building schema - 0.377s
success createPages - 0.009s
success Checking for changed pages - 0.001s
success update schema - 0.015s
success onPreExtractQueries - 0.001s
success extract queries from components - 0.067s
success write out requires - 0.001s
success run static queries - 0.062s - 2/2 32.04/s
success run page queries - 0.016s - 2/2 123.70/s
success Re-building development bundle - 0.147s
success building schema - 0.270s
success createPages - 0.007s
success Checking for changed pages - 0.001s
success update schema - 0.015s
success onPreExtractQueries - 0.001s
success extract queries from components - 0.064s
success write out requires - 0.001s
success building schema - 0.248s
success createPages - 0.008s
success Checking for changed pages - 0.001s
success update schema - 0.018s
success onPreExtractQueries - 0.001s
success extract queries from components - 0.054s
success write out requires - 0.001s
success building schema - 0.234s
success createPages - 0.007s
success Checking for changed pages - 0.001s
success update schema - 0.013s
success onPreExtractQueries - 0.001s
success extract queries from components - 0.052s
success write out requires - 0.001s
success building schema - 0.237s
success createPages - 0.009s
success Checking for changed pages - 0.001s
success update schema - 0.013s
success onPreExtractQueries - 0.001s
success extract queries from components - 0.048s
success write out requires - 0.001s
success building schema - 0.227s
success createPages - 0.006s
success Checking for changed pages - 0.001s
success update schema - 0.012s
success onPreExtractQueries - 0.001s
success extract queries from components - 0.050s
success write out requires - 0.001s
success building schema - 0.217s
success createPages - 0.007s
success Checking for changed pages - 0.001s
success update schema - 0.012s
success onPreExtractQueries - 0.001s
success extract queries from components - 0.052s
success write out requires - 0.001s
......

I found this issue as well. Thanks for reporting.

@thought2
Could you please update gatsby and gatsby-cli?
Remove or add yarn-cli?
 sudo yarn global remove gatsby-cli
 sudo yarn global add gatsby-cli

Update to latest version of Gatsby 2
yarn add<EMAIL_ADDRESS>
Here is my Gatsby version when running gatsby --version.
Gatsby CLI version: 3.0.0
Gatsby version: 2.32.9

With updating Gatsby, it fixes the problem on my computer.

nice, this seems to work now.

If it works for you, I think we need to make a new pull request. I will create a pull request soon.