@react_js
React — русскоговорящее сообщество

Обсуждаем React.js и экосистему. См. также: @reactnative_ru, @apollo_ru, @protonnative_ru, @nodejs_ru, @js_ru, @uiux_ru Вакансии и поиск работы: @javascript_jobs Правила: http://bit.ly/our_etiquette Sponsored with ❤️ by www.axept.co

5822 members

Архив канала @react_js 4 мая 2016 г.

04:10:29 ДП
User 143141567
Кто нить пользуется react-storybook?
04:11:38 ДП
User 143141567
Есть проблема с модулем hot reload видимо, потому что в консоли выпадают ошибки: __webpack_hmr (canceled) eventsource
04:13:03 ДП
User 143141567
видимо настройки сервера не правильные, стоит nginx, storbook запускается на localhost:9001, но все это на удаленном серваке
04:13:54 ДП
User 143141567
поэтому доступ по обычному внешнему ip, просто по адресу, который перенаправляется на localhost внутренний
04:14:11 ДП
User 143141567
и вот в консоли все время выпадает ошибка сетевого запроса
04:14:20 ДП
User 143141567
может над в nginx что-нить настроить?
04:14:23 ДП
User 143141567
кто-нибудь знает?
04:18:59 ДП
User 199126836
Предположу, что websockets не проксируются
04:19:56 ДП
User 199126836
http://nginx.org/ru/docs/http/websocket.html
04:20:51 ДП
User 143141567
Да, правда не вебсокеты, а eventsource
04:36:25 ДП
User 597730
User 41482050
Знаю что конфа по реакту, но все же. Я бэкендер, который скатывается в фуллстек, знаю 1 ангуляр на троечку. Куда податься, в реакт или 2 ангуляр? На и то и то сил и времени не хватит :/
Совет от бэкендера, который вынужден работать с фуллстеком - реакт. Ибо минимум DSL и максимум джаваскрипта, а память и время не резиновые. Если понадобится потом переходить на что-то другое, почти весь твой прошлый опыт останется с тобой, а не станет ненужным, как в случае с первым ангуляром. В реакте можно найти успокоение поискам и начать жить. Ну и react-native опять же, если понадобится мобильный интерфейс.
06:14:15 ДП
User 41482050
User 597730
Совет от бэкендера, который вынужден работать с фуллстеком - реакт. Ибо минимум DSL и максимум джаваскрипта, а память и время не резиновые. Если понадобится потом переходить на что-то другое, почти весь твой прошлый опыт останется с тобой, а не станет ненужным, как в случае с первым ангуляром. В реакте можно найти успокоение поискам и начать жить. Ну и react-native опять же, если понадобится мобильный интерфейс.
Четко. Спасибо
06:41:02 ДП
User 4627228
Для тех, кто только начинает - курс по React/Redux http://code.tutsplus.com/courses/modern-web-apps-with-react-and-redux
code.tutsplus.com/courses/modern-web-apps-with-react-and-redux
React is a JavaScript library for building user interfaces that has taken the web development world by storm. React is known for its blazing-fast performance and has spawned an ecosystem of...
06:47:21 ДП
User 4627228
User 143141567
Кто нить пользуется react-storybook?
А зачем на удалённом сервере запускаете?
06:50:17 ДП
User 143141567
User 4627228
А зачем на удалённом сервере запускаете?
это dev сервер, там ведется вся разработка и находятся api
07:05:00 ДП
User 68520717
На локалхосте же удобнее
07:06:09 ДП
User 68520717
А апи можно проксировать
07:06:36 ДП
User 68520717
Или мокать, что ещё лучше
07:13:18 ДП
User 185980313
hmr стандартно ходит на локалхост и если ты заходишь с внешнего ip, то нужно явно прописать настройки ip и порта в entri point webpack. К примеру - 'webpack-hot-middleware/client?path=http://' + host +':'+ port +'/__webpack_hmr'
07:13:58 ДП
User 185980313
и в доках сторибука указано как просто переконфигурировать их вебпак )
07:47:21 ДП
User 4627228
http://slides.com/jenyaterpil/redux-from-twitter-hype-to-production
slides.com/jenyaterpil/redux-from-twitter-hype-to-production
An presentation created with Slides.
07:53:50 ДП
User 185980313
хорошие слайды, есть видео с докладом?
08:10:26 ДП
User 47923961
Добрый день) подскажите какой роутер лучьше использовать вместе с Redux и серверным рендером?
08:12:00 ДП
User 68520717
react-router?
08:12:28 ДП
User 4627228
https://github.com/reactjs/react-router/blob/master/docs/guides/ServerRendering.md
github.com/reactjs/react-router/blob/master/docs/guides/ServerRendering.md
react-router - A complete routing library for React
08:14:05 ДП
User 47923961
Благодарю).
08:20:05 ДП
User 4627228
Кто использует React Native с Relay? Вы для NavigationBar отдельный роут создаёте или на более верхнем уровне один используете для NavigationBar и сцены?
08:21:13 ДП
User 153807368
User 47923961
Добрый день) подскажите какой роутер лучьше использовать вместе с Redux и серверным рендером?
вдогонку на всякий, соответствующий бойлерплейт годный, с годными зависимостями
https://github.com/erikras/react-redux-universal-hot-example
github.com/erikras/react-redux-universal-hot-example
A starter boilerplate for a universal webapp using express, react, redux, webpack, and react-transform - erikras/react-redux-universal-hot-example
08:22:03 ДП
User 47923961
спасибо)
08:29:55 ДП
User 118628034
Народ кто-нибудь боролся в Safari с тормозами из-за специфики отрисовки шрифтов (аппаратно, программно). Симптомы у этой проблемы такие - мышкой водите над текстом, а он начинает меняться (чуть жирнее, светлее и т.д.)
08:31:17 ДП
User 151893222
есть сомнительный хак transform: translateZ(0)
08:31:21 ДП
User 4627228
Transform испоьлзуете?
08:31:23 ДП
User 151893222
периодами помогали
08:31:54 ДП
User 4627228
Safari + Transform => ночи без сна
08:32:03 ДП
09:02:58 ДП
User 1340580
User 153807368
вдогонку на всякий, соответствующий бойлерплейт годный, с годными зависимостями
https://github.com/erikras/react-redux-universal-hot-example
github.com/erikras/react-redux-universal-hot-example
A starter boilerplate for a universal webapp using express, react, redux, webpack, and react-transform - erikras/react-redux-universal-hot-example
Мне Костин больше нравится:
https://github.com/kriasoft/react-starter-kit
github.com/kriasoft/react-starter-kit
React Starter Kit — isomorphic web app boilerplate (Node.js, Express, GraphQL, React.js, Babel, PostCSS, Webpack, Browsersync) - kriasoft/react-starter-kit
09:07:22 ДП
User 185980313
там минус в том, что используется не react-router
09:09:54 ДП
User 47923961
Ранее невозможно было в react-router передать контекст, по этому его не использовали. Насколько я понял.
09:22:46 ДП
09:27:37 ДП
User 178361440
У меня такое ощущение что ещё пару версий и React Router начнёт использовать такой же подход что в React Starter Kit :)
09:31:58 ДП
User 178361440
Например, в React Router теперь тоже можно использовать plain JavaScript вместо JSX, добавили getComponent.. В React Starter Kit-e вместо этого просто action(), рут может вернуть все что угодно, не только Реакт компонент
09:35:58 ДП
User 178361440
Например, React Router

{
  path: '/some/page',
  getComponent: (cb) => cb(SomePage)
}

React Starter Kit

{
  path: '/some/page/',
  action: () => {
    title: 'Some Page',
    meta: [{ name: 'description', content: 'bla-lba' }],
    scripts: [ './3rd-party.script.js' ],
    component: <Layout><SomePage /></Layout>
  }
}

Нормальную библиотеку для URL матчинга тока собираются внедрять, в React Starter Kit-е c самого начала используется path-to-regexp
09:36:54 ДП
User 178361440
поддержка async/await (промисов) из коробки, а в React Router на доисторических колбэках :)
09:38:03 ДП
User 178361440
https://github.com/kriasoft/react-starter-kit/pull/613 - лишний routing boilerplate скоро выпилится
09:38:37 ДП
User 185980313
с universal-router была еще проблема в том, что одно время его забросили и не продвигали и react-router стал почти стандартом =)
09:41:31 ДП
User 47923961
Например я перехожу на страницу /app/editor и там у меня по требованию должна большая страница загрузится и пока она не загрузилась я хочу спинер вывести. Как поступить?
09:41:51 ДП
User 47923961
В условиях  {
  path: '/some/page/',
  action: () => {
    title: 'Some Page',
    meta: [{ name: 'description', content: 'bla-lba' }],
    scripts: [ './3rd-party.script.js' ],
    component: <Layout><SomePage /></Layout>
  }
}
09:44:06 ДП
User 178361440
Поместить загрузку данных в componentDidMount() { .. } как тока всё загрузится, вызовется this.setState(), индикатор загрузки заменится на контент, если произошла ошибка редиректнуть на страницу с ошибкой...
09:45:39 ДП
User 178361440
если индикатор должен показываться на сущ. странице, то тогда Ajax вызов должен быть внутри рутера, пока данные не подгрузились страница не рендерится (так правильней помойму)
09:47:27 ДП
User 178361440
Например
{
  path: '/api/editor',
  async action({ store }) {
    store.set('loading', true);
    const resp = await fetch('/api/data');
    const data = await resp.json();
    store.set('loading', false);
    return { title: 'Content Editor', component: <AdminLayout><Editor {...data} /></AdminLayout> };
  }
}
09:47:46 ДП
User 47923961
Ну понятно  я внутри вункции action дёргаю экшен (повесь спире) загружаю данные
09:47:49 ДП
09:47:53 ДП
User 47923961
да я это и хотел сказать)
09:48:10 ДП
User 47923961
Отлично)
09:49:01 ДП
User 47923961
Спасибо)
09:49:27 ДП
User 178361440
из рута есть доступ к контексту, например Redux store можно так передать
09:51:10 ДП
User 178361440
Пока что в Universal Router-е нет ничего относящегося к React-е, я планирую добавить туда boilerplate для рендеринга реакт приложения как расписано в этом PR
https://github.com/kriasoft/react-starter-kit/pull/613
(на этой или след. неделе)
github.com/kriasoft/react-starter-kit/pull/613
[ early preview, please share your feedback ] Remove routing related boilerplate code from server.js / client.js Rename App component to Layout, remove context related stuff from it Allow ...
09:52:29 ДП
User 178361440
вместо import { match } from 'universal-router'; будет import { createRouter } from 'universal-router/react' - который использует match() из базовой либы
10:07:42 ДП
User 1340580
@koistya Посоветуй, как держать starterkit в актуальном состоянии? Историю гита я удалил, добавил remote ветку, слежу за изменениями, в случае если они мне нужны – мержусь, правильно?
10:08:51 ДП
User 178361440
Если историю гита удалить, врид ли получится автоматом смёрджить обновления, я так не пробовал
10:09:44 ДП
User 178361440
Как вариант, можно ещё настроить Beyond Compare или похожую утилиту, чтобы она сравнивала нужные файлы из двух папок react-starter-kit <=> my-project
10:10:20 ДП
10:12:03 ДП
User 1340580
Я тоже думал в сторону Beyond Compare, но с гитом мне кажется удобнее, нужны изменения – забрал их себе.
10:12:11 ДП
User 1340580
Они автоматом прилетают.
10:12:51 ДП
User 178361440
Я обычно начинаю новый проект как клон master ветки —single-branch

$ git clone -o react-starter-kit -b master —single-branch \
      https://github.com/kriasoft/react-starter-kit.git MyApp
$ cd MyApp

И потом, когда нужно смёрджить обновления из RSK в проект

$ git checkout master
$ git fetch react-starter-kit
$ git merge react-starter-kit/master
$ npm install
10:14:34 ДП
User 1340580
Ага. В любом случае история RSK и MySuperApp будет вперемешку, да?
10:15:57 ДП
User 178361440
Угу, это минус..
10:16:29 ДП
User 178361440
для своих личных side-проектиков нормуль
10:16:42 ДП
User 1340580
По поводу сингветки – не всегда удобно, например есть feature/redux  – его в мастере пока нет, но видно что он уже завершен, да и не факт что в мастер попадет.
10:16:55 ДП
User 1340580
User 178361440
для своих личных side-проектиков нормуль
Ага, спасибо!
10:53:56 ДП
User 4627228
А почему бы не git remote?
10:55:59 ДП
User 4627228
Кстати, зацените: https://github.com/FredKSchott/fflip 

Working on an experimental new design? Starting a closed beta? Rolling out a new feature over the next few weeks? Fa-fa-fa-flip it! fflip gives you complete control over releasing new functionality to your users based on their user id, join date, membership status, and whatever else you can think of. fflip's goal is to be the most powerful and extensible feature flipping/toggling module out there.
github.com/FredKSchott/fflip
fflip - Flexible Feature Flipping/Flagging for Node.js
10:58:51 ДП
User 1340580
User 4627228
А почему бы не git remote?
Срет в историю проекта :D Как только смержишься – получишь всю историю RSK.
11:01:29 ДП
User 57648988
User 1340580
Срет в историю проекта :D Как только смержишься – получишь всю историю RSK.
git merge --squash
11:01:32 ДП
User 4627228
Даже непонятно, плюс это или минус :) Разве Костин способ этого не сделает?
11:03:37 ДП
User 1340580
Сделает.
11:03:42 ДП
User 1340580
User 57648988
git merge --squash
Спасибо, сейчас проверю.
11:07:59 ДП
User 57648988
Только надо раза 2 померджить, чтобы протестить этот workflow: что не вылазит конфликтов на ровном месте
11:10:20 ДП
User 1340580
User 57648988
Только надо раза 2 померджить, чтобы протестить этот workflow: что не вылазит конфликтов на ровном месте
IT'S WORKS!11 Спасибо, не знал о такой фиче. Сейчас еще пару вариантов попробую.
11:17:11 ДП
12:31:12 ПП
User 187983007
Ребят, а разве componentWillReceiveProps вызывается при setState?
12:31:45 ПП
User 187983007
делаю такое
 this.setState({
                logs: this.state.logs.concat(newLog),
                isLogInvalid: false
            })
12:31:56 ПП
User 187983007
и срабатывает метод componentWillReceiveProps
12:32:23 ПП
User 187983007
он же вызывается только при прокидывании новых пропсов
12:34:27 ПП
12:34:32 ПП
User 143141567
Там даже статья есть
12:34:51 ПП
User 143141567
О том, что в этой функции props могут придти те же самые
12:35:06 ПП
User 187983007
есть ссылочка?
12:35:10 ПП
User 143141567
секунду
12:35:33 ПП
User 187983007
а, ну погоди, конечно могут прийти
12:35:36 ПП
User 187983007
такие же пропсы
12:35:40 ПП
User 143141567
http://facebook.github.io/react/docs/component-specs.html это по методам
reactjs.org/docs/react-component.html
A JavaScript library for building user interfaces
12:35:46 ПП
User 187983007
но это если вызывается рендер его родителя
12:35:50 ПП
User 143141567
http://facebook.github.io/react/blog/2016/01/08/A-implies-B-does-not-imply-B-implies-A.html а это конкретно по вопросу
facebook.github.io/react/blog/2016/01/08/A-implies-B-does-not-imply-B-implies-A.html
The documentation for componentWillReceiveProps states that componentWillReceiveProps will be invoked when the props change as the result of a rerender. Some people assume this means "if componentWillReceiveProps is called, then the props must have changed", but that conclusion is logically incorrect.
12:35:54 ПП
User 187983007
а так не будет
12:40:32 ПП
User 187983007
я все равно не пойму, почему setState компонента вызывает componentWillReceiveProps на нем же
12:40:39 ПП
User 187983007
пропсы то не меняются
12:40:57 ПП
User 1340580
А можно пример на codepen который это демонстрирует?
12:41:46 ПП
User 187983007
не пробовал в песочнице с этим играться еще пока что
12:41:59 ПП
User 187983007
нужно попробовать
12:43:43 ПП
User 23384802
@oleh_semenovich из любопытсва проверил на нашем проекте,т.к. удивился, что не знал это
12:43:52 ПП
User 23384802
такого нет. У тебя есть componentDidUpdate?
12:43:56 ПП
12:44:03 ПП
User 23384802
мне кажется, что вызывается уже он, а тот вызывает экшен
12:44:26 ПП
User 23384802
componentWillReceiveProps(nextProps) {
    console.log('test');
  }

  handleClickOutside = () => {
    console.log('change state');
    this.setState({ showSocialList: false });
  };
12:44:29 ПП
User 23384802
test не вызывается
12:45:12 ПП
User 187983007
я походу понял в чем дело
12:45:16 ПП
User 187983007
сейчас даже обьясню
12:45:46 ПП
User 23384802
интересно
12:46:24 ПП
User 1340580
Диспатчишь что-то что меняет стор на который подписаны родительские компоненты которые прокидывают пропсы? :D
12:48:16 ПП
User 187983007
у меня есть массив обьектов и по нажатию на кнопочку добавляю еще 1 в массив, но изначально массив в стейт в конструкторе присваевается из пропсов, так как я не делал клон массива, он остался ссылкой на этот же массив в родителе. Я его в сетстейте меняю, и он получается меняет родительский массив, хотя нет...сейчас подумал что как раз в родительском остается тот же массив=(
12:48:46 ПП
User 143141567
проверь, с этими ссылками вообще беда
12:49:41 ПП
User 143141567
не давно для себя открыл, что {...obj} не всегда работает так как нужно, сам то объект скопируется по значению, но если один из его ключей объект
12:49:46 ПП
User 143141567
он скопируется по ссылке
12:50:02 ПП
User 143141567
пару раз спотыкался на этом
12:50:22 ПП
User 1340580
Клонить для надежности?
12:50:41 ПП
User 187983007
ну типа иммутабельность
12:50:50 ПП
User 23384802
User 187983007
у меня есть массив обьектов и по нажатию на кнопочку добавляю еще 1 в массив, но изначально массив в стейт в конструкторе присваевается из пропсов, так как я не делал клон массива, он остался ссылкой на этот же массив в родителе. Я его в сетстейте меняю, и он получается меняет родительский массив, хотя нет...сейчас подумал что как раз в родительском остается тот же массив=(
Возможно я не так понял, но такой проблемы бы не возникло из твоего описания
12:50:57 ПП
User 90246751
Вобще сама идея клонировать в стейт массив из пропсов выглядит как-то
12:51:04 ПП
User 187983007
я вот об этом же подумал
12:51:14 ПП
User 187983007
я и не клонил
12:51:32 ПП
User 187983007
подумал, что в этом может быть проблема
12:51:47 ПП
User 23384802
User 90246751
Вобще сама идея клонировать в стейт массив из пропсов выглядит как-то
А мне кажется норм
12:52:08 ПП
User 23384802
это как дефолтстейт )
12:52:15 ПП
User 187983007
я иногда так делаю, но в редких кейсах
12:52:55 ПП
User 23384802
@oleh_semenovich у тебя, случайно, не mobx?
12:53:01 ПП
12:54:24 ПП
User 23384802
Как починишь - расскажи что было. Или сделай маленький пример в песочнице)
12:54:28 ПП
User 187983007
смотрите, сбрасываю всю функцию обработчик:
    createEmptyLog = () => {
        if (!this.state.logs.find((l)=>!l.project || !l.timeAmount)) {
            const newLog = this.props.createEmptyLog(this.props.params.date);
            
            this.setState({
                logs: this.state.logs.concat(newLog),
                isLogInvalid: false
            })
        } else {
            this.setState({
                isLogInvalid: true
            })
        }
    };
12:54:44 ПП
User 187983007
здесь ничего такого нет
12:55:08 ПП
User 187983007
то есть по сути происходит сет стейт параметров
12:55:11 ПП
12:55:20 ПП
User 23384802
this.props.createEmptyLog
12:55:21 ПП
User 23384802
а это что?
12:55:30 ПП
User 187983007
функция createEmptyLog возвращает обьект
12:55:33 ПП
12:55:34 ПП
User 23384802
думаю, из-за него перерендеривается родитель
12:55:43 ПП
User 187983007
она не меняет ни стейт ни пропсы
12:56:09 ПП
User 187983007
createEmptyLog = (date) => {
        return {
            status: 'in progress',
            timeAmount: 0,
            project: null,
            date: moment(date).format('MM/DD/YYYY'),
            user: this.props.user,
            comment: ''
        }
    };
12:56:17 ПП
User 187983007
вот текст той функции
12:56:35 ПП
User 23384802
componentDidUpdate точно нет?
12:56:41 ПП
User 187983007
точно
12:56:45 ПП
User 23384802
а как выглядит сама ссылка, которая вызывает
12:57:20 ПП
User 187983007
ты имеешь ввиду jsx?
12:57:22 ПП
User 187983007
<FlatBtn
                                            label={'ADD LOG'}
                                            onClick={this.createEmptyLog}
                                            primary={true}
                                            customStyle="customPrimaryStyle"
                                        />
12:57:34 ПП
User 90246751
Ребята
12:58:19 ПП
User 90246751
User 143141567
не давно для себя открыл, что {...obj} не всегда работает так как нужно, сам то объект скопируется по значению, но если один из его ключей объект
Я вот думаю, что это за кейс, где ключами являются другие объекты, и не могу придумать кейс, когда это можно использовать
12:59:23 ПП
User 90246751
К тому же, если вдруг возникла необходимость использовать оюъекты-ключи - есть WeakMap
01:00:02 ПП
User 23384802
User 187983007
ты имеешь ввиду jsx?
а FlatBtn это твой компонент или какой-нибудь фреймворк с компонентами?
01:00:13 ПП
01:00:44 ПП
User 187983007
даже если фреймворк, то он все равно не вызовет метод у прародителя
01:01:02 ПП
User 187983007
это просто кнопка
01:01:04 ПП
User 23384802
а как там выглядит onClick? Просто вызывается функция родителя? Там ничего лишнего нету?
01:01:22 ПП
User 23384802
ну, вообщем это все очень странно, конечно
01:10:09 ПП
User 143141567
User 90246751
Я вот думаю, что это за кейс, где ключами являются другие объекты, и не могу придумать кейс, когда это можно использовать
Не совсем правильно выразился, я имел ввиду такой вот вид
obj1 = {a: {b: 1} }; obj2 = {...obj1}; obj1 != obj2; // true
01:10:14 ПП
User 143141567
но при этом
01:10:30 ПП
User 143141567
obj1.a == obj2.a
01:11:01 ПП
User 143141567
поэтому  obj2.a.b = 10; obj1.a.b == 10; // true
01:11:17 ПП
User 187983007
ну ты сравниваешь ссылки на обьекты и просто значения их свойств
01:11:21 ПП
User 143141567
я просто думал, что там полное копирование идет, настоящее
01:11:24 ПП
User 187983007
понятное дело, что разные вещи
01:11:44 ПП
User 187983007
obj2 = {...obj1}
01:11:46 ПП
User 90246751
А, вон что
01:11:50 ПП
User 187983007
вот это создает новый обьект
01:13:08 ПП
User 143141567
да, просто я думал, что он и для свойств создаст новые ссылки и прочее, если свойства - объекты. Потому что пару раз из-за не понимая, встречал неожиданное поведение у объектов
01:15:50 ПП
User 117618946
залей в react.run
01:15:55 ПП
User 117618946
да посмотрим что у тебя там
01:16:22 ПП
User 143141567
User 117618946
залей в react.run
крутая штука
02:26:31 ПП
User 4627228
Кто едет?
02:26:31 ПП
User 4627228
Саммит Google по прогрессивным веб-приложениям 20—21 июня в Амстердаме, регистрация 9 мая — https://events.withgoogle.com/pwa-save-the-date/
02:41:33 ПП
User 309556
неспроста тебя вечно в Амстердам тянет
02:41:56 ПП
02:48:20 ПП
User 122105125
а что за мода такая подписывать коммиты gpg-ключами?
02:49:00 ПП
User 152745946
это стало модно, как гитхаб стал это показывать зеленым бейджиком
02:49:08 ПП
User 152745946
а раньше было модно среди бородатых только
02:49:41 ПП
User 122105125
а прок то какой? как я понимаю, npm так или иначе свою версию хранит
02:49:52 ПП
User 122105125
https://github.com/postcss/postcss-import/releases/tag/8.1.1
github.com/postcss/postcss-import/releases/tag/8.1.1
postcss-import - PostCSS plugin to inline @import rules content
02:50:52 ПП
User 122105125
интересно даже как они на маках это подписывают )
02:51:34 ПП
User 152745946
а при чем тут npm?)
02:51:49 ПП
User 309556
Леш, https://github.com/jayphelps/git-blame-someone-else
github.com/jayphelps/git-blame-someone-else
Blame someone else for your bad code. Contribute to jayphelps/git-blame-someone-else development by creating an account on GitHub.
02:51:53 ПП
User 309556
ознакомься
02:51:55 ПП
02:52:04 ПП
User 152745946
gpg ключ показывает, что это именно ты запушил коммит, а не вася кулцхацкер
02:53:18 ПП
User 122105125
@chicoxyzzy я бы не рискнул тянуть баш скрипты с перловыми однострочниками ) фиг поймешь что там зашили )
02:53:55 ПП
User 122105125
@gusnkt окей, я понял. Просто не думал, что проблема с этим есть
02:54:03 ПП
User 122105125
больше на понт похоже
02:54:36 ПП
User 309556
суть в том, что кто угодно может отребейзить как хочет и написать кого угодно
02:54:48 ПП
User 152745946
ну, Хомаков как-то раз в далеком 201x-каком-то опубликовал коммит в рельсы, тк в рельсах был баг)
02:54:53 ПП
User 122105125
@chicoxyzzy при условии, что у него есть доступ
02:54:57 ПП
02:55:16 ПП
User 309556
но могут и не заметить и влить
02:55:24 ПП
User 309556
ну короче крипто и все такое
02:55:37 ПП
User 122105125
окей окей
02:57:47 ПП
User 152745946
но гитхаб и без этого показывает, что коммит Васи, а опубликовал Петя
02:58:06 ПП
User 122105125
да, там видно все ребейзы
02:58:12 ПП
User 152745946
я все еще считаю, что так делают исключительно ради красивого бейджа
02:58:25 ПП
User 122105125
согласен с тобой
03:19:30 ПП
User 162236709
https://marketplace.visualstudio.com/items?itemName=warren-buckley.iis-express
marketplace.visualstudio.com/items?itemName=warren-buckley.iis-express
Extension for Visual Studio Code - This allows you to run the current folder as a website in IIS Express
03:35:51 ПП
User 68520717
Но зачем?
04:48:18 ПП
User 122105125
вероятно решать все задачи из коробки
04:48:43 ПП
User 122105125
но дизайн у них стремный и шрифты мне не понравились, а сам продукт ничего
06:35:25 ПП
User 181923858
Ребят подскажите что может быть, на iOS устройствах картинки Img грузятся иногда нормально а иногда с тайм-аутом в 2 минуты. На компе и android устройствах все нормально
06:36:02 ПП
User 181923858
Причём видно что и сервер ждёт и не отвечает клиенту
06:36:21 ПП
User 181923858
Даже не понимаю куда копать
06:37:19 ПП
User 12791
если проблема на сервере попробуй curl тот же запрос кинуть
06:37:20 ПП
User 181923858
Все работает на react но Img без каких либо доработок в отдельный компонент
06:37:34 ПП
User 181923858
Да сервер отвечает мгновенно
06:38:14 ПП
User 181923858
На всех браузерах и устройствах а вот на iOS в любом браузере такая фигня
06:38:54 ПП
User 181923858
В отладке видно что картинка ожидает ответа от сервера и ровно через 2 минуты они появляются
06:39:37 ПП
User 181923858
Но как бы из 10 картинок может 7 сразу а 3 через 2 минуты
06:40:57 ПП
User 181923858
Такое ощущение что клиент типа занят и не принимает ответ от сервера поэтому и сервер висит
06:41:11 ПП
User 181923858
И ждёт когда клиент будет готов принять
06:41:47 ПП
User 12791
ios версия новая? :)
06:42:23 ПП
User 12791
я бы попробовал с curl подебажить, с абсолютно такими же хедерами как ios  посылает
06:42:31 ПП
06:42:39 ПП
User 181923858
Последняя
06:43:14 ПП
User 12791
там может какие retina хедеры
06:43:44 ПП
User 181923858
А может как то можно отключить чтото?
06:44:06 ПП
User 181923858
Или на сервере что-то обрабатывать ?
06:44:46 ПП
User 181923858
Да и на iPad таже фигня хотя там не ретина дисплей
06:45:29 ПП
User 181923858
Но iOS тот же
06:45:34 ПП
User 181923858
Последний
06:46:04 ПП
User 181923858
Как бы если даже на iOS 8 все ок будет не ясно куда копать
06:46:27 ПП
User 181923858
Но явно дело в Apple
06:48:42 ПП
User 12791
а из chrome  пытался айфоном притворяться?
06:50:49 ПП
User 181923858
Я пытался хромом в iOS
06:50:56 ПП
User 181923858
Та же фигня
06:51:08 ПП
User 181923858
Эмулятором не пробовал
06:51:14 ПП
User 181923858
Ща попробую
06:53:43 ПП
User 181923858
С компа все ок
07:17:08 ПП
User 12791
а другие сайты работают? :)
07:17:08 ПП
User 181923858
http://www.fngtps.com/2010/mobile-safari-image-resource-limit-workaround/
fngtps.com/2010/mobile-safari-image-resource-limit-workaround
Mobile Safari has a pretty strict limit for the amount of image data it will load. Fortunately, we’ve found a workaround.
07:17:19 ПП
User 181923858
Да вроде
07:17:31 ПП
User 181923858
Вот нашел такую статейку
07:17:37 ПП
User 181923858
Может в этом дело
07:17:45 ПП
User 181923858
но причем тогда таймаут
07:22:02 ПП
User 181923858
Я думал может кто сталкивался с такой проблемой
07:28:24 ПП
07:28:49 ПП
User 181923858
Вот видно что все изображения загрузились быстро а 3 ровно через 2 минуты
07:29:21 ПП
User 12791
я несолкько лет назад с айфонами работал, почти все проблемы всегда шли от того что ios старая
07:29:31 ПП
User 12791
или потомучто памяти много сожралось
07:32:09 ПП
User 181923858
Может есть какие то средства с помощью которых можно понять почему клиент ждет
07:32:24 ПП
User 181923858
и откуда цифра такая 2 минуты
07:32:28 ПП
User 181923858
Что за таймаут такой
07:57:01 ПП
User 181923858
Даже из кэша 2 минута отображал
07:57:10 ПП
User 181923858
Блин ну ни бред
07:57:58 ПП
08:00:00 ПП
User 12791
а если в этом реквесте на "timing" тыкнуть, там что показывает?
08:02:54 ПП
User 181923858
что такое timing?
08:03:44 ПП
08:09:22 ПП
08:09:48 ПП
User 181923858
Вот на 6s полоса остановилась
08:10:14 ПП
User 181923858
а изображения все грузятся
08:10:26 ПП
08:18:59 ПП
User 181923858
Хотя если запись timing включаю то идет полоса загрузки 2 минуты
09:55:15 ПП
User 4627228
https://js.coach/
js.coach
Manually curated list of packages for React, Webpack and others.
11:15:47 ПП
User 39178381
http://blog.evanyou.me/2015/10/25/vuejs-re-introduction/
blog.evanyou.me/2015/10/25/vuejs-re-introduction
Vue.js is a library for building web interfaces. Together with some other tools you can also call it a “framework”, although it’s more like a set of optional tools that work together really well. Now,
11:38:04 ПП
User 61730194
кто-нибудь юзал вторую версию vue?
11:46:56 ПП
User 104477
ого, server-side rendering завезли https://github.com/vuejs/vue/wiki/2.0-features
github.com/vuejs/vue/wiki/2.0-features
vue - A progressive, incrementally-adoptable JavaScript framework for building UI on the web.