Update "tini --version" parsing to be more forgiving of Tini's output format (release build vs git build)

- What I did
Adjusted the parsing of tini --version to account for the different formats of the output (which depend on how tini was built):

tini version 0.13.0 - git.949e6fa (Git-based build)
tini version 0.13.2 (distribution release build)

Currently, I get periodic lines like the following in my Docker daemon logs:
... level=warning msg="failed to retrieve docker-init version: unknown output format: tini version 0.13.2\n"

(Which appear to be coming every 20 seconds or so -- sometimes more often, sometimes less often.)
This also fixes docker info output to actually show a version:
$ # before
$ docker info | grep '^init'
init version: N/A (expected: 949e6facb77383876aeff8a6944dde66b3089574)

$ # after
$ docker info | grep '^init'
init version: v0.13.2 (expected: 949e6facb77383876aeff8a6944dde66b3089574)

See also https://github.com/krallin/tini/issues/79.
- How I did it
Updated code in daemon/info_unix.go. :innocent:
- How to verify it
Running the updated code against docker-init and against a distro-provided tini that isn't compiled from a Git checkout (they normally use a release tarball instead).
- Description for the changelog

Updated tini --version parsing for distro-provided Tini releases

- A picture of a cute animal (not mandatory but encouraged)

failures are not related, yolo


Hard Swish support in TFLite Micro

@tensorflow/micro
While support for the HARD_SWISH operation has been added to TFLite Micro, there's no corresponding layer in TensorFlow's and Keras's APIs.
After converting a TensorFlow/Keras model containing HARD_SWISH layers to TFLite, how do I instruct the TFLite interpreter to use the custom implementation of HARD_SWISH available in tensorflow/lite/micro/kernels/hard_swish.cc?
I know that hard_swish(x) could be implemented using Keras's ReLU layer as x * (relu6(x + 3) / 6), but I guess it wouldn't take advantage of its dedicated implementation for microcontrollers.

If I understand correctly, you have a TFLite model with the HARD_SWISH operator in it. In this case, simply running the same model on TF Micro should succeed, since operator registration works in the same way between Lite and Micro. When you build using the TF Micro Makefile (tensorflow/lite/micro/tools/make/Makefile) it will automatically include all TF Micro versions of kernels, rather than the TF Lite versions you get when you build for TF Lite.
If you do run the model and run into issues resolving the HARD_SWISH operator, or if the operator itself causes issues please re-open with an update or file an issue with those specific errors. If my assessment is incorrect, please feel free to re-open and clarify.

I think he meant that to implement the hardswish in keras he uses MUL and ADD operations that get converted as such in TFLite although he would like to know how to create his keras model in order to get the hardswish operation in his TFLite file after conversion.
(Which is my current problem)


mIoU of PSPNet101 on PSACAL VOC 2012

In this code, it's 0.7907(ss)/0.7963(ss). While, it's 0.826(ss) in your paper. What's the difference between them?

I got some information in the FAQ.md. https://github.com/hszhao/semseg/blob/master/FAQ.md
Q: Performance difference with original papers?
A: Lots of details, some are listed as:
1.Pre-trained models: the used weights are different between this PyTorch codebase and former PSP/ANet Caffe version.
2.Pre-processing of images: this PyTorch codebase follows PyTorch official image pre-processing styles (normalized to 0~1 followed by subtracting mean as [0.485, 0.456, 0.406] and divided by std as [0.229, 0.224, 0.225]), while former Caffe version do normalization simply by subtracting image mean as [123.68, 116.779, 103.939].
3.Training steps: we use training steps in Caffe version and training epochs in PyTorch for measurement. The transformed optimization steps after conversion is slightly different (e.g., in ade20k 150k with 16 batches equals to 150k*16/20210=119 epochs).
4.SGD optimization difference: see note in SGD implementation, this difference may has influences on poly style learning rate decay especially on the last steps where learning rates are very small.
5.Weight decay on biases, scale and shift of BN in two training settings, see technical reports 1, 2.
6.Label guidance: former Caffe version mainly uses 1/8 scale label guidance (former interp layer in Caffe has only CPU implementation thus we avoid using larger label guidance), the released segmentation models in this repository mainly use full scale label guidance (interpolate the final logits to original crop size for loss calculation instead of feature downsampling size as 1/8).
7..The performance variance for attention based models (e.g., PSANet) is relatively high, this can also be observed in CCNet. Besides, some low frequent classes (e.g, 'bus' in cityscapes) may also affect the performance a lot.
Can you tell us which one is the most significant?

Do you understand now? I have the same question


Client Allocation Request for: FileDrive

Client Allocation Questions
Core Information

Name: FileDrive
Website / Social Media: filedrive.io
Region: Greater China
DataCap Requested: 5TIB
Addresses to be Notarized: f3s3dwh67ps4kxui4mziwvus5ue7p6p324aiebrrpe24st5t334ib5gwlxql6auo7ibrccmppjxxavah46wdqa
Notary Requested: philippbanhardt

Hey @laurarenpanda - thanks for your request. Can you kindly add more information / context here on:

yourself , e.g. include links to social media / news mentions, miner IDs that are affiliated with you etc
your history working on IPFS / Filecoin, e.g. notable contributions to the community, type of engagement shown over time etc
type, size, source and your relationship with the data you (and by extension other Discover participants) are looking to store on Filecoin, e.g. public data vs private data, who owns the data / license, etc
how you intend to store the data on Filecoin, e.g. redundancy, location / miner preferences, etc

Thanks

Hi @philippbanhardt - thanks for your questions. Here are my answers.
1. yourself , e.g. include links to social media / news mentions etc
FileDrive team has been in Filecoin ecosystem from 2019, and conscientiously concentrate on development distributed storage solution. Our vision is to build a data transaction platform on Filecoin Network. Our team is composed of talents with years development experience. We have self-developed underlying codes, and technical architecture and solutions of distributed storage.
In 2019, we independently developed DriveUp, which is a beta version cloud storage application based on IPFS. Over hundreds of users participated in testing phase.
In 2020, we established Shanghai Xuanling Technology Co., Ltd, and began to work as start-up company.
Since September 2020, we participated in Slingshot competition by Protocol Labs and developed an application named FileDrive.
FileDrive is a open source databank powered by IPFS/Filecoin, users can retrieve any data by file-name or content hash. Now, there are over 2.9k files from global public datasets stored on it with capacity of more than 57TiB storage space.

Project website: http://filedrive.io
Team website: https://honghupro.com
Twitter: https://twitter.com/FileDrive1
WeChat Official Account: FileDrive
https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzkzMDE4ODg0MQ==&scene=124#wechat_redirect
Github: https://github.com/beeleelee
Slack: Laura Panda/ flytosky
Participated in Filecoin Virtual Community Meetup - January 2021: https://www.youtube.com/watch?v=0aVghq-syoo

2.your history working on IPFS / Filecoin, e.g. notable contributions to the community, type of engagement shown over time etc

Participating in Slingshot 2.2
Eligible Data: over 400TiB
Storage Awards: 1st Place
Booster Award
Participated in Slingshot 2.1
Eligible Data: over 300TiB
Storage Awards: 1st Place
Booster Award
 Participated in Slingshot Phase 1: totally earned 6,885FIL
Storage Awards: 3rd Place
Community Choice Awards: Personal User Storage(Third Place)
Booster Award
 Start-up project: DriveUp
Cloud storage application based on IPFS
Self-developed by FileDrive team

3.type and source of the data you (and by extension other Discover participants) are looking to store on Filecoin, e.g. public data vs private data etc
All of the data on FileDrive are useful and valid, and from public datasets, which are on the list of Filecoin Slingshot curated datasets.

List of Slingshot curated datasets: https://github.com/filecoin-project/slingshot/blob/master/datasets.md

4.your relationship with the data, especially with regard to copyright
All data are from public open datasets, as a result, there is no copyright issue involved.
5.how you intend to store the data on Filecoin, e.g. redundancy, location / miner preferences, etc

Redundancy: at least 3 copies
Location: intend to store data in Asia
Miner: have great reputation and contribution in Filecoin Community, accept real data deals during Slingshot Competition, or are willing to store real data on Filecoin Network.

6.Would you be OK in posting deal transactions here?
Yes, of course.

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzaceaqzks7tnuccoaai2s2cbfnvfw5bonjolbnzzu37ri66dfhzmle24

Address

f3s3dwh67ps4kxui4mziwvus5ue7p6p324aiebrrpe24st5t334ib5gwlxql6auo7ibrccmppjxxavah46wdqa

Datacap Allocated

5 TiB

This user’s identity has been verified through filplus.storage


[Quantization]'Symbol' object has no attribute 'get_backend_symbol'

Description
I've  tried to run the example of quantization, but it shows that --

AttributeError: 'Symbol' object has no attribute 'get_backend_symbol'

So why Symbol class in mxnet-cu92mkl has no attribute get_backend_symbol?
And how can I use imagenet_gen_qsym_mkldnn.py to quantize my model?
Thanks.
Environment info (Required)
----------Python Info----------
Version      : 3.6.7
Compiler     : GCC 7.3.0
Build        : ('default', 'Oct 23 2018 19:16:44')
Arch         : ('64bit', '')
------------Pip Info-----------
Version      : 18.1
Directory    : /home/yahei/anaconda3/lib/python3.6/site-packages/pip
----------MXNet Info-----------
Version      : 1.3.1
Directory    : /home/yahei/anaconda3/lib/python3.6/site-packages/mxnet
Commit Hash   : 19c501680183237d52a862e6ae1dc4ddc296305b
----------System Info----------
Platform     : Linux-4.4.0-141-generic-x86_64-with-debian-stretch-sid
system       : Linux
node         : Server2
release      : 4.4.0-141-generic
version      : #167-Ubuntu SMP Wed Dec 5 10:40:15 UTC 2018
----------Hardware Info----------
machine      : x86_64
processor    : x86_64
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                12
On-line CPU(s) list:   0-11
Thread(s) per core:    2
Core(s) per socket:    6
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Core(TM) i7-7800X CPU @ 3.50GHz
Stepping:              4
CPU MHz:               3999.980
CPU max MHz:           4000.0000
CPU min MHz:           1200.0000
BogoMIPS:              7008.62
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
L3 cache:              8448K
NUMA node0 CPU(s):     0-11
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx avx512f rdseed adx smap clflushopt clwb avx512cd xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req flush_l1d
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0031 sec, LOAD: 1.4854 sec.
Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.0041 sec, LOAD: 1.5527 sec.
Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.0047 sec, LOAD: 1.0389 sec.
Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.1738 sec, LOAD: 0.8113 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0018 sec, LOAD: 2.2165 sec.
Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0017 sec, LOAD: 0.4521 sec.
Error Message:

yahei@Server2:~/quantization$ python imagenet_gen_qsym_mkldnn.py --model=mobilenet1.0 --num-calib-batches=5 --calib-mode=naive
INFO:logger:shuffle_dataset=True
INFO:logger:calibration mode set to naive
INFO:logger:model mobilenet1.0 is converted from GluonCV
INFO:logger:Converting model from Gluon-CV ModelZoo mobilenet1.0... into path /home/yahei/quantization/model
/home/yahei/anaconda3/lib/python3.6/site-packages/mxnet/module/base_module.py:67: UserWarning: Data provided by label_shapes don't match names specified by label_names ([] vs. ['softmax_label'])
warnings.warn(msg)
Traceback (most recent call last):
File "imagenet_gen_qsym_mkldnn.py", line 182, in
sym = sym.get_backend_symbol('MKLDNN')
AttributeError: 'Symbol' object has no attribute 'get_backend_symbol'

I try to install the nightly version. But when I import mxnet in python, some faults occur --
Python 3.6.7 |Anaconda, Inc.| (default, Oct 23 2018, 19:16:44)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet

Segmentation fault: 11

Stack trace returned 0 entries:

@ZhennanQin @taolv

I think it's an environment issue that you're mixed using old version of mxnet with recent imagenet_gen_qsym_mkldnn.py script. Because we add get_backend_symbol in symbol API and used it in imagenet_gen_qsym_mkldnn.py  within same PR.  Please double check your MXNet installation.

I reinstall anaconda and mxnet of nightly version.
Now it works now!
Thanks


Implement Parser to parse packaged json files for offline use

We need to implement a parser to read json files packaged in the apk for offline use.

@the-dagger Would you like to work on this?

Yeah sure.
I'll have a look at it tonight.
On Sunday, June 26, 2016, Manan Wason<EMAIL_ADDRESS>wrote:

@the-dagger https://github.com/the-dagger Would you like to work on
this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fossasia/open-event-android/issues/442#issuecomment-228608818,
or mute the thread
https://github.com/notifications/unsubscribe/AGQtlmDc_lz-IZoL91nIJI6c-5sJxSaSks5qPqUmgaJpZM4I-lZF
.

--
Thanks,
Harshit Dwivedi
Contact : +919968195588
GitHub https://github.com/the-dagger | LinkedIn
https://in.linkedin.com/in/hadwivedi
Google Play https://goo.gl/wl3loD | Facebook
https://www.facebook.com/daggerdwivedi

Already completed in #479


Fixes 2930: api support for list/search environments

Summary
Testing steps
Checklist

[ ] Tested with snapshotting feature disabled and pulp server URL not configured if appropriate

https://issues.redhat.com/browse/HMS-2930

⚠ This task currently requires qe-approval, but this PR does not fully resolve the task.  Please contact QE to determine appropriate testing required.


DO NOT MERGE: feat(dbtool): dump state machines

Adds a tool to debug state machines from gateway DB dumps (to debug #3478):
Lists state machine states from a client database in the format: module instance | active | creation time | state debug print

Usage: fedimint-dbtool --database <DATABASE> list-states [OPTIONS]

Options:
      --active                 List active states
      --inactive               List inactive states
      --pretty                 Print the state debug output on multiple lines
      --operation <OPERATION>  Only show states belonging to operation
      --instance <INSTANCE>    Only show states belonging to this module instance
  -h, --help                   Print help

E.g. use in combination with less -S to get the following, filtered output:
fedimint-dbtool --database <path-to-db> list-states --active --inactive --operation fd64d9c190f180f13eead2bb3361f5bbc618bd727f84c7cd90843dced962c570 | less -S

TODO:

[ ] Port to master
[ ] Add mode for user clients
[ ] Maybe also add Serialize to DynState so that the output can be JSON for further filtering

I want to change the DB format for SMs anyway, allowing for a better version of this tool.


fix nil panic in cluster autoscaler validation

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #3349
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

/lgtm


Fix and document client lifecycle events (onRouteUpdate...)

📚 Documentation
We have client lifecycle events that allow to hook into the navigation, but it's not documented.
https://github.com/facebook/docusaurus/pull/1591
Example usage in the google analytics plugin:

I would like to work on this issue. Can you guide me @slorber about this.

Hi
Unfortunately I don't have more Infos. This requires reading the source code, understanding what it does exactly, and documenting the exposed api

@slorber I like to take this up.

@slorber can you help me with the file locations where to start
I am ready to read the source code and contribute.

@imabp Here you go, good luck ✌
https://github.com/facebook/docusaurus/blob/1f00d15c7439fdbfb37d57f0cafdaedb2b34ef41/packages/docusaurus-plugin-google-analytics/src/analytics.js

onRouteChange is a navigation hook that would help you do run something when a route change.
For E.g If you want to show a pic of a cat on every route change then you would use this hook.
Make sure you navigate this in Navigation  Guide

🥺 Thankyou @saadpasta for giving me the chance to contribute.😊
😅 As it will be my first contribution in Docusaurus. (if merged)
Yes I noted it. I will get back here itself, if I need any help .
Thank you once again 🤗

@saadpasta thanks for helping @imabp :)
You can look for "onRouteUpdate" in the project's source code to find the relevant entry points to document :)
However this is a v2 feature, so this must be documented in the v2 website ;) (not in the v1 navigation guide)

@slorber I had to close #3443 as I didnt sign for CLA before creating pull request.
So after signing up the CLA, I created pull request #3444 . But its showing, that, I havent signed up the CLA yet.
Can you please help me out.

Note: we should rather wait for documenting these things.
onRouteUpdate fires too early (before new route actually has rendered), and the PendingNavigation component implementation looks not very robust (particularly due to doing things in shouldComponentUpdate).
Until we have a better implementation, we should probably keep this undocumented.

we can do this by putting  onRouteUpdate inside componentDidMount()
But finally its actually, whenever we create a new route, ga analytics are set up for that route, so that whenever user clicks on that page, the analytics data is sent to the Google Analytics. right @slorber  ?

@imabp just tried that and it didn't work, as comparing prevProps.location to this.props.location always returned true, due to the hacky code in shouldComponentUpdate, so it never fired.

Yaa we need to deep dive into this.

Note, events are inspired from Gatsby (that also has a onRouteUpdateDelayed) https://www.gatsbyjs.com/docs/browser-apis/#onRouteUpdateDelayed

Wondering if anyone has figured out a workaround for this? We've just implemented a docs site with Docusaurus and we're at the point where we want to integrate our Segment analytics and noticed this bug. From what we can tell it seems like anyone currently using Docusaurus v2 and any of the analytics plugins are getting incorrect tracking data.

For now I use a 0ms timeout, that worked fine, at least when I tested it on my machine 🤷

I think we should just use componentDidMount no? And keep the previous location in a ref?

Use NextJS :) They have router events
Router.events.on('routeChangeComplete', (url) => {
    props.toggle();
  });

@imabp Yes, but we are interested in how they did it, not that they did it

This answers your question
https://github.com/vercel/next.js/blob/d78bb6fe462ae1fc016e19ffebaaf7385dea7053/packages/next/shared/lib/router/router.ts

Another issue is that onRouteUpdate also triggers when navigating on the table of contents. Analytics however usually understand pageviews as "has changed from URL 1 to URL 2" which is different from jumping on the page.

It feels to me like the naming of onRouteUpdate is misleading / confusing because it is a function that is called when the browser (DOM) location (history?) changes and that generally, in modern web apps, a "route" is considered / perceived as the "pathname" only (because you couldn't render a page containing a query or hash - SSR thingy).

generally, in modern web apps, a "route" is considered / perceived as the "pathname" only

I can't really agree with that, this is quite subjective

because you couldn't render a page containing a query or hash - SSR thingy

It is definitively possible to SSR routes with a predefined set of query strings, I've done this in the past.
We don't provide Docusaurus guides for that and it's probably not widely used, but it is technically possible.

Note that some apis like history.listen() (https://github.com/remix-run/history/blob/dev/docs/getting-started.md#listening) (used internally) won't care about how location is changed: it will just emit whenever there's any change (including a replace event with just history entry state changed, is the URL is the same).

IMHO onRouteUpdate naming implies that it's a Docusaurus route change, and it should only fire when we detect that Docusaurus is now using a different route (from .docusaurus/routes.js file) + a different set of route params (in case someone implements dynamic routes like /product/:id which is also technically possible)
Does it make sense?

IMHO onRouteUpdate naming implies that it's a Docusaurus route change, and it should only fire when we detect that Docusaurus is now using a different route (from .docusaurus/routes.js file) + a different set of route params (in case someone implements dynamic routes like /product/:id which is also technically possible)
Does it make sense?

To me it makes sense :)

I'm trying to use this with a different analytics provider, but it never gets triggered. I'm a bit lost. Frontend code is not my area of expertise :/
  plugins: [
    async function myPlugin(context, options) {
      return {
        name: 'my-plugin',
        async onRouteUpdate({location}) {
          alert('foo');
//          setTimeout(() => fathom.trackPageview(), 5000);
        }
      }
    },

Any help would be greatly appreciated.

sorry @slorber for the late reply... it makes sense.
@matkoch could it be that you are missing the loading of the client side part?
For the config part we're using
https://github.com/ory/docs/blob/62abd0d6cae464adf5e7cec99878e7734eaeec86/src/plugins/analytics/index.js#L14
And in the client part we have
https://github.com/ory/docs/blob/62abd0d6cae464adf5e7cec99878e7734eaeec86/src/plugins/analytics/analytics.js#L18

@matkoch The onRouteUpdate is not a plugin lifecycle. It's a client module return value. You need to register a client module using getClientModules and return an object containing onRouteUpdate within that module.

For anyone interested in tracking page views in Docusaurus, we have solved it like this (using fathom analytics):
in theme/Root.js:
import React, { useEffect, useRef } from 'react';
import { useHistory } from '@docusaurus/router';
import * as Fathom from 'fathom-client';

export default function Root({ children }) {
  const history = useHistory();
  const pathname = useRef(history?.location?.pathname);

  useEffect(() => {
    Fathom.load('LXMRMWLB');

    return history.listen((location) => {
      if (location.pathname !== pathname.current) {
        Fathom.trackPageview({ url: `https://your-domain.com${location.pathname}` });
      }
      pathname.current = location.pathname;
    });
  }, []);

  return (
    <div>
      {children}
    </div>
  );
}

Please note that we are passing the url of the next page to the trackPageview function. Otherwise, it will track the previous page as the history.listen function fires before the actual pageload. This code is adapted from the fathom nextjs integration.

So I've been implementing some analytics as well and have been using your GA plugin as a help (onRouteUpdate etc) to create my own. Now I am kinda stuck on retrieving the current version and language. Are there any hooks available for these or should I just infer them from the location?

The client modules can't access hooks because they do not render React components
If you want to track dynamic things with a hook, there's no other choice than to add a component in the tree (for example swizzle the layout) to put a hook here afaik.
Now you can also access static things in the client modules with:
import siteConfig from<EMAIL_ADDRESS>import globalData from '@generated/globalData';
import i18n from '@generated/i18n';

Those are not documented but it's quite stable so it's probably not too unsafe to be considered as public API. It's the same data you get when you use useDocusaurusContext or useGlobalData

Regarding the data you want to access with hooks:

The i18n language is available in the Docusaurus context
The docs version can be accessed globally but it's an internal API: import {useActivePluginAndVersion} from '@docusaurus/plugin-content-docs/client'; => it's a hook that read globalData

Hi @slorber!
I noticed that even I use onRouteDidUpdate it seems the value of document.title is still the previous one:

You can read the source code here and browse online at https://town.korandoru.io/.
Looking forward to your feedback >_<

Resolved as https://github.com/korandoru/town/commit/eb510dfe3e32673eab2ba7756dbb197f1539455c.
This seems the same as https://github.com/facebook/docusaurus/pull/7424 that can be common.

Thanks @tisonkun, can you please open a dedicated issue so that we can investigate?
Not 100% sure but I believe this is due to an undocumented behavior of react-helmet-async which "defers" the updates by default, maybe for perf reasons 🤷♂ or just to replicate the behavior of the original Helmet.
Using <Head defer={false}> probably fixes it


Input files don't get recognized

When I start the container and move files in the input folder, nothing happens. I don't even get any output in the logs.
Start command:
docker run \
  -v ./test-files/input/:/input \
  -v ./test-files/output/:/output \
  -v ./test-files/config/:/config \
  --env OCR_VERBOSITY=debug \
  --env OCR_LANGUAGES=deu \
  cmccambridge/ocrmypdf-auto

The config file ./test-files/config/ocr.config:
ocr.config
It also did not work with the example configuration.
The only thing in the logs beside the installation of the language pack is:
2022-05-18 15:58:45 [MainThread] - Watching /input
^C
2022-05-18 15:59:47 [MainThread] - Signal 2 (SIGINT) Received. Shutting down...
2022-05-18 15:59:47 [MainThread] - Shutting down filesystem watchdog...
2022-05-18 15:59:47 [MainThread] - Canceling all 0 in-flight tasks...
2022-05-18 15:59:47 [MainThread] - Shutting down threadpool...
2022-05-18 15:59:47 [MainThread] - Cleaning up filesystem watchdog...

I've tested the container on two systems:
Host OS: Ubuntu 21.04  //  Windows 1121H1 (22000.675)
Docker Version: 20.10.14 (a224086)  //  20.10.14 (a224086)
Docker Desktop Version: 4.8.1 (78998)  //  4.8.2 (79419) with WSL2 support
Both have the same issue. I think, on the first system the problem occurred after updating docker, but I don't know from which to which version and if I had Docker Desktop installed already. Maybe the issue is also related to Docker Desktop.
Do you have any idea why the container is not working? Thanks in advance

@bennetrr best guess is that WSL2 (which you're docker desktop engine perhaps recently migrated to?) doesn't properly trigger inotify for file change notifications.
Give it a try with -e OCR_USE_POLLING_SCHEDULER=1 and see if that helps... If so, you can run that way at cost of a little CPU usage and latency, or you may need to try a bind mount from a WSL file system instead of a  shared windows one, for example.

Yes, the second system runs on WSL2, but the first system is running Ubuntu as host OS. So I don't think, that the issue is related to WSL2.

Give it a try with -e OCR_USE_POLLING_SCHEDULER=1

I think I tried that already, but it didn't work either. I can try it tomorrow again, when I have enough time, and I can also try to get some other maschine and try it with a fresh install. I wanted to try it with my Raspberry Pi, which has only Docker CLI installed, but it wouldn't work at all (maybe because of the architecture?)

I moved the files to the WSL2 file system and tried it again, and it works! I'm currently at school and have only my laptop here, but when I'm at home, i will try it with my main computer.
My theory is, that the new versions of Docker (or Docker Desktop?) don't trigger inotify when the mounted volume is on a file system that is not the system partition.


Flexbox without Sass

From: http://v4-alpha.getbootstrap.com/getting-started/flexbox/

Alternatively, if you don’t need the source Sass files, you may swap the default Bootstrap compiled CSS with the compiled flexbox variation. Head to the download page for more information.

Where can i find the compiled CSS? I can't see any information in the download page.
Thanks

The best way to download pre-compiled CSS is to visit this page. There is an option on this page to download the source code in ZIP format. This zip file contains pre-compiled CSS and JavaScript in the 'dist' folder.

Compiled CSS is in "dist" folder

CSS in the dist folder doesn't contain any "flex" class

Here https://gist.github.com/cyberwombat/70a4edc624c84b0a6d25ac793b852213

@cyberwombat Thanks. This is the thing we want to get without downloading and mastering the SASS compiler stuff.

It would be extremely helpful if Bootstrap would provide a bootstrap.flex.min.css download, if only so it would be pushed to CDNJS. I'll write a PR if there is a chance of it being included.

Duplicate of #18292.

Closing as dupe.


Cannot generate docs with a local version of the snippets tool

Steps to reproduce:

Checkout the snippets tool from https://github.com/flutter/assets-for-api-docs/tree/main/packages/snippets
Modify https://github.com/flutter/flutter/blob/master/dev/bots/docs.sh to activate the snippets tool from the local checkout:

"$DART" pub global activate --source path <path/to/local/snippets/tool>

Run dev/bots/docs.sh to generate the docs
It fails with strange permission errors:

dartdoc:stderr:   error: tool execution failed: Tool "dartpad" returned non-zero exit code (1) when run as "/Users/goderbauer/dev/flutter/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=dartpad" from /private/tmp/dartdoc.n04eN
dartdoc:stderr: Input to dartpad was:
dartdoc:stderr: This sample shows how to override the default label [Text]
dartdoc:stderr: widget with one that forces the menu entry to appear on one line
dartdoc:stderr: by specifying [Text.maxLines] and [Text.overflow].
dartdoc:stderr:
dartdoc:stderr: ** See code in examples/api/lib/material/dropdown_menu/dropdown_menu_entry_label_widget.0.dart **
dartdoc:stderr: Stderr output was:
dartdoc:stderr: Could not make "/Users/goderbauer/.pub-cache/bin/snippets" executable (exit code 1):
dartdoc:stderr: chmod: /Users/goderbauer/.pub-cache/bin/snippets: No such file or directory
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:     from material.DropdownMenuEntry.labelWidget: (file:///Users/goderbauer/dev/flutter/packages/flutter/lib/src/material/dropdown_menu.dart:80:17)
dartdoc:stderr:   error: tool execution failed: Tool "snippet" returned non-zero exit code (1) when run as "/Users/goderbauer/dev/flutter/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=snippet" from /private/tmp/dartdoc.n04eN
dartdoc:stderr: Input to snippet was:
dartdoc:stderr:
dartdoc:stderr: This example, which would be inserted into a [CustomScrollView.slivers]
dartdoc:stderr: list, shows twenty boxes in a pretty teal grid:
dartdoc:stderr:
dartdoc:stderr: ```dart
dartdoc:stderr: SliverGrid(
dartdoc:stderr:   gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(
dartdoc:stderr:     maxCrossAxisExtent: 200.0,
dartdoc:stderr:     mainAxisSpacing: 10.0,
dartdoc:stderr:     crossAxisSpacing: 10.0,
dartdoc:stderr:     childAspectRatio: 4.0,
dartdoc:stderr:   ),
dartdoc:stderr:   delegate: SliverChildBuilderDelegate(
dartdoc:stderr:     (BuildContext context, int index) {
dartdoc:stderr:       return Container(
dartdoc:stderr:         alignment: Alignment.center,
dartdoc:stderr:         color: Colors.teal[100 * (index % 9)],
dartdoc:stderr:         child: Text('grid item $index'),
dartdoc:stderr:       );
dartdoc:stderr:     },
dartdoc:stderr:     childCount: 20,
dartdoc:stderr:   ),
dartdoc:stderr: )
dartdoc:stderr: ```
dartdoc:stderr: Stderr output was:
dartdoc:stderr: Could not make "/Users/goderbauer/.pub-cache/bin/snippets" executable (exit code 1):
dartdoc:stderr: chmod: /Users/goderbauer/.pub-cache/bin/snippets: No such file or directory

Running the command from the error directly works without issues. The file it is complaining about not existing definitely exists.

@srawlins @parlough Apologies, this is a bit of a shot in the dark. I am not exactly sure where the issue here is, but we are able to reproduce it on three different machines. Does the Dart CLI tool mess something up when dart pub global activateing something from a file path? Does dartdoc do something strange when calling that executable?

The failure seems to be coming from the pub tool:
https://github.com/dart-lang/pub/blob/5b5fdd320a3b60a6a00bdd3122f03c6f67a39eeb/lib/src/global_packages.dart#L873
@sigurdm @szakarias Do you maybe have any insights?

I also see the same issue on the master channel 3.20.0-16.0.pre.40:

Output log (just the head of the output log, it has more)
dartdoc:stdout: Documenting Flutter...
dartdoc:stdout: Discovering libraries...
dartdoc:stdout: Linking elements...
dartdoc:stdout: Precaching local docs for 800333 elements...
dartdoc:stderr:   error: tool execution failed: Tool "snippet" returned non-zero exit code (1) when run as "/Users/huynq/Documents/GitHub/flutter_master/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=snippet" from /private/tmp/dartdoc.CkGj0
dartdoc:stderr: Input to snippet was:
dartdoc:stderr:
dartdoc:stderr: A card with `Hello World!` embedded inline within a TextSpan tree.
dartdoc:stderr:
dartdoc:stderr: ```dart
dartdoc:stderr: const Text.rich(
dartdoc:stderr:   TextSpan(
dartdoc:stderr:     children: <InlineSpan>[
dartdoc:stderr:       TextSpan(text: 'Flutter is'),
dartdoc:stderr:       WidgetSpan(
dartdoc:stderr:         child: SizedBox(
dartdoc:stderr:           width: 120,
dartdoc:stderr:           height: 50,
dartdoc:stderr:           child: Card(
dartdoc:stderr:             child: Center(
dartdoc:stderr:               child: Text('Hello World!')
dartdoc:stderr:             )
dartdoc:stderr:           ),
dartdoc:stderr:         )
dartdoc:stderr:       ),
dartdoc:stderr:       TextSpan(text: 'the best!'),
dartdoc:stderr:     ],
dartdoc:stderr:   )
dartdoc:stderr: )
dartdoc:stderr: ```
dartdoc:stderr: Stderr output was:
dartdoc:stderr: Could not make "/Users/huynq/.pub-cache/bin/snippets" executable (exit code 1):
dartdoc:stderr: chmod: /Users/huynq/.pub-cache/bin/snippets: No such file or directory
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:     from material.WidgetSpan: (file:///Users/huynq/Documents/GitHub/flutter_master/packages/flutter/lib/src/widgets/widget_span.dart:67:7)
dartdoc:stderr:   error: tool execution failed: Tool "snippet" returned non-zero exit code (1) when run as "/Users/huynq/Documents/GitHub/flutter_master/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=snippet" from /private/tmp/dartdoc.CkGj0
dartdoc:stderr: Input to snippet was:
dartdoc:stderr:
dartdoc:stderr: This example shows some [Text] when the `_visible` member field is true, and
dartdoc:stderr: hides it when it is false:
dartdoc:stderr:
dartdoc:stderr: ```dart
dartdoc:stderr: Opacity(
dartdoc:stderr:   opacity: _visible ? 1.0 : 0.0,
dartdoc:stderr:   child: const Text("Now you see me, now you don't!"),
dartdoc:stderr: )
dartdoc:stderr: ```
dartdoc:stderr: Stderr output was:
dartdoc:stderr: Could not make "/Users/huynq/.pub-cache/bin/snippets" executable (exit code 1):
dartdoc:stderr: chmod: /Users/huynq/.pub-cache/bin/snippets: No such file or directory
.....

flutter doctor -v (master)
[!] Flutter (Channel master, 3.20.0-16.0.pre.40, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.20.0-16.0.pre.40 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a78a0d5934 (48 minutes ago), 2024-02-29 21:22:19 -0500
    • Engine revision 34cf95c7bd
    • Dart version 3.4.0 (build 3.4.0-190.0.dev)
    • DevTools version 2.33.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.87.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.82.0

[✓] Connected device (4 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D                         • android-arm64  • Android 11 (API 30)
    • iPhone (mobile)  • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.8 19H370
    • macOS (desktop)  • macos                                    • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 122.0.6261.94

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Yeah something is wrong. It seems the "binstub" (small script that can be used to run the activated binary) doesn't exist while pub expects it to.
I cannot reproduce I tried
git clone https://github.com/flutter/assets-for-api-docs
cd assets-for-api-docs/packages/snippets/
dart pub global activate -spath .
cd $FLUTTER_ROOT # (my actual flutter root)
git checkout 3.20.0-15.0.pre
dev/bots/docs.sh

output
Mon Mar  4 10:27:20 AM UTC 2024: Running docs.sh
Writing docs build temporary output to /tmp/dartdoc.zvWJI/doc
Package dartdoc is currently active at version 8.0.2.
The package dartdoc is already activated at newest available version.
To recompile executables, first run `dart pub global deactivate dartdoc`.
Installed executable dartdoc.
Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path.
You can fix that by adding this to your shell's config file (.bashrc, .bash_profile, etc.):

  export PATH="$PATH":"$HOME/.pub-cache/bin"

Activated dartdoc 8.0.2.
Package snippets is currently active at version 0.4.0.
The package snippets is already activated at newest available version.
To recompile executables, first run `dart pub global deactivate snippets`.
Installed executable snippets.
Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path.
You can fix that by adding this to your shell's config file (.bashrc, .bash_profile, etc.):

  export PATH="$PATH":"$HOME/.pub-cache/bin"

Activated snippets 0.4.0.
Downloading package sky_engine...                                  774ms
Downloading flutter_patched_sdk tools...                           908ms
Downloading flutter_patched_sdk_product tools...                   919ms
Downloading linux-x64 tools...                                      3.3s
Downloading linux-x64/font-subset tools...                         745ms
Resolving dependencies... (1.3s)
> _fe_analyzer_shared 67.0.0 (was 66.0.0)
> analyzer 6.4.1 (was 6.4.0)
  archive 3.3.2 (affected by advisories: [^0], [^1], 3.4.10 available)
  http 0.13.6 (1.2.1 available)
  intl 0.18.1 (0.19.0 available)
  js 0.6.7 (0.7.1 available)
> meta 1.12.0 (was 1.11.0)
> test 1.25.2 (was 1.24.9)
> test_api 0.7.0 (was 0.6.1)
> test_core 0.6.0 (was 0.5.9)
> vm_service 14.0.0 (was 13.0.0) (14.1.0 available)
  web 0.4.2 (0.5.0 available)
  web_socket_channel 2.4.3 (2.4.4 available)
Changed 7 dependencies!
Dependencies are affected by security advisories:
  [^0]: https://github.com/advisories/GHSA-9v85-q87q-g4vg
  [^1]: https://github.com/advisories/GHSA-r285-q736-9v95
7 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
Unexpected package '/usr/local/google/home/sigurdm/projects/flutter/packages/flutter_goldens_client' found in packages directory
Unexpected package '/usr/local/google/home/sigurdm/projects/flutter/packages/flutter_goldens_client' found in packages directory
Copied /usr/local/google/home/sigurdm/projects/flutter/dev/docs/README.md to /tmp/dartdoc.zvWJI/README.md
Copied /usr/local/google/home/sigurdm/projects/flutter/dev/docs/analysis_options.yaml to /tmp/dartdoc.zvWJI/analysis_options.yaml
Copied /usr/local/google/home/sigurdm/projects/flutter/dev/docs/dartdoc_options.yaml to /tmp/dartdoc.zvWJI/dartdoc_options.yaml
Copied /usr/local/google/home/sigurdm/projects/flutter/dev/docs/assets/api_survey.js to /tmp/dartdoc.zvWJI/doc/assets/api_survey.js
Copied /usr/local/google/home/sigurdm/projects/flutter/dev/docs/assets/snippets.css to /tmp/dartdoc.zvWJI/doc/assets/snippets.css
Copied /usr/local/google/home/sigurdm/projects/flutter/dev/docs/assets/overrides.css to /tmp/dartdoc.zvWJI/doc/assets/overrides.css
Copied /usr/local/google/home/sigurdm/projects/flutter/dev/docs/assets/snippets.js to /tmp/dartdoc.zvWJI/doc/assets/snippets.js
Extracting android-javadoc.zip to /tmp/dartdoc.zvWJI/doc/javadoc
Android ready to go!
Extracting ios-docs.zip to /tmp/dartdoc.zvWJI/doc/ios-embedder
iOS ready to go!
Extracting macos-docs.zip to /tmp/dartdoc.zvWJI/doc/macos-embedder
macOS ready to go!
Extracting linux-docs.zip to /tmp/dartdoc.zvWJI/doc/linux-embedder
Linux ready to go!
Extracting windows-docs.zip to /tmp/dartdoc.zvWJI/doc/windows-embedder
Windows ready to go!
Extracting impeller-docs.zip to /tmp/dartdoc.zvWJI/doc/impeller
Impeller ready to go!
pub:stdout: Resolving dependencies...
pub:stdout: + async 2.11.0
pub:stdout: + boolean_selector 2.1.1
pub:stdout: + characters 1.3.0
pub:stdout: + clock 1.1.1
pub:stdout: + collection 1.18.0
pub:stdout: + crypto 3.0.3
pub:stdout: + fake_async 1.3.1
pub:stdout: + file 7.0.0
pub:stdout: + flutter 0.0.0 from sdk flutter
pub:stdout: + flutter_driver 0.0.0 from sdk flutter
pub:stdout: + flutter_goldens 0.0.0 from sdk flutter
pub:stdout: + flutter_localizations 0.0.0 from sdk flutter
pub:stdout: + flutter_test 0.0.0 from sdk flutter
pub:stdout: + flutter_web_plugins 0.0.0 from sdk flutter
pub:stdout: + fuchsia_remote_debug_protocol 0.0.0 from sdk flutter
pub:stdout: + integration_test 0.0.0 from sdk flutter
pub:stdout: + intl 0.18.1 (0.19.0 available)
pub:stdout: + leak_tracker 10.0.4
pub:stdout: + leak_tracker_flutter_testing 3.0.3
pub:stdout: + leak_tracker_testing 3.0.1
pub:stdout: + matcher 0.12.16+1
pub:stdout: + material_color_utilities 0.8.0
pub:stdout: + meta 1.12.0
pub:stdout: + path 1.9.0
pub:stdout: + platform 3.1.4
pub:stdout: ! platform_integration 0.0.0 from path /usr/local/google/home/sigurdm/projects/flutter/dev/docs/platform_integration (overridden)
pub:stdout: + process 5.0.2
pub:stdout: + sky_engine 0.0.99 from sdk flutter
pub:stdout: + source_span 1.10.0
pub:stdout: + stack_trace 1.11.1
pub:stdout: + stream_channel 2.1.2
pub:stdout: + string_scanner 1.2.0
pub:stdout: + sync_http 0.3.1
pub:stdout: + term_glyph 1.2.1
pub:stdout: + test_api 0.7.0
pub:stdout: + typed_data 1.3.2
pub:stdout: + vector_math 2.1.4
pub:stdout: + vm_service 14.0.0 (14.1.0 available)
pub:stdout: + webdriver 3.0.3
pub:stdout: Changed 38 dependencies!
pub:stdout: 2 packages have newer versions incompatible with dependency constraints.
pub:stdout: Try `flutter pub outdated` for more information.

dartdoc version: 8.0.2
snippets version: 0.4.0
flutter version: 3.20.0-15.0.pre

Unexpected package '/usr/local/google/home/sigurdm/projects/flutter/packages/flutter_goldens_client' found in packages directory
Executing: (cd "/tmp/dartdoc.zvWJI" ; /usr/local/google/home/sigurdm/projects/flutter/bin/dart global run --enable-asserts dartdoc --output /tmp/dartdoc.zvWJI/doc/flutter --allow-tools --no-validate-links --link-to-source-excludes /usr/local/google/home/sigurdm/projects/flutter/bin/cache --link-to-source-root /usr/local/google/home/sigurdm/projects/flutter --link-to-source-uri-template https://github.com/flutter/flutter/blob/master/%f%#L%l% --inject-html --use-base-href --header /usr/local/google/home/sigurdm/projects/flutter/dev/docs/styles.html --header /usr/local/google/home/sigurdm/projects/flutter/dev/docs/analytics-header.html --header /usr/local/google/home/sigurdm/projects/flutter/dev/docs/survey.html --header /usr/local/google/home/sigurdm/projects/flutter/dev/docs/snippets.html --header /usr/local/google/home/sigurdm/projects/flutter/dev/docs/opensearch.html --footer /usr/local/google/home/sigurdm/projects/flutter/dev/docs/analytics-footer.html --footer-text /tmp/dartdoc.zvWJI/footer.html --allow-warnings-in-packages Flutter,platform_integration,flutter_driver,integration_test,flutter_web_plugins,flutter_goldens,flutter,flutter_localizations,flutter_test --exclude-packages analyzer,args,barback,csslib,flutter_goldens,flutter_goldens_client,front_end,fuchsia_remote_debug_protocol,glob,html,http_multi_server,io,isolate,js,kernel,logging,mime,mockito,node_preamble,plugin,shelf,shelf_packages_handler,shelf_static,shelf_web_socket,utf,watcher,yaml --exclude dart:io/network_policy.dart,package:Flutter/temp_doc.dart,package:http/browser_client.dart,package:intl/intl_browser.dart,package:matcher/mirror_matchers.dart,package:quiver/io.dart,package:quiver/mirrors.dart,package:vm_service_client/vm_service_client.dart,package:web_socket_channel/html.dart --favicon /usr/local/google/home/sigurdm/projects/flutter/dev/docs/favicon.ico --package-order flutter,Dart,platform_integration,flutter_test,flutter_driver --auto-include-dependencies)
dartdoc:stdout: Documenting Flutter...
dartdoc:stdout: Discovering libraries...
dartdoc:stdout: Linking elements...
dartdoc:stdout: Precaching local docs for 800154 elements...
dartdoc:stderr:   error: tool execution failed: Tool "dartpad" returned non-zero exit code (255) when run as "/usr/local/google/home/sigurdm/projects/flutter/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=dartpad" from /tmp/dartdoc.zvWJI
dartdoc:stderr: Input to dartpad was:
dartdoc:stderr: The following code implements the [RotationTransition] as seen in the video
dartdoc:stderr: above:
dartdoc:stderr:
dartdoc:stderr: ** See code in examples/api/lib/widgets/transitions/rotation_transition.0.dart **
dartdoc:stderr: Stderr output was:
dartdoc:stderr: An unexpected error was encountered by the Dart CLI.
dartdoc:stderr: Please file an issue at https://github.com/dart-lang/sdk/issues/new with the following details:
dartdoc:stderr:
dartdoc:stderr: Invocation: 'dart pub global run snippets --output-directory=doc/snippets --type=dartpad'
dartdoc:stderr: Exception: 'LateInitializationError: Field 'userProperty' has not been initialized.'
dartdoc:stderr: Stack Trace:
dartdoc:stderr: #0      AnalyticsImpl.userProperty (package:unified_analytics/src/analytics.dart)
dartdoc:stderr: #1      AnalyticsImpl.send (package:unified_analytics/src/analytics.dart:613:21)
dartdoc:stderr: #2      ErrorHandler.log (package:unified_analytics/src/error_handler.dart:29:18)
dartdoc:stderr: #3      Session._refreshSessionData (package:unified_analytics/src/session.dart:102:21)
dartdoc:stderr: #4      new Session (package:unified_analytics/src/session.dart:37:27)
dartdoc:stderr: #5      new AnalyticsImpl (package:unified_analytics/src/analytics.dart:429:23)
dartdoc:stderr: #6      new Analytics (package:unified_analytics/src/analytics.dart:87:12)
dartdoc:stderr: #7      createUnifiedAnalytics (package:dartdev/src/unified_analytics.dart:23:10)
dartdoc:stderr: #8      DartdevRunner.runCommand (package:dartdev/dartdev.dart:165:27)
dartdoc:stderr: #9      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:122:25)
dartdoc:stderr: #10     new Future.sync (dart:async/future.dart:306:31)
dartdoc:stderr: #11     CommandRunner.run (package:args/command_runner.dart:122:14)
dartdoc:stderr: #12     runDartdev (package:dartdev/dartdev.dart:46:29)
dartdoc:stderr: #13     main (file:///b/s/w/ir/x/w/sdk/pkg/dartdev/bin/dartdev.dart:11:9)
dartdoc:stderr: #14     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:293:33)
dartdoc:stderr: #15     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:     from material.RotationTransition: (file:///usr/local/google/home/sigurdm/projects/flutter/packages/flutter/lib/src/widgets/transitions.dart:373:7)
dartdoc:stderr:   error: tool execution failed: Tool "dartpad" returned non-zero exit code (255) when run as "/usr/local/google/home/sigurdm/projects/flutter/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=dartpad" from /tmp/dartdoc.zvWJI
dartdoc:stderr: Input to dartpad was:
dartdoc:stderr: These two images have two [ColorFilter]s applied with different [BlendMode]s,
dartdoc:stderr: one with red color and [BlendMode.modulate] another with a grey color and [BlendMode.saturation].
dartdoc:stderr:
dartdoc:stderr: ** See code in examples/api/lib/widgets/color_filter/color_filtered.0.dart **
dartdoc:stderr: Stderr output was:
dartdoc:stderr: An unexpected error was encountered by the Dart CLI.
dartdoc:stderr: Please file an issue at https://github.com/dart-lang/sdk/issues/new with the following details:
dartdoc:stderr:
dartdoc:stderr: Invocation: 'dart pub global run snippets --output-directory=doc/snippets --type=dartpad'
dartdoc:stderr: Exception: 'LateInitializationError: Field 'userProperty' has not been initialized.'
dartdoc:stderr: Stack Trace:
dartdoc:stderr: #0      AnalyticsImpl.userProperty (package:unified_analytics/src/analytics.dart)
dartdoc:stderr: #1      AnalyticsImpl.send (package:unified_analytics/src/analytics.dart:613:21)
dartdoc:stderr: #2      ErrorHandler.log (package:unified_analytics/src/error_handler.dart:29:18)
dartdoc:stderr: #3      Session._refreshSessionData (package:unified_analytics/src/session.dart:102:21)
dartdoc:stderr: #4      new Session (package:unified_analytics/src/session.dart:37:27)
dartdoc:stderr: #5      new AnalyticsImpl (package:unified_analytics/src/analytics.dart:429:23)
dartdoc:stderr: #6      new Analytics (package:unified_analytics/src/analytics.dart:87:12)
dartdoc:stderr: #7      createUnifiedAnalytics (package:dartdev/src/unified_analytics.dart:23:10)
dartdoc:stderr: #8      DartdevRunner.runCommand (package:dartdev/dartdev.dart:165:27)
dartdoc:stderr: #9      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:122:25)
dartdoc:stderr: #10     new Future.sync (dart:async/future.dart:306:31)
dartdoc:stderr: #11     CommandRunner.run (package:args/command_runner.dart:122:14)
dartdoc:stderr: #12     runDartdev (package:dartdev/dartdev.dart:46:29)
dartdoc:stderr: #13     main (file:///b/s/w/ir/x/w/sdk/pkg/dartdev/bin/dartdev.dart:11:9)
dartdoc:stderr: #14     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:293:33)
dartdoc:stderr: #15     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:     from cupertino.ColorFiltered: (file:///usr/local/google/home/sigurdm/projects/flutter/packages/flutter/lib/src/widgets/color_filter.dart:33:7)
dartdoc:stderr:   error: tool execution failed: Tool "snippet" returned non-zero exit code (255) when run as "/usr/local/google/home/sigurdm/projects/flutter/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=snippet" from /tmp/dartdoc.zvWJI
dartdoc:stderr: Input to snippet was:
dartdoc:stderr:
dartdoc:stderr: ```dart
dartdoc:stderr: class MyRenderObject extends RenderAligningShiftedBox with DebugOverflowIndicatorMixin {
dartdoc:stderr:   MyRenderObject({
dartdoc:stderr:     super.alignment = Alignment.center,
dartdoc:stderr:     required super.textDirection,
dartdoc:stderr:     super.child,
dartdoc:stderr:   });
dartdoc:stderr:
dartdoc:stderr:   late Rect _containerRect;
dartdoc:stderr:   late Rect _childRect;
dartdoc:stderr:
dartdoc:stderr:   @override
dartdoc:stderr:   void performLayout() {
dartdoc:stderr:     // ...
dartdoc:stderr:     final BoxParentData childParentData = child!.parentData! as BoxParentData;
dartdoc:stderr:     _containerRect = Offset.zero & size;
dartdoc:stderr:     _childRect = childParentData.offset & child!.size;
dartdoc:stderr:   }
dartdoc:stderr:
dartdoc:stderr:   @override
dartdoc:stderr:   void paint(PaintingContext context, Offset offset) {
dartdoc:stderr:     // Do normal painting here...
dartdoc:stderr:     // ...
dartdoc:stderr:
dartdoc:stderr:     assert(() {
dartdoc:stderr:       paintOverflowIndicator(context, offset, _containerRect, _childRect);
dartdoc:stderr:       return true;
dartdoc:stderr:     }());
dartdoc:stderr:   }
dartdoc:stderr: }
dartdoc:stderr: ```
dartdoc:stderr: Stderr output was:
dartdoc:stderr: An unexpected error was encountered by the Dart CLI.
dartdoc:stderr: Please file an issue at https://github.com/dart-lang/sdk/issues/new with the following details:
dartdoc:stderr:
dartdoc:stderr: Invocation: 'dart pub global run snippets --output-directory=doc/snippets --type=snippet'
dartdoc:stderr: Exception: 'LateInitializationError: Field 'userProperty' has not been initialized.'
dartdoc:stderr: Stack Trace:
dartdoc:stderr: #0      AnalyticsImpl.userProperty (package:unified_analytics/src/analytics.dart)
dartdoc:stderr: #1      AnalyticsImpl.send (package:unified_analytics/src/analytics.dart:613:21)
dartdoc:stderr: #2      ErrorHandler.log (package:unified_analytics/src/error_handler.dart:29:18)
dartdoc:stderr: #3      Session._refreshSessionData (package:unified_analytics/src/session.dart:102:21)
dartdoc:stderr: #4      new Session (package:unified_analytics/src/session.dart:37:27)
dartdoc:stderr: #5      new AnalyticsImpl (package:unified_analytics/src/analytics.dart:429:23)
dartdoc:stderr: #6      new Analytics (package:unified_analytics/src/analytics.dart:87:12)
dartdoc:stderr: #7      createUnifiedAnalytics (package:dartdev/src/unified_analytics.dart:23:10)
dartdoc:stderr: #8      DartdevRunner.runCommand (package:dartdev/dartdev.dart:165:27)
dartdoc:stderr: #9      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:122:25)
dartdoc:stderr: #10     new Future.sync (dart:async/future.dart:306:31)
dartdoc:stderr: #11     CommandRunner.run (package:args/command_runner.dart:122:14)
dartdoc:stderr: #12     runDartdev (package:dartdev/dartdev.dart:46:29)
dartdoc:stderr: #13     main (file:///b/s/w/ir/x/w/sdk/pkg/dartdev/bin/dartdev.dart:11:9)
dartdoc:stderr: #14     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:293:33)
dartdoc:stderr: #15     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:     from rendering.DebugOverflowIndicatorMixin: (file:///usr/local/google/home/sigurdm/projects/flutter/packages/flutter/lib/src/rendering/debug_overflow_indicator.dart:90:7)
dartdoc:stderr:   error: tool execution failed: Tool "snippet" returned non-zero exit code (255) when run as "/usr/local/google/home/sigurdm/projects/flutter/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=snippet" from /tmp/dartdoc.zvWJI
dartdoc:stderr: Input to snippet was:
dartdoc:stderr:
dartdoc:stderr: Using a [Stack] you can position widgets over one another.
dartdoc:stderr:
dartdoc:stderr: ![The sample creates a blue box that overlaps a larger green box, which itself overlaps an even larger red box.](https://flutter.github.io/assets-for-api-docs/assets/widgets/stack.png)
dartdoc:stderr:
dartdoc:stderr: ```dart
dartdoc:stderr: Stack(
dartdoc:stderr:   children: <Widget>[
dartdoc:stderr:     Container(
dartdoc:stderr:       width: 100,
dartdoc:stderr:       height: 100,
dartdoc:stderr:       color: Colors.red,
dartdoc:stderr:     ),
dartdoc:stderr:     Container(
dartdoc:stderr:       width: 90,
dartdoc:stderr:       height: 90,
dartdoc:stderr:       color: Colors.green,
dartdoc:stderr:     ),
dartdoc:stderr:     Container(
dartdoc:stderr:       width: 80,
dartdoc:stderr:       height: 80,
dartdoc:stderr:       color: Colors.blue,
dartdoc:stderr:     ),
dartdoc:stderr:   ],
dartdoc:stderr: )
dartdoc:stderr: ```
dartdoc:stderr: Stderr output was:
dartdoc:stderr: An unexpected error was encountered by the Dart CLI.
dartdoc:stderr: Please file an issue at https://github.com/dart-lang/sdk/issues/new with the following details:
dartdoc:stderr:
dartdoc:stderr: Invocation: 'dart pub global run snippets --output-directory=doc/snippets --type=snippet'
dartdoc:stderr: Exception: 'LateInitializationError: Field 'userProperty' has not been initialized.'
dartdoc:stderr: Stack Trace:
dartdoc:stderr: #0      AnalyticsImpl.userProperty (package:unified_analytics/src/analytics.dart)
dartdoc:stderr: #1      AnalyticsImpl.send (package:unified_analytics/src/analytics.dart:613:21)
dartdoc:stderr: #2      ErrorHandler.log (package:unified_analytics/src/error_handler.dart:29:18)
dartdoc:stderr: #3      Session._refreshSessionData (package:unified_analytics/src/session.dart:102:21)
dartdoc:stderr: #4      new Session (package:unified_analytics/src/session.dart:37:27)
dartdoc:stderr: #5      new AnalyticsImpl (package:unified_analytics/src/analytics.dart:429:23)
dartdoc:stderr: #6      new Analytics (package:unified_analytics/src/analytics.dart:87:12)
dartdoc:stderr: #7      createUnifiedAnalytics (package:dartdev/src/unified_analytics.dart:23:10)
dartdoc:stderr: #8      DartdevRunner.runCommand (package:dartdev/dartdev.dart:165:27)
dartdoc:stderr: #9      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:122:25)
dartdoc:stderr: #10     new Future.sync (dart:async/future.dart:306:31)
dartdoc:stderr: #11     CommandRunner.run (package:args/command_runner.dart:122:14)
dartdoc:stderr: #12     runDartdev (package:dartdev/dartdev.dart:46:29)
dartdoc:stderr: #13     main (file:///b/s/w/ir/x/w/sdk/pkg/dartdev/bin/dartdev.dart:11:9)
dartdoc:stderr: #14     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:293:33)
dartdoc:stderr: #15     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:     from widgets.Stack: (file:///usr/local/google/home/sigurdm/projects/flutter/packages/flutter/lib/src/widgets/basic.dart:3874:7)
dartdoc:stderr:   error: tool execution failed: Tool "dartpad" returned non-zero exit code (255) when run as "/usr/local/google/home/sigurdm/projects/flutter/bin/cache/dart-sdk/bin/dart pub global run snippets --output-directory=doc/snippets --type=dartpad" from /tmp/dartdoc.zvWJI
dartdoc:stderr: Input to dartpad was:
dartdoc:stderr: This example demonstrates using a [FocusScope] to restrict focus to a particular
dartdoc:stderr: portion of the app. In this case, restricting focus to the visible part of a
dartdoc:stderr: Stack.
dartdoc:stderr:
dartdoc:stderr: ** See code in examples/api/lib/widgets/focus_scope/focus_scope.0.dart **
dartdoc:stderr: Stderr output was:
dartdoc:stderr: An unexpected error was encountered by the Dart CLI.
dartdoc:stderr: Please file an issue at https://github.com/dart-lang/sdk/issues/new with the following details:
dartdoc:stderr:
dartdoc:stderr: Invocation: 'dart pub global run snippets --output-directory=doc/snippets --type=dartpad'
dartdoc:stderr: Exception: 'LateInitializationError: Field 'userProperty' has not been initialized.'
dartdoc:stderr: Stack Trace:
dartdoc:stderr: #0      AnalyticsImpl.userProperty (package:unified_analytics/src/analytics.dart)
dartdoc:stderr: #1      AnalyticsImpl.send (package:unified_analytics/src/analytics.dart:613:21)
dartdoc:stderr: #2      ErrorHandler.log (package:unified_analytics/src/error_handler.dart:29:18)
dartdoc:stderr: #3      Session._refreshSessionData (package:unified_analytics/src/session.dart:102:21)
dartdoc:stderr: #4      new Session (package:unified_analytics/src/session.dart:37:27)
dartdoc:stderr: #5      new AnalyticsImpl (package:unified_analytics/src/analytics.dart:429:23)
dartdoc:stderr: #6      new Analytics (package:unified_analytics/src/analytics.dart:87:12)
dartdoc:stderr: #7      createUnifiedAnalytics (package:dartdev/src/unified_analytics.dart:23:10)
dartdoc:stderr: #8      DartdevRunner.runCommand (package:dartdev/dartdev.dart:165:27)
dartdoc:stderr: #9      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:122:25)
dartdoc:stderr: #10     new Future.sync (dart:async/future.dart:306:31)
dartdoc:stderr: #11     CommandRunner.run (package:args/command_runner.dart:122:14)
dartdoc:stderr: #12     runDartdev (package:dartdev/dartdev.dart:46:29)
dartdoc:stderr: #13     main (file:///b/s/w/ir/x/w/sdk/pkg/dartdev/bin/dartdev.dart:11:9)
dartdoc:stderr: #14     _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:293:33)
dartdoc:stderr: #15     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:
dartdoc:stderr:     from widgets.FocusScope: (file:///usr/local/google/home/sigurdm/projects/flutter/packages/flutter/lib/src/widgets/focus_scope.dart:750:7)
dartdoc:stdout: Initialized dartdoc with 1287 libraries
dartdoc:stdout: Generating docs for package flutter...
dartdoc:stdout: Generating docs for package Dart...
dartdoc:stdout: Generating docs for package platform_integration...
dartdoc:stdout: Generating docs for package flutter_test...
dartdoc:stdout: Generating docs for package flutter_driver...
dartdoc:stdout: Generating docs for package Flutter...
dartdoc:stdout: Generating docs for package flutter_localizations...
dartdoc:stdout: Generating docs for package flutter_web_plugins...
dartdoc:stdout: Generating docs for package leak_tracker_flutter_testing...
dartdoc:stdout: Generating docs for package async...
dartdoc:stdout: Generating docs for package boolean_selector...
dartdoc:stdout: Generating docs for package characters...
dartdoc:stdout: Generating docs for package clock...
dartdoc:stdout: Generating docs for package collection...
dartdoc:stdout: Generating docs for package crypto...
dartdoc:stdout: Generating docs for package fake_async...
dartdoc:stdout: Generating docs for package file...
dartdoc:stdout: Generating docs for package integration_test...
dartdoc:stdout: Generating docs for package intl...
dartdoc:stdout: Generating docs for package leak_tracker...
dartdoc:stdout: Generating docs for package leak_tracker_testing...
dartdoc:stdout: Generating docs for package matcher...
dartdoc:stdout: Generating docs for package material_color_utilities...
dartdoc:stdout: Generating docs for package meta...
dartdoc:stdout: Generating docs for package path...
dartdoc:stdout: Generating docs for package platform...
dartdoc:stdout: Generating docs for package process...
dartdoc:stdout: Generating docs for package source_span...
dartdoc:stdout: Generating docs for package stack_trace...
dartdoc:stdout: Generating docs for package stream_channel...
dartdoc:stdout: Generating docs for package string_scanner...
dartdoc:stdout: Generating docs for package sync_http...
dartdoc:stdout: Generating docs for package term_glyph...
dartdoc:stdout: Generating docs for package test_api...
dartdoc:stdout: Generating docs for package typed_data...
dartdoc:stdout: Generating docs for package vector_math...
dartdoc:stdout: Generating docs for package vm_service...
dartdoc:stdout: Generating docs for package webdriver...
dartdoc:stderr: Found 0 warnings and 5 errors.
dartdoc:stdout: Documented 157 public libraries in 770.3 seconds
dartdoc:stderr:
dartdoc:stderr: dartdoc 8.0.2 (/usr/local/google/home/sigurdm/.pub-cache/global_packages/dartdoc/bin/dartdoc.dart-3.4.0-186.0.dev.snapshot) failed: encountered 5 errors
dartdoc:stderr: #0      Dartdoc.generateDocs (package:dartdoc/src/dartdoc.dart:247:9)
dartdoc:stderr: <asynchronous suspension>
dartdoc:stderr: #1      Dartdoc.executeGuarded.<anonymous closure> (package:dartdoc/src/dartdoc.dart:274:9)
dartdoc:stderr: <asynchronous suspension>
dartdoc:stderr:

I get some other errors, but not the pub one.
Is this something that used to work, but is now failing? Or a new task that is supposed to work?

@sigurdm Thanks for taking a look.

Is this something that used to work, but is now failing? Or a new task that is supposed to work?

This used to work about 8 month ago when I last worked on the docs.

I get some other errors, but not the pub one.

The error you're seeing is https://github.com/dart-lang/sdk/issues/55056, which is fixed, but hasn't rolled into flutter yet. You can work around it by disabling analytics for dart with dart --disable-analytics. Once you do that, you should be seeing the error I posted above.

Where/how was this problem fixed on the dart side?

I was looking at your comment above about https://github.com/dart-lang/sdk/issues/55056 and assumed that was the fix, if that is not the case let me know and I will direct this issue to the appropriate team

@a-siva - that was a fix for another problem, that I saw while trying to reproduce. And that other problem has indeed been fixed, but is not the one this issue is about.
For now this looks like a pub issue - I will try to find time to look at it.
Is p2 the correct priority, since this has a workaround?

Are you running things in parallel?

Are you running things in parallel?

I don't think there's anything running in parallel. Although, I don't know for sure if dartdoc is parallelizing anything with tool invocations (maybe @srawlins can speak to that with more certainty).

Is p2 the correct priority, since this has a workaround?

The only lower P-level we have would be P3, which is basically for something that'll never get fixed. Despite the work around, I am hoping that this can eventually get fixed since it makes working on our documentation somewhat painful. It's not super time-critical since this is not a workflow we execute every day, though.

Are you running things in parallel?

I don't think there's anything running in parallel. Although, I don't know for sure if dartdoc is parallelizing anything with tool invocations (maybe @srawlins can speak to that with more certainty).

That's entirely possible actually.

Where/how was this problem fixed on the dart side?

There was a bug in the analytics package that likely caused this error based on the outputted logs above, the analytics version should be getting bumped in the sdk to fix this: https://dart-review.googlesource.com/c/sdk/+/358220

@eliasyishak That analytics error was a separate problem that we saw while reproducing the other problem the original post is about. As far as I can tell, that original problem is not fixed yet (and likely unrelated to analytics).

@sigurdm are you the right owner for this issue ?

Tried reproducing again
> git clone https://github.com/flutter/assets-for-api-docs
...
> cd assets-for-api-docs/packages/snippets/
snippets (main)> dart pub global activate -spath .
Resolving dependencies... (2.5s)
..
Activated snippets 0.4.3 at path "/usr/local/google/home/sigurdm/projects/assets-for-api-docs/packages/snippets".
~/p/a/p/snippets (main)> cd ~/projects/flutter/
~/p/flutter ((3.20.0-15.0.pre))> dev/bots/docs.sh
Thu Apr 11 10:39:20 AM UTC 2024: Running docs.sh
....
Docs ready to go!
Documentation written to /tmp/dartdoc.0kf7F/doc
Removing staging documentation output from /tmp/dartdoc.0kf7F
Wrote docs ZIP file to /usr/local/google/home/sigurdm/projects/flutter/dev/docs/api_docs.zip

Not sure how using a local version is supposed to work, as the dev/bots/docs.sh script always activates a fixed version of snippets before starting processing.
My only guess as to what happened is that we global run snippet twice concurrently, each of them finds that the snapshot needs recompilation, and after recompilation they replace the binstub, and the two executions race.
Probably we don't need to delete the binstub before rewriting it in:
https://github.com/dart-lang/pub/blob/ed20b45589766d6fd135e93460b9e8255ccba519/lib/src/global_packages.dart#L621
And probably we could write the binstub to a temp-file, chmod it there, and do an atomic move.
Filed https://github.com/dart-lang/pub/issues/4216
I would highly suggest you don't rely on pub global for doing scripted processing, it messes with the user-wide configuration.
Why is snippets not a dependency of the dev/tools/pubspec.yaml? Then it could be invoked with dart run snippets local to current context. And testing a local version could happen by making a path dependency-override.
(Not sure how snippets i invoked, perhaps you need an executable?, then I would urge you to write your own invocation script, and inject that into PATH when needed.`).

Reading the code again, we already create the binstub atomically since https://github.com/dart-lang/pub/pull/3285
Are you using a dart sdk from before that? Otherwise the error message should also not be
"Could not make "/Users/goderbauer/.pub-cache/bin/snippets" executable (exit code 1):" but refer to a temp directory in the cache.

Not sure how using a local version is supposed to work, as the dev/bots/docs.sh script always activates a fixed version of snippets before starting processing.

As mentioned in my original post: You have to modify the script here to activate a local version.

I would highly suggest you don't rely on pub global for doing scripted processing, it messes with the user-wide configuration.

Agreed, that this could be improved. I don't know how to set this up with the dartdocs generation (see below).

Not sure how snippets i invoked

Dartdoc is configured here to invoke it.

Are you using a dart sdk from before that?

The problem still reproduces for me today with tip of tree flutter using Dart SDK version: 3.5.0-47.0.dev.

As mentioned in my original post: You have to modify the script here to activate a local version.

Oh sorry - completely misread that - I need more coffee.

The problem still reproduces for me today with tip of tree flutter using Dart SDK version: 3.5.0-47.0.dev.

Yes! - I found the bug! https://github.com/dart-lang/pub/pull/3285/files#diff-609b203653065d15282bde9c47cbf5c38885fa92957ce5b89adbf9be5db0b1c8R793 joins an absolute path to the temp-path, effectively using just the absolute path. Made it look like the temp-path wasn't used at all
Will make a fix!

Fix is taking a bit longer than expected. There are a few more races involved.

Awesome. Thanks for debugging this!

Wow, thanks @sigurdm!! Great find!!

Wow, thanks @sigurdm!! Great find!!

(Thanks - Not sure how proud I am - I created this bug in the first place :) )

This now appears to be causing the build to break. Not sure what changed so that the build machines now fail as well as running it locally, but maybe it's just some race condition in Linux that changed when it was updated.

Returning this to P2 priority now that https://github.com/dart-lang/pub/pull/4205 has been reverted in https://github.com/dart-lang/pub/pull/4255.

I had forgot about this issue. Does anyone know the status here? Do we still need something fixed?

I know that local docs generation is working and since then we've moved the snippets tool to be part of the Flutter repo again.
I think we can close this.


DRILL 4581 Final

Extensive revisions to the Drill launch scripts to fix a number of
bugs, and to prepare the scripts for use in Drill-on-YARN. Unit tests
will be merged as part of the Drill-on-YARN (DRILL-1170) work.

Commiters asked that DoY not be pushed at this time. Closing this request; will open a new one with only the Drill changes, but no DoY scripts.


Replace list imports with knora-api-lib

Change all imports related to admin lists from knora/core by the new ones from the knora-api-lib.

@kilchenmann  I think it has been cleaned up by your latest PRs about lists. Can we close it?

Yes, I think it's done...


Thanks again for creating this wonderful tool! I've tried many README generator, but yours is simply the best one on the web!
Describe the solution you'd like
An option to export and import current state into a JSON, so it could be re-used/backed up.
Additional context
No response

It's been a month with no response, since my #74
I wanted to use it, so I deployed my fork ▲
if someone looked for it
https://profile-readme-maker.vercel.app


fix: add ecr create repository action

this has been missing this whole time, never noticed because we haven't
created a new image in months. oop

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


python312Packages.apkinspector: 1.2.2 -> 1.2.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.apkinspector is: Module designed to provide detailed insights into the zip structure of APK files
meta.homepage for python312Packages.apkinspector is: https://github.com/erev0s/apkInspector
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.2.3 with grep in /nix/store/wv3kvqyyfz5fbzi49jxs8nqhz54hd4ny-python3.12-apkinspector-1.2.3
found 1.2.3 in filename of file in /nix/store/wv3kvqyyfz5fbzi49jxs8nqhz54hd4ny-python3.12-apkinspector-1.2.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.apkinspector
python312Packages.apkinspector

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wv3kvqyyfz5fbzi49jxs8nqhz54hd4ny-python3.12-apkinspector-1.2.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.apkinspector https://github.com/r-ryantm/nixpkgs/archive/a362c7fb1e1bbe370042a7e09bbea669adfd466d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/a362c7fb1e1bbe370042a7e09bbea669adfd466d#python312Packages.apkinspector

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wv3kvqyyfz5fbzi49jxs8nqhz54hd4ny-python3.12-apkinspector-1.2.3
ls -la /nix/store/wv3kvqyyfz5fbzi49jxs8nqhz54hd4ny-python3.12-apkinspector-1.2.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

4 packages built:

python311Packages.apkinspector
python311Packages.apkinspector.dist
python312Packages.apkinspector
python312Packages.apkinspector.dist

Maintainer pings
cc @fabaff for testing.

Result of nixpkgs-review pr 305451 run on x86_64-linux 1

4 packages built:

python311Packages.apkinspector
python311Packages.apkinspector.dist
python312Packages.apkinspector
python312Packages.apkinspector.dist


Magic handling of single app directory in app source archive. Plus CLI support for app archives.

fix #2465
imports chart PR https://github.com/epinio/helm-charts/pull/523

The PR as is break the wordpress test ...
It seems that for PHP an EV setting like
"-e", "BP_PHP_WEB_DIR=wordpress"

tells the buildpack to look into the app directory.
I wonder if other buildpacks have equivalent settings.

Deeper research today shows that I am somewhat mistaken about the BP_PHP_WEB_DIR.
It specifies the location of the files to serve by the PHP web server, with a default of htdocs.
Of course, the .php files among these files are the app, so it manages to work out.
However most other languages do not really have equivalents
(See howto section of https://paketo.io/docs/)
java and node.js may work as well, via BP_NODE_PROJECT_PATH, and .net possibly too, via BP_DOTNET_PROJECT_PATH. The rest I saw nothing similar, not in the howtos, nor in the linked references.
In the end we look to need the magic indeed.

Deeper research today shows that I am somewhat mistaken about the BP_PHP_WEB_DIR. It specifies the location of the files to serve by the PHP web server, with a default of htdocs. Of course, the .php files among these files are the app, so it manages to work out.
However most other languages do not really have equivalents (See howto section of https://paketo.io/docs/)
java and node.js may work as well, via BP_NODE_PROJECT_PATH, and .net possibly too, via BP_DOTNET_PROJECT_PATH. The rest I saw nothing similar, not in the howtos, nor in the linked references.
In the end we look to need the magic indeed.

Hm, so.. I'm not sure. Why is it needed now?
Btw, the helm charts update is quite big because it's not containing only the needed changes but also previously merged PRs. Would you mind merging this PR and then rebasing this one?
So we can have just the related changes of the helm-charts about this.

Approved #2718

Hm, so.. I'm not sure. Why is it needed now?

To clarify. The ticket #2465 asks for the magic. I thought for a while yesterday that we could without that magic and simply refer to BP config to allow the submitter achieve the same thing. Due to my research this morning I came to the conclusion that there is not enough in BP configs to do so, making the magic needed for the submitters case.

While acceptance-apps has failed a local run with additional inspection shows that response is

  <title>403 Forbidden</title>

403 Forbidden

nginx

instead of 404. The app is deployed, and something prevents access. That does not point to the change here.

Ok. I suspect that the change to find broke the lifting code.

Yes. The logs from the local focused test do not show the necessary messages.
Without lifting the files are in ./wordpress, while BP assumes . due to the EVs given.

Verified in v1.11.0-rc2. Zip archive with sample app source downloaded from gitlab - the archive contained sample-main/index.php and sample-main/README.md files. The app has been deployed successfully:
This is related part from staging:
🕞  [stage-workspace-sample-c] unpack-blob Archive:  ../e83b6b11-0f6b-4dde-820e-d86ac18dd6de
🕞  [stage-workspace-sample-c] unpack-blob 9dab8e95a971d6c96ae4f8ec3b2a78e515ada675
🕞  [stage-workspace-sample-c] unpack-blob    creating: sample-main/
🕞  [stage-workspace-sample-c] unpack-blob   inflating: sample-main/README.md
🕞  [stage-workspace-sample-c] unpack-blob   inflating: sample-main/index.php
🕞  [stage-workspace-sample-c] unpack-blob OK
🕞  [stage-workspace-sample-c] unpack-blob Lifting "sample-main" contents ...
🕞  [stage-workspace-sample-c] unpack-blob renamed 'sample-main/README.md' -> './README.md'
🕞  [stage-workspace-sample-c] unpack-blob mv: cannot stat 'sample-main/.??*': No such file or directory
🕞  [stage-workspace-sample-c] unpack-blob renamed 'sample-main/index.php' -> './index.php'
🕞  [stage-workspace-sample-c] unpack-blob rmdir: removing directory, 'sample-main'

Note for myself: mv .. 'sample-main/.??* moves all .hidden files. In this can no hidden files were in the archive.


End python2 support

I open this ticket to discuss the end of the python2 support. The pallet community seems to want to end the support, but how is it doable now in wtforms? I suppose that would require a major version bump.
Could wtforms 3 be the version that would drop python 2 support?

Absolutely drop Python < 3.6 support and bump the version to 3. I've done it to all the projects except Click now, you can find the "Drop Python 2" PRs and check the commits for the kinds of things I looked for. The pyupgrade pre-commit hook is really helpful.


Fix utils/project_root() to be Atomkraft-specific

Current implementation of project_root() function:
def project_root():
    cwd = Path(os.getcwd())
    while cwd != cwd.parent:
        if (cwd / "pyproject.toml").exists():
            return cwd
        cwd = cwd.parent
    return None

is dangerous: it traverses up to whatever "pyproject.toml" it finds, and returns this directory. There may be other Poetry projects up there, which are not Atomkraft projects. As a result, arbitrary unrelated projects could be overwritten.
Instead, this function should search for Atomkraft-specific config files, e.g. .atomkraft directory.

Additionally, it would be nice to change the convention for that function. It is very critical for any module: no module can function unless we are in the directory with the right structure. This function needs to be changed as follows:

check to the maximal degree that the directory has the expected structure: integrate the checks like in get_reactor() or test_trace(), and add more. This will allow also the modules not to contain such checks, and to rely on this function
Either return the directory, if it has the correct structure, or raise an exception.


php sdk example

I have added an example of signing php request using sdk functionality.

Thanks for this PR @smart--petea !
Could you please update this to pull the variables from the environment like the other examples e.g. getenv. Additionally, please include the sessionToken to support temporary credentials.

ok. I'll do it.