text:
Can't build tiflash within exchange_perftest tests.

Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)

cmake .. -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTS=ON
make -j

Then will got error
/xxxxxxx/dbms/src/Flash/Mpp/MPPTunnel.cpp:67:17: error: no member named 'tryFlushOne' in 'DB::tests::(anonymous namespace)::MockWriter'
        writer->tryFlushOne();
        ~~~~~~  ^
/xxxxxxx/dbms/src/Flash/Mpp/MPPTunnel.cpp:51:13: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::finishSendQueue' requested here
            finishSendQueue();
            ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/memory:1933:3: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::~MPPTunnelBase' requested here
  __compressed_pair_elem(piecewise_construct_t, tuple<_Args...> __args,
  ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/memory:4038:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, std::__1::allocator<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>::__shared_ptr_emplace<mpp::TaskMeta &, mpp::TaskMeta &, std::__1::chrono::duration<long long>, const int &, bool>' requested here
    ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
                         ^
/xxxxxxx/dbms/src/Flash/tests/exchange_perftest.cpp:505:32: note: in instantiation of function template specialization 'std::__1::make_shared<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>, mpp::TaskMeta &, mpp::TaskMeta &, std::__1::chrono::duration<long long>, const int &, bool>' requested here
            auto tunnel = std::make_shared<MockTunnel>(
                               ^
In file included from /xxxxxxx/dbms/src/Flash/tests/exchange_perftest.cpp:15:
/xxxxxxx/dbms/src/Flash/Mpp/MPPTunnel.cpp:151:26: error: no member named 'write' in 'DB::tests::(anonymous namespace)::MockWriter'
            if (!writer->write(*res))
                 ~~~~~~  ^
/xxxxxxx/dbms/src/Flash/Mpp/MPPTunnel.cpp:235:21: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::sendJob' requested here
                    sendJob();
                    ^
/xxxxxxx/dbms/src/Flash/tests/exchange_perftest.cpp:511:21: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::connect' requested here
            tunnel->connect(writer.get());
                    ^
In file included from /xxxxxxx/dbms/src/Flash/tests/exchange_perftest.cpp:15:
/xxxxxxx/dbms/src/Flash/Mpp/MPPTunnel.cpp:179:17: error: no member named 'writeDone' in 'DB::tests::(anonymous namespace)::MockWriter'
        writer->writeDone(grpc::Status::OK);
        ~~~~~~  ^
/xxxxxxx/dbms/src/Flash/Mpp/MPPTunnel.cpp:122:25: error: no member named 'tryFlushOne' in 'DB::tests::(anonymous namespace)::MockWriter'
                writer->tryFlushOne();
                ~~~~~~  ^
/xxxxxxx/dbms/src/Flash/Mpp/MPPTunnelSet.cpp:94:28: note: in instantiation of member function 'DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>::write' requested here
    tunnels[partition_id]->write(packet);
                           ^
/xxxxxxx/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:282:25: note: in instantiation of member function 'DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>::write' requested here
                writer->write(packet[part_id], part_id);
                        ^
/xxxxxxx/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:296:9: note: in instantiation of function template specialization 'DB::StreamingDAGResponseWriter<std::__1::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::partitionAndEncodeThenWriteBlocks<false>' requested here
        partitionAndEncodeThenWriteBlocks<send_exec_summary_at_last>(blocks, response);
        ^
/xxxxxxx/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:82:9: note: in instantiation of function template specialization 'DB::StreamingDAGResponseWriter<std::__1::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::batchWrite<false>' requested here
        batchWrite<false>();
        ^
/xxxxxxx/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.h:26:5: note: in instantiation of member function 'DB::StreamingDAGResponseWriter<std::__1::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::write' requested here
    StreamingDAGResponseWriter(
    ^
/xxxxxxx/dbms/src/Flash/tests/exchange_perftest.cpp:537:21: note: in instantiation of member function 'DB::StreamingDAGResponseWriter<std::__1::shared_ptr<DB::MPPTunnelSetBase<DB::MPPTunnelBase<DB::tests::(anonymous namespace)::MockWriter>>>>::StreamingDAGResponseWriter' requested here
                new StreamingDAGResponseWriter<MockTunnelSetPtr>(
                    ^
In file included from /xxxxxxx/dbms/src/Flash/tests/exchange_perftest.cpp:13:
/xxxxxxx/dbms/src/Flash/Coprocessor/StreamingDAGResponseWriter.cpp:105:29: error: no matching member function for call to 'write'
                    writer->write(packet);
                    ~~~~~~~~^~~~~

I think this build issue come from #4120
2. What did you expect to see? (Required)
3. What did you see instead (Required)
4. What is your TiFlash version? (Required)

downgrade the severity to minor since it is only a performance test and won't block anything.

Another report from https://github.com/pingcap/tiflash/issues/4771#issuecomment-1111064424.

I'll fix it this weekend.

authors: JaySon-Huang fuzhe1989 jiaqizho

repo: pingcap/tiflash


text:
add store_id in Debug::get_metrics response.

What have you changed? (mandatory)
Add store_id in Debug::get_metrics response.
NOTE: The API callers should check the store id is 0 or not, for be compatible with earlier TiKVs.
What are the type of the changes? (mandatory)
Improvement.
How has this PR been tested? (mandatory)
make dev.

Now the depent PR is merged.PTAL @zhangjinpeng1987 @LinuxGit .

source: gharchive/pull-request

repo: pingcap/tikv

license_type: permissive

license_source: github-api


text:
Remove support for Python 2.6.

Our dependency icalendar dropped support for Python 2.6 in 4.0.
As discussed in https://github.com/pinkerton/django-ical/issues/13

Amazing, thank you!

authors: mbaechtold pinkerton

repo: pinkerton/django-ical

license: MIT


text:
🛑 ggmemory is down

In d312e95, ggmemory (https://memory.library.kr/main) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ggmemory is back up in 6c53364.

source: gharchive/issue

repo: pinnode/pinnode


text:
Appending to every request.

I'd like to append data to every request and found a workable solution in https://github.com/pinojs/express-pino-logger/issues/17 as a middleware. However, I just want to confirm that there aren't any performance implications with creating and replacing the logger, with a child instance, on every request?
The code snippet I'm referring to is:
 res.log = req.log = req.log.child({ })

Thanks!

Creating a new child logger is extremely fast and the overhead should be extremely small. However, it's more code to execute so there is of course a tiny cost to it.

authors: jaredmeakin mcollina

repo: pinojs/express-pino-logger


text:
Unable to launch agent on remote server

I am trying to launch pinpoint agent on remote server but getting error -
pinpoint-agent    | + sed -i '/profiler.transport.module=/ s/=.*/=GRPC/' /pinpoint-agent/profiles//pinpoint.config
pinpoint-agent    | sed: /pinpoint-agent/profiles//pinpoint.config: No such file or directory
I have installed pinpoint using docker now i am facing issue to configure the agent on my remote server, Please help me to resolve this issue

it seems like $SPRING_PROFILES is not set. The docker-compose.yml for pinpoint-agent uses SPRING_PROFILES=release as you can see in the .env file.
https://github.com/pinpoint-apm/pinpoint-docker/blob/61065c6812e22921f1c18b36a9afb58dbf06ecf9/pinpoint-agent/build/scripts/configure-agent.sh#L6
https://github.com/pinpoint-apm/pinpoint-docker/blob/61065c6812e22921f1c18b36a9afb58dbf06ecf9/pinpoint-agent/.env#L2

authors: DevAshish-oodles ga-ram

repo: pinpoint-apm/pinpoint-docker


text:
Callout: Responsiveness updates

This PR updates Callout to be consistent with Upsell by:

Expanding the button link when on small display
Centering text when on small display
Shifting icon from left of text to above of text on small display
Moving primary button to top when on small display

Before:

After:

Test Plan
Updated snapshot tests, verified that component looks as expected.

Hey Erica, on md we should center the icon. Now it's going to the top.

repo: pinterest/gestalt


text:
Remove occurrences of Unknonwn ICECredentialType

In 3.1.37, we removed the possibility for ICECredentialType
to be Unknown.  Remove remaining tests for this case from
the WASM code.

Thanks for cleaning this up @jech !

authors: Sean-Der jech

repo: pion/webrtc

license: mit

license_source: bigquery


text:
Logo of this Bamboo compiler

This is about time this Bamboo compiler gets a logo.

We could always put up a bounty for you @pirapira 😉
https://github.com/ethereum/vyper/issues/794

I'd love to take a crack!

authors: andytudhope pirapira robbietokens

repo: pirapira/bamboo


text:
Autenticação site partidopirata.org

Enviado por e-mail

Olá Membros do Grupo de TI do Partido Pirata.
Peço gentilmente que quem tenha acesso a diretório de instalação do site wordpress partidopirata.org favor apagar o plugin de limite de tentativas de login (limit-login-attempts) possivelmente dentro de /wp-content/plugins/ o quanto antes possível

Vale a pena ressaltar que ele deseja remover o plugin apenas para que ele possa acessar a interface administrativa... a ideia é configurar corretamente o plugin...

@gomex sim, não ta claro, nem subjetivamente qual é o problema, e nem porque é que tem que apagar isto.
Além disto, não sei quem instalou essa coisa nem o que vai acontecer quando apagar - ele não ta na lista de plugins, então tem que pegar o que ta lá em produção, clonar num ambiente de teste e ver o que acontece.

Referências

https://wordpress.org/plugins/limit-login-attempts/
https://plugins.svn.wordpress.org/limit-login-attempts/

Enviado para o telegram

já temos mais de 24 horas com um plugin mal configurando impedindo o acesso dos administradores da página

De alguma forma, inexplicável, uma blocklist com um range absurdo de IPs foi configurada em um plugin do wordpress para impedir erros de login.

@gomex  quando tenta acessar o painel administrativo aparece isso:

Com as pessoas não explicando qual é o problema ja é difícil tentar solucionar, pior ainda foi tentar descobrir o que é que aconteceu e ao invés de esclarecerem, ficaram me destratando e me cobrando a responsabilidade disto.
Pior ainda é que eu to agora manualmente vendo o que fizeram e é uma cagada totalmente não relacionada com o que foi relatado. Perdi tempo tentando fazer o que pediram, e o problema é outro.
Não tinha outra hora melhor pra ficar brincando de instalar plugin no servidor de produção, tchê?

Diretório rename-wp-loginphp-to-anything-you-want movido, consequentemente desativando o plugin.
Configuração de login deve ter voltado ao padrão.
Esclarecendo que o plugin limit-login-attempts não estava no diretório de plugins, sendo que o que realmente estava causando problemas era este:

https://wordpress.org/plugins/rename-wp-loginphp-to-anything-you-want/

Reitero que não recomendo instalar plugins no site de produção, estamos utilizando docker de forma organizada aqui no github, e o fluxo proposto é testar novas ideias e propostas em ambientes de teste e desenvolvimento e apresentar pro coletivo de forma organizada: https://github.com/piratas/piratas-site @piratas/docker @piratas/wordpress
As pessoas que têm acesso administrativo deveriam ter responsabilidade pelo site do partido, ainda mais visto que neste momento pré assembleia nacional este tipo de problema não poderia acontecer.

Via painel administrativo mostram-se apenas dois plugins ativos:
Akismet
Gmail SMTP
O plugin "rename-wp-loginphp-to-anything-you-want" possui, além do que seu nome indica, um sistema anti "brute force" que limita a quantidade de tentativas de login. Uma variação do "limit-login-attempts."
Ele indica no momento que o endereço identificado por ele como do servidor do próprio wordpress "172.19.0.3" fez inúmeras tentativas de login.
Quanto a "blacklist" ela permanece vazia -- não tendo acesso aos logs não posso afirmar mais.
Questão: quem ou o que está se conectando ao site do wordpress via, ao que ele supõe, o servidor?
Docker?

@kannonsan isto é irrelevante para o assunto. Os comentários de problemas/tarefas do github devem servir para debate em torno da questão que está descrita na publicação de abertura.
Aqui não é um espaço pra tirar dúvidas nem ter perguntas respondidas, é pra cada pessoa dar sua contribuição, opinião ou visão acerca de determinada decisão. Ou documentar a resolução de um problema. Podemos inventar novos usos, mas este que eu descrevi certamente não está de acordo com a natureza da ferramenta.
Tu pode ir no grupo de telegram do GTI e perguntar as coisas que tu não entende e ver se alguém responde, se interessa ou cria debate em torno disto.

authors: desci gomex kannonsan mtoledo62

repo: piratas/gti


text:
The ability to read cluster configuration from s3

Similar to what you can do when creating a cluster through the Web UI.
Note: I am working on this one.

Released in 0.6.0. I've changed some key names and align the json format to the one described here
http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html

I noticed that using an S3 JSON file was replaced in this commit: https://github.com/pishen/sbt-emr-spark/commit/d4947b3afb86e99390e8e896bec2add1fa99a514
I like the EmrConfig object but in our case the json file is generated elsewhere and used by multiple clusters. If we were to use EmrConfig we'd be stuck always having to match our config to the s3 file anyways. Are you open to reintroducing this config to go along with the EmrConfig class?

an alternative is to use my fork which kept that functionality. https://github.com/kailuowang/sbt-emr-spark which is released under a different org.

I saw your fork, thanks for the recommendation. I'll probably use that in the near term, but just figured this is still a useful feature to bring back upstream.

Will try to get this back if possible.

@log0ymxm The feature is reintroduced in 0.11.0, EmrConfig can now parse a JSON array, or read the JSON config directly from S3:
import sbtemrspark.EmrConfig
sparkEmrConfigs := Some(
  EmrConfig
    .parseJsonFromS3("s3://your-bucket/your-config.json")(sparkS3ClientBuilder.value)
    .right
    .get
)

Thanks for reintroducing this. Looks like the interface for using this is a great choice.

authors: kailuowang log0ymxm pishen

repo: pishen/sbt-emr-spark


text:
Заменить хэширование ссылок на ЧПУ

Ссылки вида /piterjs.org/#meetup=recFozG59OIwJiUWU/speech=recBGOpc1gUL6jjQW - это полный ад.
Хочется, чтобы ссылки были человеко-читабельными.
Вот такие вижу варианты:

/34/gerasimov/ - номер митапа и фамилия спикера
/2019/02/gerasimov - год, месяц и фамилия спикера
/34/02 - номер митапа, номер доклада
/2019/02/02 - год, месяц, номер доклада

Именно фамилия, а не название доклада, потому что правильная транслитерация названий докладов - это боль. Будет неудобно вводить на телефоне длинные названия, а фамилию - ещё куда ни шло.
Описывать ссылку подобно get параметрам лично мне кажется неудобным. Да, можно менять их порядок, но ссылка от того короче не становится.

Сделаем колонку с правильной транслитерацией?

Будет неудобно вводить на телефоне длинные названия, а фамилию - ещё куда ни шло.

Это что за сценарий, где надо вводить ссылку на доклад вручную да ещё и с телефона?

Вообще, ссылка - техническая деталь, которую редко видят и ещё реже на неё смотрят. Особенно в случае приложения, когда даже строка адреса не показывается.
Я вижу следующие сценарии, где имеет значение вид ссылки:

Передача её кому-то сообщением. Тут важно скорее, чтобы она была более-менее короткой, а не на 10 строк. Не обязательно прям ультракороткой, то есть каждый символ экономить нет смысла.
Хакинг путём прямого ввода, но тут надо понимать что какой параметр означает, и тут как раз форма ключ-значение лучше.

В целом можно и ключ=значение оставить, лишь бы было очевидно, как путём подмены ссылки перейти в другое место. Меня только хэши напрягают.

Сделаем колонку с правильной транслитерацией?
Это как раз сделает ссылки длинными и не читаемыми. К тому же не хочется грузить airtable служебной информацией, нужной для сайта, а не для управления нами контентом. К тому же это усложнит добавление нового контента.

Сценарии ввода ссылок существуют
В зале:
— Докладчик быстро перелистывает слайды
— С задних рядов не видно, а пересесть ближе стесняются. Или сидят специально там, чтобы шептаться с друзьями, но не хотят сильно мешать остальным.
— Слайды плохие, код на слайдах не видно - отсвечивает
— Отошли в туалет или ещё куда и не могут вернуться в контекст доклада
Не в зале:
— Знаешь ссылку на один доклад, но хочешь по-быстрому открыть соседний
— Знаешь, как строится ссылка, хочешь сразу без открытия сайта открыть нужный доклад

Меня только хэши напрягают.

Диез разделает параметры приложения от расположения, что позволяет браузеру адекватно кешировать и не лазить на сервак лишний раз.

В зале:

Для этого в приложении должен быть экран "онлайн", где будет отображаться информация по текущей активности. В частности - текущий доклад. Посетитель открывает приложение и он уже там где нужно, ничего дополнительно не вводя.

Знаешь ссылку на один доклад, но хочешь по-быстрому открыть соседний

Так список докладов рядом - достаточно закрыть текущий.

Знаешь, как строится ссылка, хочешь сразу без открытия сайта открыть нужный доклад

Быстрее же кликнуть пару раз, чем пытаться угадать каким по счёту был доклад или как правильно пишется имя докладчика.

Диез разделает параметры приложения от расположения, что позволяет браузеру адекватно кешировать и не лазить на сервак лишний раз.

Под хэшами я имею ввиду не диез, а нечитаемые идентификаторы митапов типа meetup=recE2oJaecdLIRbCS
По остальным пунктам я готов согласиться. Действительно: если использовать только сайт как входную точку, то кликание на сайте быстрее и удобнее. И прорабатывать другие пути незачем.

А, это в airtable такие весёлые идентификаторы.

Вот именно их я предлагаю людям не показывать, а показывать вместо них читабельные идентификаторы. Митап очевидно проще всего по номеру определять, а вот доклады - хз. Мне кажется, проще будет правильно переводить фамилии, чем названия докладов.
Или вовсе порядковый номер доклада использовать. Но с порядковым номером тоже не всё так гладко. Иногда доклады меняются местами, если докладчик опаздывает или если что-то случается.

Сделал урлы вида: #meetup=31/speech=9CO

Мне нравится, теперь прям хорошо! Спасибо!
Лучшей идеи для id докладов у меня нет. Если у кого-нибудь появятся - открывайте ишью.

authors: fogrew nin-jin

repo: piterjs/piterjs

license: Unlicense


text:
Update circe-core to 0.14.0

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.circe", artifactId = "circe-core" } ]

labels: library-update, semver-minor

Superseded by #241.

repo: pityka/saddle


text:
Update vendored Go modules for pivotal-cf/cf-rabbitmq-release

This PR updates the vendored Go modules of pivotal-cf/cf-rabbitmq-release

@cf-london Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

authors: cf-london pivotal-issuemaster

repo: pivotal-cf/cf-rabbitmq-release


text:
Switches feature tests ./tmp to /tmp and refactors a bit

This was getting in the way of #531

Thank you for figuring this out

@ericsullivan no problem. Would still like to know why though... Will poke around but at least this unblocks your PR.

Reasoning behind this switch... https://github.com/pivotal-legacy/LicenseFinder/pull/531#issuecomment-469847213

authors: ericsullivan osis

repo: pivotal-legacy/LicenseFinder


text:
Add generation of SLSA provenance for built artifacts

As part of improving supply chain security, SLSA provides a framework to guarantee the integrity of software artefacts, with different levels of compliance.
One of the main concepts introduced by SLSA is the provenance "to trace software back to the source and define the moving parts in a complex supply chain". It's defined as "the verifiable information about software artifacts describing where, when and how something was produced".
It would be a great addition to kpack if the built OCI artefacts were not only signed, but also provided with a signed provenance attestation following the standard in-toto format. Such attestation would contain information about kpack itself,  how the OCI image was built (for example, information about the used stacks and buildpacks) and where.
Examples of build tools that support SLSA provenance attestations are the following:

GitHub -> https://github.com/slsa-framework/slsa-github-generator
Tekton -> https://tekton.dev/docs/chains/
Docker BuildKit -> https://docs.docker.com/build/attestations/slsa-definitions/

If there's interest for having such a feature in kpack, I'm available to help refining it.

Hi @ThomasVitale. Would you be willing to submit an RFC for this?

hello @ThomasVitale - I'm new to slsa; would it make sense to have an integration in buildpack distributions, such as paketo buildpacks ? (similar to SBOM generation from buildpacks)

authors: ThomasVitale anthonydahanne mvalliath

repo: pivotal/kpack


text:
LDAP user search should be recursive

Hey Caleb! :)
We're having an issue with user lookup portion when updating spaces with ldap.
The tool finds the groups and gets a list of users in the groups fine, but it fails to look up that user if the userSearchBase property is not set directly to the node that they live in. We have users divided between "employee", "contractor" and "service account" OUs underneath a common "users" root. If userSearchBase is set directly to one of those sub trees everything works - for that set of users only. If set to the root it doesn't find any of them.

This is fixed with the latest release.  This does require that you update your pipeline as the user sycnronization concourse step has been moved to new location.  View README to see how to generate a pipeline for a reference.   If you have issues, pleas report back.

authors: calebwashburn dan-kirberger

repo: pivotalservices/cf-mgmt


text:
🛑 Webserver Websites is down

In b0c3989, Webserver Websites (https://pixel-kraft.de/) was down:

HTTP code: 403
Response time: 553 ms

Resolved: Webserver Websites is back up in f70e705 after 17 hours, 7 minutes.

repo: pixel-kraft/status


text:
Add diagnostics to ros2_control

See https://github.com/ros-controls/ros2_control/issues/819. I'll create a backport to Humble if it gets accepted in master (no point in creating a backport for galactic still, we will almost upgrade)

@jplapp can you add the rest of the team in this org? I can't add Andrii as reviewer


text:
Requires Julia v1.6.

This is needed because the latest version of Leptonica_jll requires Julia 1.6.

@pixel27 Could you merge this PR and release a new version of the package?


text:
Add support for applicationWillEnterForeground

Thanks so much for RxAppState!
This PR adds in support for applicationWillEnterForeground.
I needed this because I wanted to distinguish the difference between an app which is resuming from the background, and an app which was merely temporarily inactive because a user opened up the control center (swipe from bottom).  In particular, if an app is resuming from background, I want to refresh certain network resources.  But if they just opened up the control center for a moment, there's no need to refresh.
Thanks!

Thanks for your contribution! That indeed was a missing piece to the puzzle. And nice "drawing" of the app states BTW 👍
How about we add another convenience Observable to make the use of your contribution more obvious?
Something like this:
public var willOpenAppFromBackground: Observable<Void> {
        return Observable.of(
            applicationDidEnterBackground,
            applicationWillEnterForeground
            )
            .merge()
            .distinctUntilChanged()
            .filter { $0 == .inactive }
            .map { _ in
                return
        }
    }

Excellent!  I'll add that in.
As a newcomer to RxSwift, the examples in your code are very useful for understanding what's possible.

Hmm, actually on second thought, I'm not sure we need willOpenAppFromBackground.  I think just keying off of applicationWillEnterForeground will accomplish the same thing, because applicationWillEnterForeground doesn't fire when the app is initially launching, it only fires after the app has been put into the background.

You are absolutely right that we don't absolutely need it. I just thought that for someone who is not familiar with the different app states it would be more intuitive if it was there. Because IMHO an Observable that is called  willOpenAppFromBackground describes what it does and is a bit clearer than an Observable called applicationWillEnterForeground.
But we don't really need to add it. Maybe it's a bit too redundant.
BTW you would't really need the applicationWillEnterForeground Observable. This would achieve the same ;-) :
UIApplication.shared.rx.didOpenApp.skip(1)

But I think you found a missing state that should be there, so we should really add it.
Thanks again for your contribution and discussion! If you find something else, let me know!

authors: pepasflo pixeldock

repo: pixeldock/RxAppState


text:
Touch identifier iOS - Huge number as identifier of touch

Hello,
I found strange behavior of event results. When I use methods touchstart, touchmove and touchend, in result function I receive huge number as touch identifier (event.data.identifier) on iOS. Android, windows, osX returns number beginning at 0, but on iOS is number like 3293275524 etc.
Can You help me please?
Thank You, Tomas

Here is a preview at codepen (result is available in remote console iOS safari, Android chrome)
http://codepen.io/koZis/pen/GprKXZ


text:
Support for beefy by removing browserify config

Fixed

Adds support for using beefy with require(‘pixi.js’)

cc @GoodBoyDigital

nice one @bigtimebuddy 👍

authors: GoodBoyDigital bigtimebuddy


text:
[REQ] Command line options

Acknowledgement of preliminary instructions

[X] I have read and acknowledged the preliminary instructions.

What idea do you have?
Add some command line options like joining a game using something like <bloxstrap.exe> --game <gameId>, if that's even possible

roblox://experiences/start?placeId=

repo: pizzaboxer/bloxstrap


text:
roblox not opening

https://drive.google.com/file/d/1N7KYTo_XtDMoEB_aG_vb8bgQmMFL1mtP/view?usp=sharing
this is log file

This is a Hyperion error, not a Bloxstrap error. The support website the error talks about is Roblox's support website. See https://github.com/pizzaboxer/bloxstrap/wiki/Roblox-crashes-or-does-not-launch.


text:
thread 'main' panicked at 'index out of bounds: the len is 1 but the index is 1', src/main.rs:750:13

Hi I'm getting this error on testdata in a dev version of fieldbioinformatics with clair3 called data (attached), I've confirmed that this occurs with version 0.4.5 and 1.0.0 full traceback below.
longshot --min_mapq 20 -P 0 -F --max_cov 200000 --no_haps --bam MT007544.primertrimmed.rg.sorted.bam --ref /home/ubuntu/fieldbioinformatics/test-data/primer-schemes/artic-sars-cov-2/400/v1.0.0/reference.fasta --out MT007544.longshot.vcf --potential_variants MT007544.merged.vcf.gz

2024-08-17 12:46:17 Min read coverage set to 6.
2024-08-17 12:46:17 Max read coverage set to 200000.
2024-08-17 12:46:17 Estimating alignment parameters...
2024-08-17 12:46:17 Done estimating alignment parameters.

                    Transition Probabilities:
                    match -> match:          0.966
                    match -> insertion:      0.010
                    match -> deletion:       0.024
                    deletion -> match:       0.390
                    deletion -> deletion:    0.610
                    insertion -> match:      0.672
                    insertion -> insertion:  0.328

                    Emission Probabilities:
                    match (equal):           0.982
                    match (not equal):       0.006
                    insertion:               1.000
                    deletion:                1.000

2024-08-17 12:46:17 Reading potential variants from input VCF...
2024-08-17 12:46:17 10 potential variants identified.
2024-08-17 12:46:17 Generating haplotype fragments from reads...
2024-08-17 12:46:17    100% of variants processed.
2024-08-17 12:46:17 Calling initial genotypes using pair-HMM realignment...
thread 'main' panicked at 'index out of bounds: the len is 1 but the index is 1', src/main.rs:750:13
stack backtrace:
   0:     0x55d6d493aada - std::backtrace_rs::backtrace::libunwind::trace::ha9053a9a07ca49cb
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x55d6d493aada - std::backtrace_rs::backtrace::trace_unsynchronized::h9c2852a457ad564e
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55d6d493aada - std::sys_common::backtrace::_print_fmt::h457936fbfaa0070f
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x55d6d493aada - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779d7bf7f70cb0c
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x55d6d495bbae - core::fmt::write::h5a4baaff1bcd3eb5
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/fmt/mod.rs:1232:17
   5:     0x55d6d4938285 - std::io::Write::write_fmt::h4bc1f301cb9e9cce
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/io/mod.rs:1684:15
   6:     0x55d6d493a8a5 - std::sys_common::backtrace::_print::h5fcdc36060f177e8
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x55d6d493a8a5 - std::sys_common::backtrace::print::h54ca9458b876c8bf
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x55d6d493beff - std::panicking::default_hook::{{closure}}::hbe471161c7664ed6
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:271:22
   9:     0x55d6d493bc3b - std::panicking::default_hook::ha3500da57aa4ac4f
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:290:9
  10:     0x55d6d493c4a8 - std::panicking::rust_panic_with_hook::h50c09d000dc561d2
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:692:13
  11:     0x55d6d493c3a9 - std::panicking::begin_panic_handler::{{closure}}::h9e2b2176e00e0d9c
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:583:13
  12:     0x55d6d493af46 - std::sys_common::backtrace::__rust_end_short_backtrace::h5739b8e512c09d02
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:150:18
  13:     0x55d6d493c0b2 - rust_begin_unwind
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
  14:     0x55d6d45c5cb3 - core::panicking::panic_fmt::hf33a1475b4dc5c3e
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
  15:     0x55d6d45c5e22 - core::panicking::panic_bounds_check::haf06fefb23eba82d
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:159:5
  16:     0x55d6d45f2c34 - longshot::run::ha5892bd923080708
  17:     0x55d6d45ec87e - longshot::main::hfc320f1dc091f743
  18:     0x55d6d45d4bf3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h83f82c13b8b880f7
  19:     0x55d6d45d27b9 - std::rt::lang_start::{{closure}}::h97457b920ea3a05c
  20:     0x55d6d493369c - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hd6efcd3bec896f2c
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:287:13
  21:     0x55d6d493369c - std::panicking::try::do_call::hce04e543bb1f4cbb
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
  22:     0x55d6d493369c - std::panicking::try::h3342dd4e1f680968
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
  23:     0x55d6d493369c - std::panic::catch_unwind::h148ce1e59ac0cee7
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
  24:     0x55d6d493369c - std::rt::lang_start_internal::{{closure}}::h25f9dda2057a67fe
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/rt.rs:148:48
  25:     0x55d6d493369c - std::panicking::try::do_call::h7caaaeaf9401650b
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
  26:     0x55d6d493369c - std::panicking::try::he7d15285746cbbc2
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
  27:     0x55d6d493369c - std::panic::catch_unwind::h89fb4f50c0301fe0
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
  28:     0x55d6d493369c - std::rt::lang_start_internal::h078acd489417d3c1
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/rt.rs:148:20
  29:     0x55d6d45f3625 - main
  30:     0x7fd365560d90 - <unknown>
  31:     0x7fd365560e40 - __libc_start_main
  32:     0x55d6d45c62e5 - <unknown>

MT007544.merged.vcf.gz
MT007544.primertrimmed.rg.sorted.bam.gz
reference.fasta.gz

Thanks for providing the input files to reproduce this error. The input VCF file contains multiple variants without an alternate allele. While this is a valid VCF specification, Longshot expects each potential variant to have at least one alternate allele. If you filter out such variants, the error goes away. It should not be difficult to add a check for such variants in the longshot code.

authors: BioWilko vibansal

repo: pjedge/longshot


text:
Update dates in work experience timeline to be more readable

Currently the date ranges are shown as 2019-05-01 to 2019-08-01. This should say May 1, 2019 to Aug 1, 2019 for readability.

Use of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString should work

repo: pjsanjuan/personal-site


text:
🛑 ✅JrebelLicenseServer is down

In 98ff824, ✅JrebelLicenseServer (https://jrebel.wayok.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ✅JrebelLicenseServer is back up in a83d5d1 after 48 minutes.


text:
Incorrect exception used in deposit catch block

The exception type-hinted in the catch block does not correspond to the exception thrown, so the catch block is bypassed. This ignores the DOI-related actions in the catch block and causes the job to be registered as a failure.
https://github.com/pkp/crossref-ojs/blob/7a6f4d5ec378fc0625856273f3d52a09ed84d16d/CrossRefExportPlugin.php#L302
It should use GuzzleHttp\Exception\GuzzleException instead.

@bozana, would you mind reviewing this? It's a small change but it was causing DOI depositing jobs to fail. Thanks!
PR:

#17

Thanks! Looking at it again this morning, I think it was the namespace in the type hinting not having the starting \, e.g. GuzzleHttp\Exception\RequestException instead of \GuzzleHttp\Exception\RequestException so it should have been catching the ClientException that was being thrown.
The more generic GuzzleException covers two more exceptions that aren't likely to happen (ConnectionException and InvalidArgumentException), but it's probably a good idea to mark the DOI deposit as having failed if those ever do pop up.

Yeah, I remember about fixing it.

authors: ewhanson jonasraoni

repo: pkp/crossref-ojs


text:
Items with same name all show same cover icon regardless of actual contents

All instances of an item with same name show the last retrieved cover icon regardless of what the first image actually was or if there even was an image. All cover icons are changed to the last cover image.
This may no longer be an issue if completed items are changed to final file name as this would prevent duplicate item references?

I can't recreate this problem, works for me. Though items with the same name can't be added to the list simultaneously (only if one of them is archived), which is a bug.

More of a pain to replicate than I thought. I saw it twice in a row in testing and thought it was repeatable. In trying to find a thread that reproduces it repeatedly, but I haven't found the trigger. I'll keep trying to find a thread that works repeatedly, but something is happening with the 2.5.1 (03F1) build.

I recreate it at will with 2.5.1 (043C).

Interestingly the previous item(s) cover images changes before the compression is complete on the new item.

All right, now I understand. The problem is that I don't cache the images like before, instead it fetches them each them it updates the view from the folder. If you change the name of the folder and then add it to the list, the compressed items icon will disappear. I remember now why I did the cache thing from the beginning. It's an easy fix.

Fixed in latest build.

authors: mikemcduffie pkrll


text:
Fix infinite recursion when stubbing implicitly unwrapped optionals

Description
FIxes a bug when stubbing implicitly unwrapped properties that caused infinite recursion.
Checklist

[x] Documentation has been added or updated.
[x] All applicable classes have unit tests.
[x] This PR contains no commented out code.

LGTM

authors: alliannas johannth

repo: plain-vanilla-games/MockItYourself


text:
Login Button

Add the login button to the UI, it should take you to https://civic.love/login

I don't think so actually. Because most users logging in will not be trying to login to manage the room. Most users hitting login will be trying to figure out how ot use the planetary ios app. We need to talk about this with Daniel and Sebastian.

Dependent on #941

https://github.com/planetary-social/planetary-ios/issues/941

authors: chereseeriepa danlatorre rabble

repo: planetary-social/rooms-frontend


text:
2011-04-24: vytvarime-kontaktni-formular

Vytvoření kontaktního formuláře s odesláním na mail - formou raw textu i html šablonou.
Návod staví nad sandboxem Nette 2.0.8 a PHP 5.3+. Stačí jej stáhout a upravovat konkrétní soubory.
Jednoduše v presenteru
Nejjednodušší a nejrychlejší přístup je vytvoření formuláře v presenteru - vytvoříme tedy komponentu ContactForm. Dále přidáme její zpracování třídou Nette\Mail\Message, která má na starosti vytváření a odesílání emailů. Více o odesílání emailů si můžete přečíst v dokumentaci.
presenters/HomepagePresenter.php
use Nette\Application\UI\Form;
use Nette\Mail\Message;

class HomepagePresenter extends BasePresenter
{

        /**
         * Contact form
         */
        protected function createComponentContactForm()
        {
                $form = new Form;
                $form->addText('name', 'Jméno:')
                        ->addRule(Form::FILLED, 'Zadejte jméno');
                $form->addText('email', 'Email:')
                        ->addRule(Form::FILLED, 'Zadejte email')
                        ->addRule(Form::EMAIL, 'Email nemá správný formát');
                $form->addTextarea('message', 'Zpráva:')
                        ->addRule(Form::FILLED, 'Zadejte zprávu');
                $form->addSubmit('send', 'Odeslat');

                $form->onSuccess[] = $this->processContactForm;

                return $form;
        }

        /**
         * Process contact form, send message
         * @param Form
         */
        public function processContactForm(Form $form)
        {
                $values = $form->getValues(TRUE);

                $message = new Message;
                $message->addTo('test@gmail.com')
                        ->setFrom($values['email'])
                        ->setSubject('Zpráva z kontaktního formuláře')
                        ->setBody($values['message'])
                        ->send();

                $this->flashMessage('Zpráva byla odeslána');
                $this->redirect('this');
        }

}

Takto vytvořenou komponentu poté stačí přidat do šablony a můžeme vesele kontaktovat.
templates/Homepage/default.latte
{block #content}

{control contactForm}

Html šablona emailu
Pokud chceme v emailu využít html, musíme použít vlastní šablonu. V ní definujeme proměnné (ty jí musíme předat) a předmět v tagu <title>. Šablonu umístíme např. do:
templates/email/emailTemplate.latte

                <title>{$title}</title>

                                Jméno: {$values['name']}

                                Email: {$values['email']}

                                Zpráva: {$values['message']}

Ještě upravíme metodu pro zpracování formuláře.
presenters/HomepagePresenter.php
/**
 * Process contact form, send message with custom template
 * @param Form
 */
public function processContactForm(Form $form)
{
        $values = $form->getValues(TRUE);

        $message = new Message;
        $message->addTo('test@gmail.com')
                ->setFrom($values['email']);

        $template = $this->createTemplate();
        $template->setFile(__DIR__ . '/../templates/emails/emailTemplate.latte');
        $template->title = 'Zpráva z kontaktního formuláře';
        $template->values = $values;

        $message->setHtmlBody($template)
                ->send();

        $this->flashMessage('Zpráva byla odeslána');
        $this->redirect('this');
}

Jako komponenta
===

Email s šablonou v komponentě

Šikovná komponenta
---

Formuláře je vhodné pro přehlednost a lepší rozšiřitelnost umisťovat do samostatné složky, např. `app/forms`. Jelikož v tomto návodu bude potřeba vytváření šablon, využijeme k tomu samostatnou komponentu, kterou umístíme do `app/components`.

Zde vytvoříme složku `ContactFormControl` a v ní soubory:

**ContactFormControl.php**

/-php
use Nette\Application\UI\Control;
use Nette\Application\UI\Form;
use Nette\Mail\Message;

class ContactFormComponent extends Control
{

        protected function createComponentContactForm()
        {
                $form = new Form;
                $form->addText('name', 'Jméno:')
                        ->addRule(Form::FILLED, 'Zadejte jméno');
                $form->addText('email', 'Email:')
                        ->addRule(Form::FILLED, 'Zadejte email')
                        ->addRule(Form::EMAIL, 'Email nemá správný formát');
                $form->addTextarea('message', 'Zpráva:')
                        ->addRule(Form::FILLED, 'Zadejte zprávu');
                $form->addSubmit('send', 'Odeslat');

                $form->onSuccess[] = $this->processContactForm;

                return $form;
        }

        public function processContactForm(Form $form)
        {
                $settings = $this->presenter->context->parameters['email'];
                $values = $form->values;

                $message = new Message;
                $message->addTo($settings['to'])
                        ->setFrom($values['email']);

                // 1. způsob - raw text
                $message->setSubject($settings['subject'])
                        ->setBody($values['message']);

                // 2. způsob - html
                $template = $this->createTemplate();
                $template->setFile(__DIR__ . '/emailTemplate.latte');
                $template->title = $settings['subject'];
                $template->values = $values;
                $message->setHtmlBody($template);

                $message->send();

                $this->presenter->flashMessage('Zpráva byla odeslána');
                $this->redirect('this');
        }

        public function render()
        {
                $this->template->setFile(__DIR__ . '/ContactFormControl.latte');
                $this->template->render();
        }

}

**ContactFormControl.latte**
/-html
{control contactForm}

**emailTemplate.latte**
/-html

                <title>{$title}</title>

                                Jméno: {$values['name']}

                                Email: {$values['email']}

                                Zpráva: {$values['message']}

\-

Presenter
---

Poté formulář zavoláme v presenteru a vytvoříme komponentu:

**HomepagePresenter.php**

/-php
class HomepagePresenter extends BasePresenter
{

        protected function createComponentContactFormControl()
        {
                return new ContactFormComponent;
        }

}

\-

Šablona
---

Komponentu přidáme do šalbony:

**Homepage/default.latte**
/-html
{block content}
        {control contactFormControl}
{/block}
\-

Config
---

**app/config/config.neon**
/-php
common:
        parameters:
                email:
                        to: my@email.com
                        subject: Kontaktní formulář
\-

SMTP odesílání?
---

Link někam, toto už tu je...

author: 2127 ()

repo: planette/planette


text:
Add Chinese text

How to add Chinese text?
a.add_annotation(
'text',
Location(x1=10, y1=20, x2=80, y2=30, page=0),
Appearance(content="中文", font_size=10,  fill=(0, 0, 0)),
)
a.write('D:\test.pdf')
a error is reported: UnicodeEncodeError: 'latin-1' codec can't encode characters in position 41-44: ordinal not in range(256)
then I change to 'UTF-8', but the pdf output is garbled.

but when I double click the text. The ‘中文’ appear.

How to make Chinese display?

Have you resolved the problem?

repo: plangrid/pdf-annotate


text:
Partially implemented calls

In some cases a given server implementation may be unable to fully implement certain calls. For example /markers-search supports a matchMethod parameter thay takes values such as exact, case_insensitive or wildcard. Depending on the back-end structure it may be impossible to search using wildcard. How do we deal with that?
Also, just writing this, I'm realizing that case_insensitive could actually be combined with exact or wildcard, all depends on everyone's interpretation. Don't want to push for any behaviour, just pointing out it's sort of ambiguous.

After our last meeting, I noted some people were using the "matchMethod" parameter but I realized I dropped it a time ago (I though it was removed from the specs). And when we had the discussion about advanced searches, we marked which fields would require such kind of match. So I had a look into the documentation today and didn't find the place where the use of the "matchMethod" parameter is described except for the marker-search call where it says:

matchMethod (optional, string, wildcard) ... Possible values are 'case_insensitive', 'exact' (case sensitive), 'wildcard' (which is case insensitive). Wildcard uses both '*' and '%' for any number of characters and '?' for one character matching. Default is exact.

It used to be in the gremplasm-search or germplasm details calls but it is not anymore.
So I think either we actually did remove that parameter a long time ago and it still appears on some places but should not... or we are missing a detailed documentation about it, just like Guilhem is mentioning.
Many questions about this: would it be required? Used or required by which calls? ...on which fields? Does it make sense to implement it on some fields and not some others? Could we combine wildcard and case-sensitive/insensitive? What are the special characters? How to escape them? (and I also remember some parts of old discussions about also including a "fuzzy" type search, "begin_with" and "end_with" were removed because "wildcard" would do the same, how many wildcard would be supported in a user query, would we have a joker character,...).

to answer @GuilhemSempere 's original issue:
This question has come up in other places about not being able to handle certain input parameters. I recommend accepting the parameter as a valid input, and then ignoring it when performing any logic or database query.
Also, as BrAPI gets bigger and more complex, I've been recommending that anyone who is building a server side implementation should make their own documentation page. This allows you to document any minor differences between the official BrAPI spec and your implementation, and it allows you to document any additional services you might have available which are not part of BrAPI.

repo: plantbreeding/API


text:
<%= deviser_error_messages! %> not working on the devise login page. It works for forgot password and sign up page. But if we enter the wrong email on the sign in page. it just reloads the same page without showing any errors but logs in when we enter the right email and password.

Precheck

Do not use the issues tracker for help or support, try Stack Overflow.
For bugs, do a quick search and make sure the bug has not yet been reported
Finally, be nice and have fun!

Environment

Ruby [version]
Rails [version]
Devise [version]

Current behavior
Include code samples, errors, steps to reproduce the error and stacktraces if appropriate.
Will be even more helpful if you provide a sample application or a test case that reproduces the error.
Expected behavior

You need to give us more information on how to reproduce this issue, otherwise, there is nothing we can do.
Please open up a new issue and make sure to fill in all the information requested in the template shown inside the text box.
Thank you!

authors: ahujasushant tegon

repo: plataformatec/devise


text:
Change confirmation mail greeting to also fit use for reconfirmation

The template is also used by the re-confirmation e-mail. In that context, the "Welcome" greeting doesn't make sense, so a more general greeting is better suited.

LGTM

Hello @grantzau, thanks for your pull request!
Personally, I prefer to add a specific email for reconfirmation. We have an open issue for that: https://github.com/plataformatec/devise/issues/4145. If you're willing to make this change, I'm happy to accept it.

I agree, much better with a specific email for reconfirmation! @tegon I will take a look at it later this month

@grantzau are you still going to work on this?
I'm asking to know if I should assign it to someone else. Thanks!

No, sorry, I am away from my development work for a year or more. So, yes,
would be good to assign someone else :) Thank you too.
Den tor. 27. dec. 2018 kl. 20.36 skrev Leonardo Tegon <
notifications@github.com>:

@grantzau https://github.com/grantzau are you still going to work on
this?
I'm asking to know if I should assign it to someone else. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/plataformatec/devise/pull/4846#issuecomment-450216416,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWVaXCEEtO7ROh07FsC5d9xlQFipFtiks5u9SEbgaJpZM4TeV5-
.

authors: grantzau saiqulhaq tegon


text:
Same scope for different actions

I have different actions rendering the collection in a different ways, and sort scope with the default option setting column name and the direction. However this column does not exist in the table rendered by one of three actions. Initially I was going to do something like this:
  has_scope :sort, default: "duration.desc", except: :photo
  has_scope :sort, default: "photo_request.asc",  only: :photo

It didn't work, as has_scope call completely overwrites scope definition. I thought there was a way to change the name of the outer scope (key in params) while saving name called on model class, something like reversed as option. But there wasn't.
Right now I'm going to declare an alias for sort scope on model and use different key. Or the same key with except/only. Any better way to solve it?

That's because we need to keep track of the scopes configuration, and that's keyed by the scope name you use, so I don't think there's a better way around this right now.

I may be wrong, but I don't see any calls to scopes_configuration by key (except the moment when it's filled up), so it may be an array, which will work fine, cause scopes are applied sequentially anyway. In this case except and only will work for my initial attempt.

It's what we use to call the model scopes when you call apply_scopes. There might be other ways of implementing that, though, I'm not entirely sure it needs to be a hash, but it's what has been working so far. If you want to go ahead and try to propose something else, as long as it is mostly backwards compat (everything should work, except of course scopes_configuration wouldn't be a hash anymore), we'd be glad to review and discuss. Thanks!

authors: carlosantoniodasilva youroff


text:
Put exclusions in order by Ruby version for easy reference

Hey there! This is a simple PR that orders the exclusions in the Travis build matrix by Ruby and Rails versions. This makes it easier to check at a glance which exclusions there already are and if any others need to be added during future development.

Thanks, @danascheider!

authors: danascheider tegon


text:
Summary about processed environments

Would be good to show a summary of processed environments when there is more than 1 environment in the project. Something similar that is implemented for Unit Testing.

https://travis-ci.org/platformio/platform-ststm32/jobs/160646454

repo: platformio/platformio


text:
Enhanced measurements broken if self-host

There is a current Bug with the "Enhanced measurements" toggle Buttons.
If you use a Self-Host domain the is_list value will be empty instead of 1.
This is because the disabled information Banner will be added as a hook to the element Array.
hook is not ignored by the check if the Array is a list.
Because of this the Toggle Buttons will no longer work.
In addition the enhanced_measurements entry in the Database changes from ['...','...'] to 'on'

Thanks for the detailed report. I'll look into it tomorrow!

For your convenience, the Check that @Dominic1DL is referring to are these lines in src/Admin/Settings/API.php. Specifically, line 587.
Of note is, that once the settings array in the database has been set to "on", if you force the is_list parameter on the checkboxes to be truthy (via the browser's developer console), then the ajax handler errors out in src/Ajax.php. This is because the in_array check uses the value of the settings array with the group name as the key, which in this circumstance is the string "on", as the second parameter. This causes an error since the second parameter is expected to be an array. Here's the stack trace for that:
PHP message: PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, string given in /var/www/clients/clientX/webY/web/www/wp-content/plugins/plausible-analytics/src/Ajax.php:132
Stack trace:
#0 /var/www/clients/clientX/webY/web/www/wp-content/plugins/plausible-analytics/src/Ajax.php(132): in_array()
#1 /var/www/clients/clientX/webY/web/www/wp-includes/class-wp-hook.php(324): Plausible\Analytics\WP\Ajax->toggle_option()
#2 /var/www/clients/clientX/webY/web/www/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#3 /var/www/clients/clientX/webY/web/www/wp-includes/plugin.php(517): WP_Hook->do_action()
#4 /var/www/clients/clientX/webY/web/www/wp-admin/admin-ajax.php(188): do_action()
#5 {main}
  thrown in /var/www/clients/clientX/webY/web/www/wp-content/plugins/plausible-analytics/src/Ajax.php on line 132

(Line numbers are probably different because of comparing the development version with the release version)

Thanks! I'm currently hit by a flu, guys. So, hopefully I'll be able to get back at it tomorrow.

This beta contains the fix for this. Mind you that running this beta requires you to updated Plausible Analytics CE to v2.1.0-rc.0 as an API token is required for self-hosted instances in this release as well.

Hi @Dan0sz,
I gave it a try: when I update the plugin (the provided beta version), something seems odd to me. I am on v2.1.0-rc.0. I can see the screen of the Plausible settings in WordPress changes after the update.
Originally it showed me at the section: "Connect your website with Plausible Analytics":
"This option is disabled, because the Domain Name setting is enabled under Self-Hosted settings."
Now with the updated beta version it shows me:
"Please create an API token and insert it into the API token field above."
When I click "create an API token" it takes me to plausible.io and not myplausiblename.mydomain.com. That does not seem right. Even though I am able to create an API token at Plausible-cloud and even get the status "connected". But I assume now it's connected to the cloud version of Plausible (which I previously used). I think "create an API token" should open https:/myplausiblename.mydomain.com/websitedomain.com/settings/integrations but even though I am on v2.1.0-rc.0 I don't see the desired settings there for "Plugins API Tokens"
So to me it looks there are many things mixed up. Maybe you can have a look at this and let me know.
I am able to go to myplausiblename.mydomain.com and go to the Account settings to create an API key. But I think that's something compeltely different, and it's not working.
Right now I am in a very confused state and situation, as I think it made the entire situation worse unfortunately.
Also, the actual issue I described here https://wordpress.org/support/topic/cant-enable-404-error-outbound-links-file-downloads-anymore/ seems not to be solved either, e.g. I tried to enable "404 error pages" and it's not keeping the setting, I goes back to being disabled once I refresh the page.

Yes, you're right about that. It should point to your self-hosted domain. Thanks for notifying me!
For now, you can head on over to the page yourself, and create the API token.

this is the link that we link from the plugin when cloud is used: https://plausible.io/yoursite.com/settings/integrations?new_token=WordPress
same type of link should work with v2.1.0-rc.0 (note the ?new_token=WordPress at the end, without it it won't work). so something like:
https://yoursubdomain.yourdomain.com/yoursite.com/settings/integrations?new_token=WordPress

I can try to create it myself by modifying the link. And to my surprise the first part works. But that's not it yet.

When I go to myplausiblename.mydomain.com and pick a domain and see for it's settings → integration → the sectin "Plugins API Tokens" is misisng
When I modify the link as you suggested manually then I'll replace https://plausible.io/websitedomain.com/settings/integrations?new_token=WordPress with https://myplausiblename.mydomain.com/websitedomain.com/settings/integrations?new_token=WordPress and to my surprise I can create an API token. After I have done that, I can go to the settings of the site in myplausiblename.mydomain.com and suddenly the section "Plugins API Tokens" is there

However, nothing of that matters. Because once I try to add the API token it says:
"Oops! The API token you used is invalid. Please click here to generate a new token."

@Dan0sz both the links to create the API token and the link to where we validate the inserted token need to be changed in the plugin when self-hosting is enabled

Right. Of course, will work that in tomorrow!

@Dan0sz Thanks for letting us know. It's a public holiday tomorrow, so earliest we'll get to check it out will probably be Thursday. ace34a8 should fix the initial problem, however I don't see a fix for if the settings value is already messed up, i.e. if you toggled any of the switches before the update and the settings value has been set to "on".

@raabmar

I tried to enable "404 error pages" and it's not keeping the setting, I goes back to being disabled once I refresh the page.

This might be related to what I described above and in my previous comment. Using version 2.0.8 (and presumably earlier versions as well) with a self-hosted Plausible instance, the plugin messes up some setting if you toggle any of the switches in the enhanced measurements section. Using the beta you might be getting an error message and not notice it. I can't test the beta version right now but with the 2.0.8 version I get a little error popup in the upper right-hand corner saying "undefined" and my browser console informs me of a 500 internal server error. Depending on your web server configuration you might not get these and only get a PHP warning in the server logs, though I'm not 100% on this one.
If possible, could you please check that for me?

If these hold true, then yes technically the bug is fixed. But for people who have used the plugin before and ran into the same issue, the in_array check when submitting the toggle status will error out because of incompatible types. In that sense I don't think the bug is fixed, because it still prevents enabling the enhanced measurements.

@icewindow @Dan0sz I checked and when I try to toggle the setting, e.g. 404 error pages, it throws an 500 error, shown in the browser console

POST https://www.mywebsite.com/wp-admin/admin-ajax.php 500 (Internal Server Error)

Can I just uninstall the plugin completely and reinstall it? Or is that not on the end of WordPress, but the self-hosted plausible itself?

Ah, right. I'll include a migration script to make sure it's fixed.

Thanks, I am traveling right now but the minutes in between on the laptop I can try to test it once you are ready

@raabmar

Can I just uninstall the plugin completely and reinstall it? Or is that not on the end of WordPress, but the self-hosted plausible itself?

The Error comes from WordPress itself, because the plugin tries to check it's settings and because the wrong value that got previously saved is still there, some check fails and causes the 500 server error. I'm not sure if uninstalling the plugin would fix that because I'm not sure if the plugin deletes it's settings upon being uninstalled.
Best thing to do is probably to wait for the migration script being added and then try again.
You could manually delete the enhanced_measurements entry from your wp_options database table or use the WordPress CLI to remove the option, but if you are unfamiliar with either I'd recommend against it. You can mess up your WordPress if you make a mistake (always have a backup!). Though the CLI is somewhat safe, but you need access to the server's console in order to use it, which you might not have.

Creating a new beta as we speak, guys.

Please give this beta try!

Can you explain please what it should do? It should fix the links for creating the API token and the validation right?
But not include what you called migration script, correct?
I can't risk to mess with another site so I better ask beforehand (I don't run plausible on staging sites, only live, so each try is also a risk for me)

This beta fixes the Create the API token link, and other related links which should point to the self-hosted instance.
It also includes the migration script.

I just tested it, and I feel there is progress, and then there are steps backwards as well. To sum it up - I had to disable the plugin now entirely!
It turns out, when I logged back in to the site, I was not able to open any page in wp-admin, it always automatically redirected me to the plausible settings page. Same when I tried in incognito mode. This happened before updating to the latest beta from https://github.com/plausible/wordpress/issues/202#issuecomment-2088277176
I renamed the entire plugin folder via FTP, otherwise I was not even able to navigate in the WordPress backend. Then I uploaded the latest beta from https://github.com/plausible/wordpress/issues/202#issuecomment-2088277176
The initial result: When I request "create an API token" it does open the self-hosted plausible now ✅ I can create a token as expected ✅ but the token does not work → ❌ "Oops! The API token you used is invalid. Please click here to generate a new token."
Note: in the error message it says "click here" to generate a new token, and there is also no link behind it at all.
Then I try to refresh the page and then it shows me out of a sudden "connected", so now it suddenly does work.
Next I test the toggles for 404 error, outbound links → those did work now ✅
But then again, I can't go anywhere else in WordPress - I am always redirected to https://www.mywebsite.com/wp-admin/options-general.php?page=plausible_analytics#welcome_slide
I had to disable the plugin via FTP.

On another note - is there a way to go back now?
I lost track on how the Plausible self-hosted version and the WordPress plugin version must be tied. I am just not sure if I am even able to go back.
I have the Plausibel plugin now disabled for a few days. I would like to enable it again, but I can't because of the issues desribed in my previous comment.
But with all the trials and attempts I am not sure anymore if I could just somehow get the previous WordPress plugin version, that comes with the issue from this entire ticket (e.g. 404 error tracking), but at least I could just track normal visitors
Now I am in some state in between and feel I can't move forward, and can't move backwards

Hello @Dan0sz
do you have by chance any update on this? It's becoming problematic for me, and I really would just like to use Plausible again, which aI can't know anymore - I can not fully understand what the first and the second beta were doing in the DB, so I can't just go back - or at least not until you tell me it's fine
Can you please try to give some update on that case?

@raabmar,
Sorry for the delay.
I was unable to reproduce the issue you mentioned of your admin area being locked up, but when digging through the code I found something that might be causing your issue. So, I created another beta (yes, I know) that only includes a fix for that. If you're willing (and I fully understand if you're a bit hesitant right now 😅), you can give this beta a try.

@Dan0sz I did a quick test. This latest beta does solve the redirect issue in wp-admin. But now I again get "Oops! The API token you used is invalid. Please click here to generate a new token." even though I am generating the API token from the self hosted environment.
So it looks like now the validation part is broken again.
And something else - when I hover over "Plausible Analytics" in the admin bar in WordPress, it's not showing the dropdown anymore. I can still directly access the URL /wp-admin/admin.php?page=plausible_analytics but I am surprised why this is broken now.

Not sure if GIF works in here - to show it visualy. The first example shows the public 2.0.8. The second example shows the beta version from https://github.com/plausible/wordpress/issues/202#issuecomment-2100128422
This latest issue didn't show with the beta version from https://github.com/plausible/wordpress/issues/202#issuecomment-2088277176. There was a version where the new API token validation did work already

@Dan0sz Do you have by chance any update on this? I know I ask and request a lot, but those betas cost me a lot of time as you know, and I still did not manage to get into a stable situation since this all started. Seems it requires a mix of all provided beta versions to make it work

The admin bar issue is considered a low priority issue at the moment, and is present already on our tracker.
After extensively testing your issue, I found that the API client wrapper didn't respect some refactors I did earlier yet, which resulted in plausible.io's API still being hit, instead of your self-hosted environment. That's what was causing the "Oops! Your token is invalid" message.
This beta resolves it, and works fully with the latest RC of Plausible CE.

Can't do a proper testing right now, but the one site I performed all the beta went anyway through a lot so I just updated there and I can confirm the token validation did work now.
I also quickly disabled settings about 404 error pages (that's how it all started initially), page refresh, enabled 404 error pages again, page refresh → confirm the settings are stored now on that site
Disable menu bar in the settings works, so I can at least disable it therre so that it doesn't disturb users when it's non functional at the moment
I hope others can test as well, I am not really ready to update it on more sites just yet, as I have Plausible only running on live sites and not on dev sites
Thanks for the hard work

repo: plausible/wordpress


text:
problem font play with docker

Hi,
i'm not an coder but currently theirs are problems with the font display within the CLI.
Are there other poeple having the same problem?
Sincerly,

Hi, i use google chrome Version 89.0.4389.90 (Official Build) (32-bit) and Windows 10 enterprise version 20H2

repo: play-with-docker/play-with-docker


text:
backend setup failed

when i try to generate a full project with backend and frontend, the backend generation is failing.
  [1/17] Project Title (Project Title): mcfm
  [2/17] Project Description (A new project using Plone 6.):
  [3/17] Project Slug (Used for repository id) (mcfm):
  [4/17] Project URL (without protocol) (mcfm.example.com):
  [5/17] Author (Plone Foundation):
  [6/17] Author E-mail (collective@plone.org):
  [7/17] Should we use prerelease versions? (No):
  [8/17] Plone Version (6.0.12):
  [9/17] Volto Version (18.0.0-alpha.42):
  [10/17] Python Package Name (mcfm):
  [11/17] Volto Addon Name (volto-mcfm):
  [12/17] Language
    1 - English
    2 - Deutsch
    3 - Español
    4 - Português (Brasil)
    5 - Nederlands
    6 - Suomi
    Choose from [1/2/3/4/5/6] (1):
  [13/17] GitHub or GitLab Username or Organization (collective):
  [14/17] Container Registry
    1 - GitHub Container Registry
    2 - Docker Hub
    3 - GitLab
    Choose from [1/2/3] (1):
  [15/17] Should we setup a caching server?
    1 - Yes
    2 - No
    Choose from [1/2] (1):
  [16/17] Add Ansible playbooks?
    1 - Yes
    2 - No
    Choose from [1/2] (1):
  [17/17] Add GitHub Action to Deploy this project?
    1 - Yes
    2 - No
    Choose from [1/2] (1):
╭──────────────────────────────────────────────────────────────────────────── mcfm generation ─────────────────────────────────────────────────────────────────────────────╮
│                                                                                │
│ Summary:                                                                                │
│                                                                                │
│   - Plone version: 6.0.12                                                                                │
│   - Volto version: 18.0.0-alpha.42                                                                                │
│   - Output folder: /home/maik/develop/jlu/mcfm/tmp/mcfm                                                                                │
│                                                                                │
│                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
 -> Initialize Git repository
 -> Setup Backend
Traceback (most recent call last):
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/cookieplone/generator.py", line 56, in generate
    result = cookiecutter(
             ^^^^^^^^^^^^^
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/cookiecutter/main.py", line 161, in cookiecutter
    prompt_for_config(context_for_prompting, no_input)
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/cookiecutter/prompt.py", line 283, in prompt_for_config
    cookiecutter_dict[key] = render_variable(env, raw, cookiecutter_dict)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/cookiecutter/prompt.py", line 224, in render_variable
    return template.render(cookiecutter=cookiecutter_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/jinja2/environment.py", line 1304, in render
    self.environment.handle_exception()
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/jinja2/environment.py", line 939, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "<template>", line 1, in top-level template code
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/cookieplone/filters/__init__.py", line 14, in package_name
    return v.split(".")[1]
           ~~~~~~~~~~~~^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/tmp6i693i9f.py", line 175, in <module>
    main()
  File "/tmp/tmp6i693i9f.py", line 146, in main
    func(new_context, output_dir)
  File "/tmp/tmp6i693i9f.py", line 63, in generate_backend_addon
    generator.generate_subtemplate(
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/cookieplone/generator.py", line 133, in generate_subtemplate
    raise exc
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/cookieplone/generator.py", line 116, in generate_subtemplate
    result = generate(
             ^^^^^^^^^
  File "/home/maik/.local/pipx/.cache/874b532047f20f9/lib/python3.11/site-packages/cookieplone/generator.py", line 91, in generate
    raise GeneratorException(message=str(e), original=e)  # noQA:B904
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cookieplone.exceptions.GeneratorException
ERROR: Stopping generation because post_gen_project hook script didn't exit successfully
Hook script failed (exit status: 1)

@MrTango can you try specifying Plone 6.0.11, same Volto? This is an issue with generating the backend. Maybe a package was renamed? I'd also check the Plone 6.0.12 release notes for any package shenanigans.

@MrTango The cookieplone templates don't currently support Python package names without a namespace. As a workaround you can generate collective.mcfm and then manually remove the namespace folder.
I'll close the issue because it's a duplicate of #34

authors: MrTango davisagli stevepiercy

repo: plone/cookieplone


text:
Handle obsolete trainings and "Plone Training 2022 documentation" in logo area

I think we should remove "2022".
Also there are obsolete and outdated trainings that should not be included in the PloneConf 2021 trainings.
Perhaps the way forward is instead of using the version of Plone in the URL, that we use the current year of the PloneConf?
https://training.plone.org/5/wsgi/index.html becomes https://training.plone.org/2019/wsgi/index.html

Here's a start of a list of obsolete trainings.

https://training.plone.org/5/wsgi/index.html
https://training.plone.org/5/advanced-python/

Closing in favor of #672

repo: plone/training


text:
Logout Refactor

#4460

Sorry @JeffersonBledsoe  , I am not able to understand

Sorry @JeffersonBledsoe , I am not able to understand

@Tishasoumya-02 Your current code looks like this:
useEffect(() => {
    dispatch(logout());
    dispatch(purgeMessages());
});

This code means that the effect will run every time the component renders (more info in the React docs for useEffect). You probably want something like this which has the array of dependencies for the effect:
useEffect(() => {
    dispatch(logout());
    dispatch(purgeMessages());
}, [dispatch]);

While it's unlikely that this component will be around long enough for the effect to run multiple times, it is a possibility(and is even something React will do in dev mode).

repo: plone/volto


text:
Update pnpm-lock.yaml

When I ran pnpm install the file was updated

@sneridagh Hmm, how did this happen?

@wesleybl I just run it in main and for me it does not change. @stevepiercy also noted that. I changed the yarnhook for a custom script that does something more appropiate on git checkouts.
I just run pnpm install in main, and it did not changed anything for me. Make sure you are using the corepack pnpm version (this one uses the pnpm version specified in the package.json file). Remove any other pnpm installation from your machine. Don't know if that is the cause of it but it's quite strange.

@davisagli did it changes for you if you run it now?

I read that pnpm install does more things than yarn install used to do. I also saw that for something as the hook on git change is better:
pnpm install --prefer-offline --frozen-lockfile --no-verify-store-integrity
See: https://github.com/pnpm/pnpm/issues/6229#issuecomment-1475290177

authors: davisagli sneridagh wesleybl


text:
Issue: telemetry log_call decorator with method in class (when payload = True)

Add test case to simulate the issue

:books: Documentation preview :books:: https://ploomber-core--45.org.readthedocs.build/en/45/

I think it would be good if we can fix this and I can update the usage into the doc

released in ploomber-core 0.2.4!

authors: edublancas tonykploomber

repo: ploomber/core


text:
Add filter transform to dev

Implemented filter transforms

Basically visibility rule for DataSelector now becomes: always show, unless it's in transforms

afterwards 💃

repo: plotly/react-chart-editor


text:
Anna: implement detection of cooling presence

In the case of an Anna the cooling function acts automatically, in contrast with an Adam where the cooling function must be activated manually, via a setting in the Plugwise App.

👍

authors: CoMPaTech bouwew

repo: plugwise/python-plugwise


text:
🛑 KCG is down

In 2c2d351, KCG (https://kunstrijclubgroningen.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KCG is back up in 39f4c67 after 9 minutes.


text:
🛑 Dick Pluim.com is down

In 2a1dc6a, Dick Pluim.com (https://dickpluim.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dick Pluim.com is back up in 330f26a after 16 minutes.


text:
🛑 KCG is down

In 8f0cf03, KCG (https://kunstrijclubgroningen.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KCG is back up in 0924729 after 19 minutes.


text:
🛑 Pierced Arrows is down

In f3a4c98, Pierced Arrows (https://www.piercedarrows.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pierced Arrows is back up in a6bd07b after 9 minutes.


text:
🛑 Pierced Arrows is down

In b55bc3b, Pierced Arrows (https://www.piercedarrows.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pierced Arrows is back up in d678c89 after 9 minutes.


text:
🛑 Dick Pluim.com is down

In 0cd3f04, Dick Pluim.com (https://dickpluim.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dick Pluim.com is back up in f0afbb0 after 50 minutes.


text:
🛑 KCG is down

In 4a61f01, KCG (https://kunstrijclubgroningen.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KCG is back up in e67dba2 after 40 minutes.


text:
🛑 KCG is down

In e03d97c, KCG (https://kunstrijclubgroningen.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KCG is back up in a76eedd after 9 minutes.


text:
🛑 Pierced Arrows is down

In beb3367, Pierced Arrows (https://www.piercedarrows.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pierced Arrows is back up in f8915cf after 18 minutes.


text:
Bug in the epub

Hi I'm greatly enjoying this book.
I'm on an iPhone and I have the following on the books app when reading an epub.
It's still readable but I'll put this here in case anyone wants to fix it.

@audreyt.

authors: DwordPtr GlenWeyl

repo: pluralitybook/plurality


text:
dialog: UI components flickering in popup

Bug
While using the Mac screen to represent the app feature we are observing flickering of entire popup.
Steps:
Create a React portal
Put there a dialog component
Put the dropdown/switch components into the popup container
Toggle it.
Observe the flashing (see attached video. rename it to .mov-format)
flashing modal.pdf
For Switch component setting the transition none helped.

Hi @eugene-kovaljov ,
Thanks for filing this so we could help you take a look.
I looked at your video, and I can see the blinking there.
I then tried to repro this in code.  The code is here: https://github.com/jaketrent/test-dialog-portal
I could not get the blinking to happen.  I do not believe that it is an inherent problem with the Dialog or Switch.
But, obviously the problem is happening to you.  What combination of things is causing that to happen?  I'm not sure, but my first guess is that you're storing state somewhere higher in the tree, when you click one of the switches, it's adjusting the state, that state trickles down via props to some components.
It's probably redrawing the component that calls createPortal.  Else, I'm not sure why you'd have the blink.
Of course there might be something else at play.   I haven't seen the code.
What should we do from here, do you think?  Do you have thoughts on the next debugging step?

btw, the relevant code is here: https://github.com/jaketrent/test-dialog-portal/blob/master/src/App.js

I tried moving the state up to see if I could get the blink.  I still didn't see it.
Diff: https://github.com/jaketrent/test-dialog-portal/compare/9890dae1f8ef31fd65e7623853d1f2f04d1a9282..16d152908313d689d3ed508f08995c4a7a9ae9ad

authors: eugene-kovaljov jaketrent

repo: pluralsight/design-system


text:
feat:PlusForm支持增加上传多个照片

需要增强的组件/模块
PlusForm
描述
目前上传图片组件上传一个后字替换掉之前的图片，无法满足上传多个照片的需求
额外留言（可选）
No response

需提供 “无法满足上传多个照片“ 的代码示例，用来确定是否是bug或者是新需求。

authors: l-x-f sofency

repo: plus-pro-components/plus-pro-components


text:
Different WCS sign conventions when WCS not specified

I'm trying to get some DECam observations set up to work with scarlet2, and am initializing them like this:
# Load image file
with fits.open(imagepath, memmap=True) as file:
    img_hdr = file[0].header
    img_wcs = WCS(img_hdr)
    x, y = img_wcs.world_to_pixel(sc) # a SkyCoord object at SN location
    clip = Cutout2D(file[0].data, sc, size=self.clipsize, wcs=img_wcs,
                    mode='partial', fill_value=self.tiny, copy=True)
    clip.wcs = WCS(clip.wcs.to_fits()[0].header) # Weird WCS on this apparently, same behavior whether or not I use this line

# < loading in weight/mask/psf file and reshaping arrays >

# Format PSF data
Np1, Np2 = clip_psf.shape
psf = scarlet2.ArrayPSF(clip_psf.astype(float))

obs = scarlet2.Observation(image,
                      wcs=clip.wcs,
                      psf=psf,
                      channels=[channel_sc2],
                      weights=weight)

When the observations are being loaded, I get several warnings saying UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.
And then, once the observations are loaded in, I am trying to set up a model frame like this:
frame_psf_sc2 = scarlet2.GaussianPSF(0.7)
model_frame_sc2 = scarlet2.Frame.from_observations(sm.observations,
                                           model_psf=frame_psf_sc2
                                          )

This gives me the error message:
/global/homes/e/eramey16/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/frame.py:283: RuntimeWarning: invalid value encountered in divide
  psf_frame = psf / np.max(psf)
/global/homes/e/eramey16/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/frame.py:242: RuntimeWarning: invalid value encountered in cast
  offset = (np.round(pad_size).astype("int"), np.round(pad_size).astype("int"))
/global/homes/e/eramey16/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/frame.py:245: RuntimeWarning: overflow encountered in scalar multiply
  model_box_shape = tuple(s + 2 * o for s, o in zip(model_box.shape, offset))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[4], line 2
      1 frame_psf_sc2 = scarlet2.GaussianPSF(0.7)
----> 2 model_frame_sc2 = scarlet2.Frame.from_observations(sm.observations,
      3                                                    model_psf=frame_psf_sc2
      4                                                   )

File ~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/frame.py:262, in Frame.from_observations(observations, model_psf, model_wcs, obs_id, coverage)
    260 # Match observations to this frame
    261 for obs in observations:
--> 262     obs.match(model_frame)
    264 return model_frame

    [... skipping hidden 1 frame]

File ~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/observation.py:76, in Observation.match(self, frame, renderer)
     72 renderers.append(PreprocessMultiresRenderer(frame, self.frame))
     74 # 3)a) Resample at the obs resolution, deconvolve model PSF and
     75 # convolve with obs PSF in Fourier space
---> 76 renderers.append(ResamplingMultiresRenderer(frame, self.frame))
     78 # 3)b) TODO: rotate and resample to obs orientation
     79 # angle, h = interpolation.get_angles(self.wcs, frame.wcs)
     80 # same_res = abs(h - 1) < np.finfo(float).eps
   (...)
     88
     89 # 4) Wrap the Fourier image and crop to obs frame
     90 renderers.append(PostprocessMultiresRenderer(frame, self.frame))

    [... skipping hidden 3 frame]

File ~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/renderer.py:196, in ResamplingMultiresRenderer.__init__(self, model_frame, obs_frame, padding)
    194 sign_out = get_sign(obs_frame.wcs)
    195 if (sign_in != sign_out).any():
--> 196     raise ValueError("model and observation WCSs have different sign conventions, which is not yet handled by scarlet2")
    198 object.__setattr__(self, "flip_sign", sign_in*sign_out)

ValueError: model and observation WCSs have different sign conventions, which is not yet handled by scarlet2

Even though I have not set a WCS for the model frame. When I do set a WCS, with the option model_wcs=sm.observations[0].frame.wcs, I get a different error:
/global/homes/e/eramey16/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/frame.py:283: RuntimeWarning: invalid value encountered in divide
  psf_frame = psf / np.max(psf)
/global/homes/e/eramey16/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/frame.py:242: RuntimeWarning: invalid value encountered in cast
  offset = (np.round(pad_size).astype("int"), np.round(pad_size).astype("int"))
/global/homes/e/eramey16/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/frame.py:245: RuntimeWarning: overflow encountered in scalar multiply
  model_box_shape = tuple(s + 2 * o for s, o in zip(model_box.shape, offset))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/tmp/ipykernel_15835/1329119248.py in ?()
      1 frame_psf_sc2 = scarlet2.GaussianPSF(0.7)
----> 2 model_frame_sc2 = scarlet2.Frame.from_observations(sm.observations,
      3                                                    model_psf=frame_psf_sc2,
      4                                                    model_wcs=sm.observations[0].frame.wcs
      5                                                   )

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/frame.py in ?(observations, model_psf, model_wcs, obs_id, coverage)
    258         )
    259
    260         # Match observations to this frame
    261         for obs in observations:
--> 262             obs.match(model_frame)
    263
    264         return model_frame

    [... skipping hidden 1 frame]

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/observation.py in ?(self, frame, renderer)
     89                     # 4) Wrap the Fourier image and crop to obs frame
     90                     renderers.append(PostprocessMultiresRenderer(frame, self.frame))
     91
     92                 else:
---> 93                     renderers.append(ConvolutionRenderer(frame, self.frame))
     94
     95             if len(renderers) == 0:
     96                 renderer = NoRenderer()

    [... skipping hidden 3 frame]

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/renderer.py in ?(self, model_frame, obs_frame)
     79             model_frame.bbox.shape, psf_model.shape, padding=3, axes=(-2, -1)
     80         )
     81
     82         # compute and store diff kernel in Fourier space
---> 83         diff_kernel_fft = deconvolve(
     84             obs_frame.psf(),
     85             psf_model,
     86             axes=(-2, -1),

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/fft.py in ?(image, kernel, padding, axes, fft_shape, return_fft)
    119     axes: tuple or None
    120         Axes that contain the spatial information for the PSFs.
    121     """
    122
--> 123     return _kspace_op(
    124         image,
    125         kernel,
    126         operator.truediv,

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/fft.py in ?(image, kernel, f, padding, axes, fft_shape, return_fft)
    155                 image.shape, kernel.shape, padding=padding, axes=axes
    156             )
    157         kernel_fft = transform(kernel, fft_shape, axes=axes)
    158
--> 159     image_fft = transform(image, fft_shape, axes=axes)
    160     image_fft_ = f(image_fft, kernel_fft)
    161     if return_fft:
    162         return image_fft_

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/fft.py in ?(image, fft_shape, axes)
     34             "fft_shape self.axes must have the same number of dimensions, got {0}, {1}"
     35         )
     36         raise ValueError(msg.format(fft_shape, axes))
     37
---> 38     image = _pad(image, fft_shape, axes)
     39     image = jnp.fft.ifftshift(image, axes)
     40     image_fft = jnp.fft.rfftn(image, axes=axes)
     41     return image_fft

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/scarlet2/fft.py in ?(arr, newshape, axes, mode, constant_values)
    277
    278     # if mode == "constant" and constant_values == 0:
    279     # result = _fast_zero_pad(arr, pad_width)
    280     # else:
--> 281     result = jnp.pad(arr, pad_width, mode=mode)
    282     return result

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/jax/_src/numpy/lax_numpy.py in ?(array, pad_width, mode, **kwargs)
   3623   stat_length = kwargs.get('stat_length', None)
   3624   end_values = kwargs.get('end_values', 0)
   3625   reflect_type = kwargs.get('reflect_type', "even")
   3626
-> 3627   return _pad(array, pad_width, mode, constant_values, stat_length, end_values, reflect_type)

    [... skipping hidden 11 frame]

~/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/jax/_src/numpy/lax_numpy.py in ?(array, pad_width, mode, constant_values, stat_length, end_values, reflect_type)
   3551   if pad_width_arr.shape != (nd, 2):
   3552     raise ValueError(f"Expected pad_width to have shape {(nd, 2)}; got {pad_width_arr.shape}.")
   3553
   3554   if np.any(pad_width_arr < 0):
-> 3555     raise ValueError("index can't contain negative values")
   3556
   3557   if mode == "constant":
   3558     return _pad_constant(array, pad_width, asarray(constant_values))

ValueError: index can't contain negative values

Is there something I'm doing wrong with initialization, or is this an issue with scarlet2? If I don't set a model WCS, shouldn't the package automatically choose one that works for my data? I can provide some of the data I am working with if that is necessary.

Hi @eramey16 , thank you for reporting this issue! Could you share the observations WCS you are using? I would like to check where this different sign convention in the WCS is coming from.

Interesting :) scarlet2.frame.get_signs using you WCS returns
Array([[-1.0000004 , -0.9999995 ],
       [-1.0000004 , -0.9999995 ],
       [-1.0000001 , -0.99999994],
       [-1.0000002 , -0.9999998 ],
       [-1.0000002 , -0.99999964],
       [-1.0000005 , -0.9999996 ],
       [-1.0000002 , -0.99999964],
       [-1.0000005 , -0.99999946],
       [-1.0000002 , -0.99999976],
       [-1.0000002 , -0.99999964]], dtype=float32)

They have the same sign convention, but the code does not sees it (e.g. entries 0 and 2). This should be fixed by rounding this output.
I am fixing it in #80 . And it now returns
Array([[-1., -1.],
       [-1., -1.],
       [-1., -1.],
       [-1., -1.],
       [-1., -1.],
       [-1., -1.],
       [-1., -1.],
       [-1., -1.],
       [-1., -1.],
       [-1., -1.]], dtype=float32)

Could you try your code from the jax-frame branch?

That worked, thanks! I am getting some warnings that look like this:
/global/homes/e/eramey16/.conda/envs/curveball_scarlet/lib/python3.12/site-packages/jax/_src/numpy/array_methods.py:118: UserWarning: Explicitly requested dtype int requested in astype is not available, and will be truncated to dtype int32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/google/jax#current-gotchas for more.
  return lax_numpy.astype(self, dtype, copy=copy, device=device)

but if those aren't an issue then everything should be fine.

Awersome, thank you!


text:
⚠ GitHub has degraded performance

In 6fae74e, GitHub (https://www.githubstatus.com/api/v2/status.json) experienced degraded performance:

HTTP code: 200
Response time: 211 ms

Resolved: GitHub performance has improved in 1162724 after 1 hour, 33 minutes.

repo: pmmmwh/upptime


text:
Non react project

How would i use react-three-lightmap with a non react project

Hey, this is a good question! I just recently finished a rewrite that decouples a lot of this code from React, so it is conceivable to expose completely a non-React API. I can take a look at it, but it will still take more work and planning, so I wouldn't expect this to happen soon, sorry!
If you are curious re: what this could look like, this is the entry point to main non-React-based baking logic:
https://github.com/pmndrs/react-three-lightmap/blob/38154da5693b4eb75226f02370e198b6e16c8211/src/core/Lightmap.tsx#L53
The requestWork function (it schedules slices of computation onto a responsive RAF loop) is currently provided via a React hook, but could be separated out as well.

Thank you for your response, I'll check it out.

@unframework I also wish your awesome tech was decoupled from React ! 🙋🏼♂ 🙏🏼
In fact, I would have expected it to belong in the exemples considering it has no equivalent ( beside this GI exemple: https://threejs.org/examples/?q=global#webgl_simple_gi ), and the react-three-lightmap repo would have been a wrapper around it.
I hope you find time to decouple it, otherwise I'm sure someone will do it eventually ! 😄

I'd also love to see this useable without React! Such a cool project
Not real-time but might be a solution to anyone finding this issue
Blender Lightmaps https://github.com/Naxela/The_Lightmapper

@unframework I also wish your awesome tech was decoupled from React ! 🙋🏼♂ 🙏🏼
In fact, I would have expected it to belong in the exemples considering it has no equivalent ( beside this GI exemple: https://threejs.org/examples/?q=global#webgl_simple_gi ), and the react-three-lightmap repo would have been a wrapper around it.
I hope you find time to decouple it, otherwise I'm sure someone will do it eventually ! 😄

the problem with these examples is that they're just that, it's very often not something that's readily usable or applicable or even sharable. i've seen this over and over again and drei https://github.com/pmndrs/drei is pretty much a testament that something's not right in the vanilla eco system. things are impossibly hard to share because they need awareness of the environment they're in, lifecycles, etc, or else it will be limited. this may not apply to this usecase i don't know but it's usually the case sadly.

@drcmda life would be very boring if everything where super-polished, cohesive and readily usable... there would be nothing left to fix and improve ! 😄

Well, that's one way to look at it :P

Is there any update on this? Hopefully it can be used for non react project.

Thanks everyone, I can see a lot of interest in this and I think there is a way to expose the necessary internals so that anyone can use them without React "at their own risk". July was super busy with work for me (I have been neglecting a few different feature/bug reports unfortunately 😭), but hopefully August will be more chill for me to revisit this. Thanks for waiting!

I would also love to see this decoupled from React. Will definitely give credits if used in the XRSharp.io project (.NET wrapper around ThreeJS).

authors: Hoodgail drcmda evan526914448 giovanni-a lucas-jones unframework wmcmurray

repo: pmndrs/react-three-lightmap