• MediaRecorder по какой причине может возникать рассинхронизация Audio и Video?

    A_Modestov
    @A_Modestov Автор вопроса
    В целом похоже на то. Дальнейшие исследования показали что вероятно тормозила отрисовка канваса со смешанными стримами. Немного оптимизировали, кейс конкретного пользователя пофиксили. Но проблема вероятно еще актуальна.

    Есть у кого то опыт смешивания видео стримов в реальном времени? Есть ли более легкая альтернатива канвасу?
  • Какой js фреймворк выбрать на замену angular js?

    A_Modestov
    @A_Modestov Автор вопроса
    Я хочу получить усредненное мнение) Или воспользоваться опытом тех, кто провернул подобную миграцию
  • Какой js фреймворк выбрать на замену angular js?

    A_Modestov
    @A_Modestov Автор вопроса
    Stimulus и spa это да. В случае с ним рассматриваем возможность отказа от spa и перехода на rails вьюхи. Насколько он удобный и универсальный вообще? Может ли покрыть все потребности? Большое ли комьюнити?
  • Можно ли выполнять whenever:update_crontab по расписанию whenever?

    A_Modestov
    @A_Modestov Автор вопроса
    А через whenever не выйдет? Есть команда "whenever --update-crontab", т.е whenever по своему расписанию обновляет расписание cron. Вот именно это мне нужно делать периодически, раз в полчаса.
  • Как правильно сформировать POST запрос через curl?

    A_Modestov
    @A_Modestov Автор вопроса
    Каким образом можно экранировать & ? Реальный запрос выглядит именно так, разбить параметры не могу.
  • Как обратиться к html элементу на уровень выше с помощью Capybara?

    A_Modestov
    @A_Modestov Автор вопроса
    Да, так и сделал. Нагуглил-таки)
  • Как заставить ajax выполниться один раз?

    A_Modestov
    @A_Modestov Автор вопроса
    Карим Кьятлоттьяви: пробовал, не помогает. Пробежался глазами по коду страницы - нашел только 2 соответствующие подписки
  • Как заставить ajax выполниться один раз?

    A_Modestov
    @A_Modestov Автор вопроса
    Карим Кьятлоттьяви: вроде нет, на странице всего 2 подписки на разные каналы. И чаще всего приходит 2 экземпляра вместо одного
  • Как запустить redis/resque на Heroku?

    A_Modestov
    @A_Modestov Автор вопроса
    прописываете URL для редиса
    - можно этот пункт поподробнее?
    Создал redis.rb:
    if ENV["REDISCLOUD_URL"]
      $redis = Redis.new(:url => ENV["REDISCLOUD_URL"])
    else
      $redis = Redis.new(:host => 'localhost', :port => 6379)
    end


    было resque.rb:
    require 'resque-scheduler'
    
    uri = URI.parse("redis://localhost:6379/")  
    Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)


    как заставить resque стучаться на rediscloud на heroku и в localhost если на локалке?
  • Как запустить redis/resque на Heroku?

    A_Modestov
    @A_Modestov Автор вопроса
    Please verify your account to install this add-on plan (please enter a credit card) For more information, see https://devcenter.heroku.com/categories/billing Verify now at https://heroku.com/verify при попытке установить бесплатную версию. Без этого никак?
  • Как исправить ошибку при запуске миграции на heroku?

    A_Modestov
    @A_Modestov Автор вопроса
    При деплое ровно та же ошибка. а гем вот об этом: https://habrahabr.ru/post/111676/

    Counting objects: 36, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (34/34), done.
    Writing objects: 100% (36/36), 5.41 KiB | 0 bytes/s, done.
    Total 36 (delta 18), reused 0 (delta 0)
    remote: Compressing source files... done.
    remote: Building source:
    remote:
    remote: -----> Using set buildpack heroku/ruby
    remote: -----> Ruby app detected
    remote: -----> Compiling Ruby/Rails
    remote: -----> Using Ruby version: ruby-2.2.3
    remote: -----> Installing dependencies using bundler 1.9.7
    remote: Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
    remote: Using rake 10.5.0
    remote: Using i18n 0.7.0
    remote: Using json 1.8.3
    remote: Using minitest 5.8.4
    remote: Using thread_safe 0.3.5
    remote: Using builder 3.2.2
    remote: Using erubis 2.7.0
    remote: Using mini_portile2 2.0.0
    remote: Using rack 1.6.4
    remote: Using mime-types 2.99.1
    remote: Using arel 6.0.3
    remote: Using execjs 2.6.0
    remote: Using bcrypt 3.1.10
    remote: Using sass 3.4.21
    remote: Using will_paginate 3.1.0
    remote: Using bootstrap_form 2.3.0
    remote: Using coffee-script-source 1.10.0
    remote: Using thor 0.19.1
    remote: Using commonjs 0.2.7
    remote: Using concurrent-ruby 1.0.1
    remote: Using daemon_controller 1.2.0
    remote: Using orm_adapter 0.5.0
    remote: Using diff-lcs 1.2.5
    remote: Using event-calendar 2.3.3
    remote: Using multi_json 1.11.2
    remote: Using tilt 2.0.2
    remote: Using mimemagic 0.3.0
    remote: Using pg 0.18.4
    remote: Using bundler 1.9.7
    remote: Using rails_serve_static_assets 0.0.5
    remote: Using rails_stdout_logging 0.0.4
    remote: Using rspec-support 3.4.1
    remote: Using faker 1.6.3
    remote: Using tzinfo 1.2.2
    remote: Using rdoc 4.2.2
    remote: Using nokogiri 1.6.7.2
    remote: Using rack-test 0.6.3
    remote: Using warden 1.2.6
    remote: Using mail 2.6.3
    remote: Using autoprefixer-rails 6.3.3.1
    remote: Using uglifier 2.7.2
    remote: Using bootstrap-will_paginate 0.0.10
    remote: Using coffee-script 2.4.1
    remote: Using less 2.6.0
    remote: Using sprockets 3.5.2
    remote: Using rails_12factor 0.0.3
    remote: Using rspec-core 3.4.3
    remote: Using rspec-expectations 3.4.0
    remote: Using activesupport 4.2.5.2
    remote: Using loofah 2.0.3
    remote: Using sdoc 0.4.1
    remote: Using bootstrap-sass 3.3.6
    remote: Using rspec-its 1.2.0
    remote: Using rails-deprecated_sanitizer 1.0.3
    remote: Using globalid 0.3.6
    remote: Using activemodel 4.2.5.2
    remote: Using climate_control 0.0.3
    remote: Using jbuilder 2.4.1
    remote: Using loop_dance 0.5.3
    remote: Using rails-html-sanitizer 1.0.3
    remote: Using rails-dom-testing 1.0.7
    remote: Using activejob 4.2.5.2
    remote: Using activerecord 4.2.5.2
    remote: Using cocaine 0.5.8
    remote: Using actionview 4.2.5.2
    remote: Using actionpack 4.2.5.2
    remote: Using paperclip 4.3.5
    remote: Using actionmailer 4.2.5.2
    remote: Using railties 4.2.5.2
    remote: Using less-rails 2.7.1
    remote: Using sprockets-rails 3.0.4
    remote: Using simple_form 3.2.1
    remote: Using coffee-rails 4.1.1
    remote: Using responders 2.1.1
    remote: Using font-awesome-rails 4.5.0.1
    remote: Using jquery-rails 4.1.0
    remote: Using momentjs-rails 2.11.0
    remote: Using rails 4.2.5.2
    remote: Using sass-rails 5.0.4
    remote: Using turbolinks 2.5.3
    remote: Using twitter-bootstrap-rails 3.2.2 from git://github.com/seyhunak/twitter-bootstrap-rails.git (at master)
    remote: Using devise 3.5.6
    remote: Bundle complete! 30 Gemfile dependencies, 82 gems now installed.
    remote: Gems in the groups development and test were not installed.
    remote: Bundled gems are installed into ./vendor/bundle.
    remote: Bundle completed (0.43s)
    remote: Cleaning up the bundler cache.
    remote: Could not detect rake tasks
    remote: ensure you can run `$ bundle exec rake -P` against your app with no environment variables present
    remote: and using the production group of your Gemfile.
    remote: rake aborted!
    remote: NameError: undefined local variable or method `load_dancers' for #
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/loop_dance-0.5.3/lib/loop_dance/railtie.rb:25:in `block in '
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/railtie.rb:237:in `instance_exec'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/railtie.rb:237:in `block in run_tasks_blocks'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/railtie.rb:245:in `each'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/railtie.rb:245:in `each_registered_block'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/railtie.rb:237:in `run_tasks_blocks'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/application.rb:451:in `block in run_tasks_blocks'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/engine/railties.rb:13:in `each'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/engine/railties.rb:13:in `each'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/application.rb:451:in `run_tasks_blocks'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/railties-4.2.5.2/lib/rails/engine.rb:453:in `load_tasks'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/Rakefile:6:in `'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/rake_module.rb:28:in `load'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/rake_module.rb:28:in `load_rakefile'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/application.rb:689:in `raw_load_rakefile'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/application.rb:94:in `block in load_rakefile'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/application.rb:93:in `load_rakefile'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/application.rb:77:in `block in run'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/lib/rake/application.rb:75:in `run'
    remote: /tmp/build_c9c9c600ddb589484435969f3afe7790/vendor/bundle/ruby/2.2.0/gems/rake-10.5.0/bin/rake:33:in `'
    remote: vendor/bundle/bin/rake:16:in `load'
    remote: vendor/bundle/bin/rake:16:in `'
    remote:
    remote: ###### WARNING:
    remote: No Procfile detected, using the default web server (webrick)
    remote: https://devcenter.heroku.com/articles/ruby-default...
    remote:
    remote:
    remote: -----> Discovering process types
    remote: Procfile declares types -> (none)
    remote: Default types for buildpack -> console, rake, web, worker
    remote:
    remote: -----> Compressing...
    remote: Done: 48M
    remote: -----> Launching...
    remote: Released v7
    remote: https://lit-sands-15636.herokuapp.com/ deployed to Heroku
    remote:
    remote: Verifying deploy.... done.
  • Как правильно применить delayed_job для создания повторяющихся событий?

    A_Modestov
    @A_Modestov Автор вопроса
    3) Фоновая задача по планированию событий, которая будет выполняться например 1 раз в час и будет читать данные из пп.1-2 и создавать следующее приближающееся событие.

    Как можно организовать ежечасно выполняющееся событие?
  • Как правильно применить delayed_job для создания повторяющихся событий?

    A_Modestov
    @A_Modestov Автор вопроса
    Создал модель:
    class JobCreateEvents < Struct.new(:event_id, :user_id, :params)
    	def perform
    	    user = User.find(user_id)
    	    event = Event.find(event_id)
          	case event.repeat
    	        when 1 
    	          for i in 1..365
    	            next_event = user.events.create(params)
    	            next_event.update_attributes( start_at: event.start_at + i.day )
    	            next_event.update_attributes( end_at: event.end_at + i.day )
    	          end
    	        when 2 
    	          for i in 1..53
    	            next_event = user.events.create(params)
    	            next_event.update_attributes( start_at: event.start_at + i.week )
    	            next_event.update_attributes( end_at: event.end_at + i.week )
    	          end
    	        when 3 
    	          for i in 1..11
    	            next_event = user.events.create(params)
    	            next_event.update_attributes( start_at: event.start_at + i.month )
    	            next_event.update_attributes( end_at: event.end_at + i.month )
    	          end
    	        when 4 
    	          for i in 1..10
    	            next_event = user.events.create(params)
    	            next_event.update_attributes( start_at: event.start_at + i.year )
    	            next_event.update_attributes( end_at: event.end_at + i.year )
    	          end
          	end
    	end
    end


    Добавил действие в контроллер:
    def create
        @event = current_user.events.create(event_params)
        Delayed::Job.enqueue JobCreateEvents.new(@event.id, @current_user.id, event_params)
    
        if @event.errors.empty?
          redirect_to user_path(current_user)
        else 
          render "new"
        end
      end


    В итоге выполняется только первое @event = current_user.events.create(event_params). В чем может быть косяк?
  • Как добавить свойства к модели Devise?

    A_Modestov
    @A_Modestov Автор вопроса
    Спасибо, разобрался. Тут все параметры передавать надо, не только дополнительные?
  • Почему скрипт jQuery срабатывает только после перезагрузки страницы?

    A_Modestov
    @A_Modestov Автор вопроса
    Да, этот вариант сработал без отказа от turbolinks, спасибо)
  • Как реализовать повторяющиеся события в event_calendar rails?

    A_Modestov
    @A_Modestov Автор вопроса
    Андрей Никифоров: дело то как раз в том, что у меня нет опыта и я до конца его не понимаю. там метод на методе, покопавшись минут 20 я так и не разобрался где и что зацикливать. Но спасибо за мнение.
  • Как реализовать повторяющиеся события в event_calendar rails?

    A_Modestov
    @A_Modestov Автор вопроса
    А это действительно адекватный выход?) Может что то более рациональное? Может кто в геме разбирался?