text:
optional?

Hi @plzombie .
Maybe optional file|http?:
https://github.com/plzombie/fastimage.c/blob/1a13a0aa41f02859de24b9f901b2d15ba6b9fc3b/test.c#L42-L64
to
    if(argc < 2) {
        printf("%s input [type]\n"
            "\ttype = file - file input (default), http - net input\n", argv[0]);

        return 0;
    }
    if (argc > 2)
    {
#if defined(_WIN32)
        if(!wcscmp(argv[2], L"file")) {
            image = fastimageOpenFileW(argv[1]);
        } else if(!wcscmp(argv[2], L"http")) {
            image = fastimageOpenHttpW(argv[1], true);
        } else {
            printf("Unknown input type\n");
            return 0;
        }
#else
        if(!strcmp(argv[2], "file")) {
            image = fastimageOpenFileA(argv[1]);
        } else if(!strcmp(argv[2], "http")) {
            image = fastimageOpenHttpA(argv[1], true);
        } else {
            printf("Unknown input type\n");
            return 0;
        }
#endif
    } else {
#if defined(_WIN32)
        image = fastimageOpenFileW(argv[1]);
#else
        image = fastimageOpenFileA(argv[1]);
#endif
    }

Hi
Maybe something like:
test [type] path

And autodetect type by check the presence of "http://" at the beginning of path?

@plzombie say:

And autodetect type by check the presence

Как угодно? Но то, что сейчас "интуитивно" негодно.

Ок, тогда завтра-послезавтра добавлю

Hi @plzombie .
	if(argc < 2) {
		printf("%s input\n", argv[0]);
		return 0;
	}

#if defined(_WIN32)
    wchar head[8] = {" "};
    memcpy(head, argv[1], 7);
    if(!wcscmp(head, L"http://") || !wcscmp(head, L"https:/")) {
        printf("protocol: '%s'\n", head);
        printf("url: '%s'\n", argv[1]);
        image = fastimageOpenHttpW(argv[1], true);
    } else {
        printf("file: '%s'\n", argv[1]);
        image = fastimageOpenFileW(argv[1]);
    }
#else
    char head[8] = {" "};
    memcpy(head, argv[1], 7);
    if(!strcmp(head, "http://") || !strcmp(head, "https:/")) {
        printf("protocol: '%s'\n", head);
        printf("url: '%s'\n", argv[1]);
        image = fastimageOpenHttpA(argv[1], false);
    } else {
        printf("file: '%s'\n", argv[1]);
        image = fastimageOpenFileA(argv[1]);
    }
#endif

Test;
./test graph-paper-front.jpg
file: 'graph-paper-front.jpg'
format: jpg
width: 2536
height: 3299
bits per pixel: 24, 3 channel

./test https://2.img-dpreview.com/files/p/TS1800x1200~sample_galleries/9050520228/3298135132.jpg
protocol: 'https:/'
url: 'https://2.img-dpreview.com/files/p/TS1800x1200~sample_galleries/9050520228/3298135132.jpg'
format: error
width: 0
height: 0
bits per pixel: 0, 0 channel

./test https://2.img-dpreview.com/files/p/TS1800x1200~sample_galleries/9050520228/3298135132.jpg
protocol: 'https:/'
url: 'https://2.img-dpreview.com/files/p/TS1800x1200~sample_galleries/9050520228/3298135132.jpg'
format: error
width: 0
height: 0
bits per pixel: 0, 0 channel

Hi @plzombie .
    if(argc < 2)
    {
        printf("%s {file || url}\n", argv[0]);
        return 0;
    }

#if defined(_WIN32)
    wchar head[8] = {" "};
    memcpy(head, argv[1], 7);
    if(!wcscmp(head, L"http://") || !wcscmp(head, L"https:/"))
    {
        printf("url: '%s'\n", argv[1]);
        image = fastimageOpenHttpW(argv[1], true);
    } else {
        printf("file: '%s'\n", argv[1]);
        image = fastimageOpenFileW(argv[1]);
    }
#else
    char head[8] = {" "};
    memcpy(head, argv[1], 7);
    if(!strcmp(head, "http://") || !strcmp(head, "https:/"))
    {
        printf("url: '%s'\n", argv[1]);
        image = fastimageOpenHttpA(argv[1], true);
    } else {
        printf("file: '%s'\n", argv[1]);
        image = fastimageOpenFileA(argv[1]);
    }
#endif

+ https://github.com/plzombie/fastimage.c/commit/3a7a2f96e3ddf0cba53873c71e77fba538ea1649
./test graph-paper-front.jpg
file: 'graph-paper-front.jpg'
format: jpg
width: 2536
height: 3299
bits per pixel: 24, 3 channel

./test https://javasea.ru/uploads/posts/2021-06/1623421358_mona-liza.jpg
url: 'https://javasea.ru/uploads/posts/2021-06/1623421358_mona-liza.jpg'
format: jpg
width: 1389
height: 1963
bits per pixel: 24, 3 channel

:+1:  Good.

Там надо под линуксом собирать с LIBCURL (по умолчанию идут заглушки вместо fastimageOpenHttp) Добавил ключи в makefile https://github.com/plzombie/fastimage.c/commit/3a7a2f96e3ddf0cba53873c71e77fba538ea1649
И я добавил ещё user-agent в libcurl отдельно здесь https://github.com/plzombie/fastimage.c/commit/02c0af9044fcda18969aa751dc954127976d81bc
Сейчас выглядит так

@plzombie say:

Сейчас выглядит так

http крайне лишнее! :)))
Удачи! Свой рецепт я дал, а как он сработает под виндой? Хз.

authors: plzombie zvezdochiot


text:
About create solr index

When i execute the command:
curl -XPUT "$RIAK_HOST/search/index/weather" -H'content-type:application/json' -d'{"schema":"_yz_default"}'

get the result:
➜  dev1 curl -XPUT "$RIAK_HOST/search/index/weather" -H'content-type:application/json' -d'{"schema":"_yz_default"}'
<TITLE>404 Not Found</TITLE>
Not Found
The requested document was not found on this server.

<ADDRESS>mochiweb+webmachine web server</ADDRESS>

Fixed: we open the search = on in etc/riak.conf

source: gharchive/issue

license: unlicense

license_type: permissive

license_source: bigquery


text:
ci: new rustfmt workflow

Short and sweet PR that:

creates a new workflow that runs cargo fmt/rustfmt on all files on PR
embarrassingly didn't actually fix all cargo fmt errors in #26, so does that too

An alternate suggestion is to bundle these into one workflow, so it's faster (i.e., run the lint after the tests). Not sure if that affects our other future plans (ex making cargo build a mandatory pass to merge, but being ok with lint errors). Open to thoughts here!
My personal take, in my opinion, is we should make all of these required to merge:

cargo build passes cleanly
no lint errors
all tests pass

Just pushed (and reverted) a commit that introduces a lint failure, and it works:

source: gharchive/pull-request

repo: pmall-neu/rsdd

license: MIT

license_source: github-api


text:
[NEW]

when will the next release version of kvdk be committed?
The release version now is v_0.2. I noticed this version's batchwrite was incompeleted and recently you have added the feature of batchwrite. I would like to know the current stage of this project and what I need to pay attention to if implementing kvdk into my project?

Hi there, we are working on the transaction feature and plan to release the official v1.0 around Aug 31st.  The latest code has more complete support for batch write, so we suggest you give it a try. We welcome any questions and suggestions and will address them promptly.

thank you!

authors: KVKIT fangneverdown

repo: pmem/kvdk


text:
Compile Fail In Fedora 31

Hi, trying to see if I can run this one Fedora 31.  I noticed a similar issue reported to mine, but I have tried the fixes from that issue, and I still get this failure.
After installing and updating Fedora 31, I used these steps to try and install and build:
git clone https://github.com/pmem/pmem-redis.git
cd pmem-redis/
git submodule init
git submodule update
Remove -Werror from deps/pmdk/src/examples/Makefile.inc
make clean
make distclean
make USE_NVM=yes

I notice 'make distclean' doesn't seem to run quite right, in a way similar to one of the errors in the final compile:
[root@jrgruher-nc1-f31 pmem-redis]# make distclean
cd src && make distclean
make[1]: Entering directory '/root/pmem-redis/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-benchmark-seq redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark
(cd ../deps && make distclean)
make[2]: Entering directory '/root/pmem-redis/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd memkind/jemalloc/obj && make distclean) > /dev/null || true
/bin/sh: line 0: cd: memkind/jemalloc/obj: No such file or directory
(cd memkind && make distclean) > /dev/null || true
make[3]: *** No rule to make target 'distclean'.  Stop.
(cd jemalloc && make clean) > /dev/null || true
make[3]: *** No rule to make target 'clean'.  Stop.
(cd pmdk && make clobber) > /dev/null || true
(cd jemallocat && make clean) > /dev/null || true
(cd aofguard && make clean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory '/root/pmem-redis/deps'
(rm -f .make-*)
make[1]: Leaving directory '/root/pmem-redis/src'

This is the error I get after trying 'make USE_NVM=yes':
cc: error: ../deps/memkind/jemalloc/obj/lib/libjemalloc.a: No such file or directory
cc: error: ../deps/memkind/.libs/libmemkind.a: No such file or directory
cc: error: ../deps/jemallocat/lib/libjemallocat.a: No such file or directory
cc: error: ../deps/aofguard/lib/libaofguard.a: No such file or directory
make[1]: *** [Makefile:244: redis-server] Error 1
make[1]: Leaving directory '/root/pmem-redis/src'
make: *** [Makefile:8: all] Error 2

I will attach a full log of the make attempt.

redis-pmem-build-fail-fedora31.txt

By the way I believe I do have all necessary packages installed:
[root@jrgruher-nc1-f31 pmem-redis]# dnf install vim make gcc gcc-c++ git cmake kernel-devel kernel-headers tcl autoconf automake pkg-config pcre-devel zlib-devel libmemcached-devel libevent libevent-devel numactl numactl-devel libtool ndctl ndctl-libs ndctl-devel daxctl daxctl-libs daxctl-devel ipmctl libipmctl libipmctl-devel
Last metadata expiration check: 0:31:38 ago on Sat 18 Apr 2020 02:45:10 PM PDT.
Package vim-enhanced-2:8.2.525-1.fc31.x86_64 is already installed.
Package make-1:4.2.1-15.fc31.x86_64 is already installed.
Package gcc-9.3.1-2.fc31.x86_64 is already installed.
Package gcc-c++-9.3.1-2.fc31.x86_64 is already installed.
Package git-2.25.3-1.fc31.x86_64 is already installed.
Package cmake-3.17.1-1.fc31.x86_64 is already installed.
Package kernel-devel-5.3.11-100.fc29.x86_64 is already installed.
Package kernel-devel-5.4.15-200.fc31.x86_64 is already installed.
Package kernel-devel-5.5.17-200.fc31.x86_64 is already installed.
Package kernel-headers-5.5.17-200.fc31.x86_64 is already installed.
Package tcl-1:8.6.8-2.fc31.x86_64 is already installed.
Package autoconf-2.69-31.fc31.noarch is already installed.
Package automake-1.16.1-13.fc31.noarch is already installed.
Package pkgconf-pkg-config-1.6.3-2.fc31.x86_64 is already installed.
Package pcre-devel-8.44-1.fc31.x86_64 is already installed.
Package zlib-devel-1.2.11-20.fc31.x86_64 is already installed.
Package libmemcached-devel-1.0.18-16.fc31.x86_64 is already installed.
Package libevent-2.1.8-7.fc31.x86_64 is already installed.
Package libevent-devel-2.1.8-7.fc31.x86_64 is already installed.
Package numactl-2.0.12-3.fc31.x86_64 is already installed.
Package numactl-devel-2.0.12-3.fc31.x86_64 is already installed.
Package libtool-2.4.6-31.fc31.x86_64 is already installed.
Package ndctl-68-1.fc31.x86_64 is already installed.
Package ndctl-libs-68-1.fc31.x86_64 is already installed.
Package ndctl-devel-68-1.fc31.x86_64 is already installed.
Package daxctl-68-1.fc31.x86_64 is already installed.
Package daxctl-libs-68-1.fc31.x86_64 is already installed.
Package daxctl-devel-68-1.fc31.x86_64 is already installed.
Package ipmctl-01.00.00.3474-1.fc31.x86_64 is already installed.
Package libipmctl-01.00.00.3474-1.fc31.x86_64 is already installed.
Package libipmctl-devel-01.00.00.3474-1.fc31.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

Trying
make USE_NVM=yes EXTRA_CFLAGS="-Wno-error"
Succeeds however!
make USE_NVM=yes AEP_COW=yes SUPPORT_PBA=yes USE_AOFGUARD=yes EXTRA_CFLAGS="-Wno-error"
Also succeeds!
Then ran:
make install USE_NVM=yes AEP_COW=yes SUPPORT_PBA=yes USE_AOFGUARD=yes EXTRA_CFLAGS="-Wno-error"
sed -i s/pointer-based-aof yes/#pointer-based-aof yes/g tests/assets/default.conf
make test USE_NVM=yes AEP_COW=yes SUPPORT_PBA=yes USE_AOFGUARD=yes EXTRA_CFLAGS="-Wno-error

Server starts manually as well:
[root@jrgruher-nc1-f31 pmem-redis]# redis-server --nvm-maxcapacity 1000 --nvm-dir /mnt/pmem0
380188:C 18 Apr 16:04:22.663 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
380188:C 18 Apr 16:04:22.663 # Redis version=4.0.0, bits=64, commit=cc54b551, modified=1, pid=380188, just started
380188:C 18 Apr 16:04:22.663 # Configuration loaded
380188:M 18 Apr 16:04:22.665 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 4.0.0 (cc54b551/1) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 380188
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

380188:M 18 Apr 16:04:22.808 # Server initialized
380188:M 18 Apr 16:04:22.808 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
380188:M 18 Apr 16:04:22.808 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
380188:M 18 Apr 16:04:22.808 * DB loaded from disk: 0.000 seconds
380188:M 18 Apr 16:04:22.808 * Ready to accept connections

repo: pmem/pmem-redis


text:
Outdated URL for latest release

It seems that as of December 2020 https://tla.msr-inria.inria.fr/tlatoolbox/dist/tla2tools.jar is no longer being updated. https://github.com/tlaplus/tlaplus/releases/latest/download/tla2tools.jar should work instead
https://github.com/pmer/tla-bin/blob/1f87bc718bf732527ce89005537a4b7c5d8eb63a/download_or_update_tla.sh#L40

Thanks for the report @heidihoward. #15 should fix this.

authors: danielmai heidihoward

repo: pmer/tla-bin


text:
🛑 Higher Mind Healing is down

In 2b106a8, Higher Mind Healing (https://highermindhealing.net/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Higher Mind Healing is back up in b831eb7.

repo: pmjustin/pmuptime


text:
🛑 JMS Law is down

In 86ec80d, JMS Law (https://jmslawltd.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: JMS Law is back up in e816465 after 5 minutes.


text:
🛑 Higher Mind Healing is down

In 117717d, Higher Mind Healing (https://highermindhealing.net/) was down:

HTTP code: 503
Response time: 17778 ms

Resolved: Higher Mind Healing is back up in 51c4cdb after 16 minutes.


text:
⚠ GitHub has degraded performance

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

HTTP code: 200
Response time: 190 ms

Resolved: GitHub performance has improved in e665c2e.

repo: pmmmwh/upptime


text:
This is a JSON display template for Flight Information

Q
A

Bug fix?
no ?

New sample?
yes?

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
This JSON transforms list items into cards formatted with flight information layouts. To ensure the view functions correctly, make sure all specified columns are included. You can find the flight icon in the assets folder, referenced in the JSON from the Site Assets library. Update the link if the icon is relocated.
Guidance
You can delete this section when you are submitting the pull request.

Please update this PR information accordingly. We'll use this as part of our release notes in monthly communications.
Please target your PR to 'master' branch.

Thanks for your contribution! Sharing is caring.

Thanks for the cool sample @sudeepghatak !
I have a question about flight.png. Is this an image you got from some site? Is there any problem with copyright, license, secondary distribution, etc.?

Thanks for the feedback. I am not sure about the license. Would you suggest I get one from FluentUI? https://github.com/microsoft/fluentui-system-icons

Would you suggest I get one from FluentUI?

Yes. If the license, etc. is unclear, I would like you to use Fluent UI to eliminate the possibility of issues arising🙇♂

If you know this, I apologize.
If you code as follows, you can use Fluent UI.
{
  "elmType": "div",
  "style": {
    "font-size":"25px"
  },
  "attributes": {
    "iconName":"AirplaneSolid"
  }
}

Thanks. That is exactly how I have done it. I removed the icon from assets folder too.

@sudeepghatak
Very nice UI, clean and clear! 👍

@tecchan1107 , I am new to the contribution space. Kindly let me know the next steps. I have uploaded 2 more layouts since our last communication.

Is there any action needed at my end?

No, there is not. I will check the code! Please wait until merged!
If you would like to add more samples, it would be helpful if you could split the branch and make it 1 pull request 1 sample🙇♂
(This pull request does not need to be modified. This time I will process three samples this pull request.)

Thank you so so much for the fix @sudeepghatak !!
Finally, please correct the title of the property-card-view😣🙏
https://github.com/pnp/List-Formatting/pull/816/files/ead0d90bd6097ef93b3842068890461de5002055#r1680221462
In addition, could you try updating the master branch of your repository(sudeepghatak/List-Formatting -master)) ...?

1 commit behind may be an effect or I can't modify this pull request file. (maybe this is not the cause...)

If you can't update it, let me know.

Updated property card title
Updated the branch too.
Thanks for taking time to review @tecchan1107

Thank you @sudeepghatak !!!
I plan to merge it soon. Please wait a little longer until it is merged.

You updated the Master branch, but I was not able to edit them... Git and GitHub are forever difficult...
I will merge it for now, and then I will create a new pull request on my end to make corrections to the code!

Merging and fixing is complete! Please check the merge results.

https://github.com/pnp/List-Formatting/tree/master/view-samples/flight-card
https://github.com/pnp/List-Formatting/tree/master/view-samples/imdb-card
https://github.com/pnp/List-Formatting/tree/master/view-samples/property-card

I have also made some fixes (https://github.com/pnp/List-Formatting/pull/821, https://github.com/pnp/List-Formatting/pull/822, https://github.com/pnp/List-Formatting/pull/823). The main fixes are as follows.

flight-card

I thought it would be easier to understand Price if it had a digit separator. Therefore, I changed the amount to a number column and modified it to use displayValue.
Removed style properties not listed in the documentation
Removed commandBarProps, as people who tried this sample may be confused if the Add new item button disappears
Removed non-existent CSS classes (SharePoint Online CSS Classes and List Formatting Samples are useful references for CSS classes. Sorry if this is already known.)
Added note to README.md about separator characters in the Calculated column

imdb-card

Changed the VoteCount to a number column and used displayValue, because I thought that VoteCount should have a digit separator as well as Price in the above sample.
Removed commandBarProps
Added query string and URL supplements to README.md
Removed Plot column from README.md since Plot column was not used in JSON

property-card

Removed commandBarProps
Changed to use the getUserImage operator to retrieve the user's image, as I thought it would be easier to understand using the operator

If you have any questions or concerns, please comment!
Thank you once again for the beautiful and cool samples @sudeepghatak !!!

Great work of @tecchan1107 and cool samples by @sudeepghatak 🏆

These samples will also be posted in the Sample Solution Gallery. Please also check it out.
⚠ It will take a little time for the sample to be reflected in the Sample Solution Gallery. (probably up to 1 day).

@tecchan1107 , can't thank you enough. Very detailed review and excellent updates. Thank you

repo: pnp/List-Formatting


text:
New command: Remove a retentionlabel from a file using spo file retentionlabel remove

Usage
m365 spo file retentionlabel remove [options]
Description
Clear the retention label from a file
Options

Option
Description

-u, --webUrl <webUrl>
The url of the web

--fileUrl [fileUrl]
The server-relative URL of the file of which the label should be removed. Specify either fileUrl or fileId but not both.

i, --fileId [fileId]
The UniqueId (GUID) of the file of which the label should be removed. Specify either fileUrl or fileId but not both.

--confirm
Don't prompt for confirming to remove the label.

Examples
Clear the label from a file
m365 spo file retentionlabel remove --webUrl 'https://contoso.sharepoint.com/sites/sales' --fileUrl '/sites/sales/somelibrary/somefile.pdf

More information

This command can be implemented with shared code created for #4162.

shouldn't we add a confirm option ?
@martinlingstuyl what do you think?

Can i work on this?

Awesome! I see you've also picked up the listitem variant, do you see possibilities to share code or is it easier to just let each command hand its own code?

That's great! Looking forward to the PR, though I assume you'll need to wait creating a new PR till the old is merged.

That's great! Looking forward to the PR, though I assume you'll need to wait creating a new PR till the old is merged.

That's true, this PR depends on the other PR spo listitem retentionlabel remove

authors: Adam-it martinlingstuyl nicodecleyre


text:
Extends "spo file copy" command with support for extra options. Closes #5340

Extends "spo file copy" command with support for extra options. Closes #5340

Thank you @nanddeepn, we'll try to review it ASAP!

Merged manually, thank you for this addition @nanddeepn!

authors: milanholemans nanddeepn


text:
Delete .gitignore

Thank you for submitting your change to the project, we really appreciate your help.
For us to be able to review and merge your changes as quickly as possible, please review our pull request process.
(DELETE THIS PARAGRAPH AFTER READING)

Pull Request Title
Please ensure that you have included a meaningful title describing your change.
For example...

Adds 'spo orgassetslibrary remove' command. Closes #1042
Extends 'spo site list' command with support for returning deleted sites. Closes #1335
Fixes 'spo listitem add' command. Closes #1297

(DELETE THIS SECTION AFTER READING)

Linked Issue
Please ensure that your change is related to an open issue, we will not accept changes without a related issue.
You should link your pull request to an open issue using the Closes keyword, referencing the issue using # and the issue id. This will ensure that the issue is automatically closed when your pull request is merged.
(DELETE THIS SECTION AFTER READING)

Closes #

One PR = One Commit
We prefer to review pull requests that contain a single commit as this makes it easier to keep the history clear for everyone and track what's changed.
If you are new to git, we'll squash your commits for you when merging your changes.
To squash your commits, use the interactive rebase method, git rebase -i HEAD~<commits>, squashing the commits into a single commit and changing your commit message to be the same as your pull request title.
(DELETE THIS SECTION AFTER READING)

New Command = Five Files
If your pull request contains the changes for a new command, it should contain five changed files.
For example, a pull request for adding 'teams tab add' command, would include...

src/m365/teams/commands.ts
src/m365/teams/commands/tab/teams-tab-add.ts
src/m365/teams/commands/tab/teams-tab-add.spec.ts
docs/src/config/sidebars.js
docs/docs/cmd/teams/tab/tab-add.mdx

(DELETE THIS SECTION AFTER READING)

Main Branch Only
You should only submit your changes to the main branch.
Pull requests submitted to other branches will be rejected.
(DELETE THIS SECTION AFTER READING)

Merge Conflicts
Merge conflicts occur when the branch you want to merge is out of date. To ensure this does not happen, you should ensure that your branch is up-to-date before submitting your pull request by executing the below git commands.
git checkout main
git pull upstream main
git push origin main
git checkout <your-branch>
git rebase main
git push origin <your-branch> -f
(DELETE THIS SECTION AFTER READING)

Hi @AlainGIGNAC is there a specific reason why you created this PR?

Hi @AlainGIGNAC is there a specific reason why you created this PR?

I vote for rejecting this one. There is no reason why we should remove this file

Bonjour,
A quoi sert git ignore ?  Il n'est jamais bon d'ignorer !
Cordialement.
Assisted by ReplyAI
https://replyai.ai/through?destination=https://workspace.google.com/marketplace/app/ai_email_generator/900926180191
Cordialement.
Alain GIGNAC
Monsieur, Particulier
@.***
https://www.facebook.com/
https://www.facebook.com/groups/1084007411663434
https://www.facebook.com/cloudHQ
https://www.linkedin.com/company/cloudhq
https://www.twitter.com/cloudHQ_net
Create your own email signature
https://chrome.google.com/webstore/detail/free-email-signature-gene/adabkammndnejioekmmdhgdnlfenpkci
Le lun. 19 août 2024 à 11:09, Adam Wójcik @.***> a
écrit :

Hi @AlainGIGNAC https://github.com/AlainGIGNAC is there a specific
reason why you created this PR?
I vote for rejecting this one. There is no reason why we should remove
this file
—
Reply to this email directly, view it on GitHub
https://github.com/pnp/cli-microsoft365/pull/6255#issuecomment-2296063188,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJ24KFFBINN3ACGLVYKQHJTZSGY4XAVCNFSM6AAAAABMWXEMAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJWGA3DGMJYHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Closing as this is something we won't accept

authors: Adam-it AlainGIGNAC milanholemans waldekmastykarz


text:
Questions about Release of new content

What is the context of your question?

[ ] Installation
[ ] Administration
[ ] Custom Content
[ x] M365 learning pathways web part

What is your question?

How will we know when new content from Microsoft is added to Learning Pathways. Can there be a notification?
When new content is added will it be "visible" by default or "hidden" by default. We don't want it to be visible before content admins in our company have had a chance to review.

Provide related screen-shots to help us understand your question

For question 1, I have a question back into the content team to find out how they intend to communicate updates, but you can see the detail they have here from the November update: https://docs.microsoft.com/en-us/office365/customlearning/custom_contentupdates
For question 2, any content updates will be visible by default because there is no facility for us to hide them by default given hiding and showing content is done at the tenant level. We can look at the feasibility for adding this ability at some point in the future but it is not currently on our backlog.

Hi @juliemturner  thanks for the above feedback but at this time we would prefer not to go with the custom content and prefer a simple approach of consuming the learning pathways content.
Also, I think we are due for the next quaterly updates after the Nov 2019 release right? When is it expected? Or did I miss it?

Hi @peterjkrebs  - looking forward to an update on this :)

The next quarterly content update for Learning Pathways is scheduled to be released in early April.

authors: juliemturner pb762 peterjkrebs


text:
[BUG] Add-PnPHubToHubAssociation silently fails if target is not registered as a hub site

Reporting an Issue or Missing Feature
Using the Add-PnPHubToHubAssociation command silently fails if the target specified is not registered as a hub site. Behaviour is the same as if both source and target are registered as hub sites and the connection succeeds.
Expected behavior
An error message if the target is not registered as a hub site.
Actual behavior
Command completes with no reported output, however as the target is not registered as a hub site, no connection is made.
Site is registered as a hub site, SiteB is not:

Steps to reproduce behavior

Create Communication site 'SiteA'.
Register SiteA as a hub site.
Create Communication site 'SiteB'
Use the following PnP PowerShell commands to attempt to associate the sites:
Connect-PnPOnline
Add-PnPHubToHubAssociation -SourceUrl https://tenant.sharepoint.com/sites/SiteA -TargetUrl https://tenant.sharepoint.com/sites/SiteB

What is the version of the Cmdlet module you are running?
1.8.0
Which operating system/environment are you running PnP PowerShell on?

[X] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

@Andy-Dawson, for your awareness, @gautamdsheth is working on a fix for this. Should be out in the next few days!

authors: Andy-Dawson KoenZomers

repo: pnp/powershell


text:
Unable to set context from connection obtained with certificate.

Reporting an Issue or Missing Feature
Unable to set context from connection obtained with certificate.
Expected behavior
Context successfully set
Actual behavior

Steps to reproduce behavior
Get a $connection with a cert then
Set-PnPContext -Connection $connection -Context $connection.Context Get-PnPContext
What is the version of the Cmdlet module you are running?
2.2.30
Which operating system/environment are you running PnP PowerShell on?

[x] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[x] Azure Functions
[ ] Other : please specify

Doesn't work with interactive authentication either

closing as duplicate of https://github.com/pnp/powershell/issues/2150

authors: gautamdsheth svermaak


text:
Live persona card

Q
A

Bug fix?
[ ]

New feature?
[ ]

New sample?
[ ]

Related issues?
Replaces PR #352, fixes #259

What's in this Pull Request?

Second attempt at submitting this. I included the wrong files in the previous one

Creates a wrapper around any HTML element that will present an Office 365 live persona card when users mouse over.
If you omit HTML elements, it will automatically render a default PersonaCard for the specified user.
This is the first version to resolve #259. I would like to look for opportunities to integrate with the FieldUserRenderer control and avoid duplicated code.

Codecov Report

Merging #353 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #353   +/-   ##
=======================================
  Coverage   72.88%   72.88%
=======================================
  Files          17       17
  Lines         767      767
  Branches      149      149
=======================================
  Hits          559      559
  Misses        161      161
  Partials       47       47

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0fb2e99...1659569. Read the comment docs.

The LPC is currently a first party component within Microsoft. We are aware of this approach taken to piggy-back on the person web part, which is not officially supported.
We will let this PR stay for now until we can verify if we can support this approach somehow. At least in a semi-official way, as we do understand the usecase for this 100%.

Thanks @wobba, completely understand. Is there anything the community can do to help with this? E.g.: uservoice, etc.?

I'm tasked with evaluating pro/cons, why etc. Could take a little time, as there are multiple angels to cover. If I take too long reporting progress, remind me. Having a user voice for this is smart (if there isn't one).

I added a uservoice entry for this, please vote if this is something that would be useful to you.
https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/38451154-provide-support-for-livepersonacard-in-3rd-party-s

@hugoabernier would you be willing to add lpc via https://docs.microsoft.com/nb-no/graph/toolkit/overview#using-the-components-with-react-angular-and-other-frameworks ?

I'm open to it.
The idea of the LPC was to make it easy to add a persona card without having to add any additional code to authorize or retrieve the user info.
If the LPC as implemented in my PR will cause support issues, then using the Person-Card is the next best thing, and that's what we should do.
But I wonder if it would add little value (or no value at all) and would be better for people to just use https://docs.microsoft.com/en-us/graph/toolkit/components/person-card rather than introducing another LPC control for the sake of it.
I always assumed that the vision of SPFx is that 3rd-party developers will be able to build the same/similar applications as 1st-party developers, and that the sp-dev-fx-controls-react library aimed to bridge the gaps between what SPFx offers out-of-the-box and what developers needs to be standard 1st-party-like web parts.
The persona card (in whatever implementation) aims to make it easy for developers to provide the same "people-centric" user experience that 1st-party SharePoint web parts provide. Users know that in 1st-party web parts, when you mouse over a person's name, you get their information.  We should strive to offer a component that makes it easy for 3rd party developers to offer the same experience.
I'd like to see what other contributors/the community think?
This isn't about what I need, it's about what the greater community needs. Whatever the decision, I'll gladly oblige. I'm trying to be helpful, not cause trouble :-)

I'm ok with reusing Graph Toolkit.
But.
I think if we implement LPC, it shouldn't be hover-over only control...
I would like to render "see more" part of the OOTB component for example in a panel. Kinda "detailed" persona card :)
I mean this one:

I'll check the toolkit implementation and see what makes the most sense (just discovered it today), so might still make sense for an SPFX version. API wise more and more is coming via the Graph for 3rd party, and reusing the people webpart LPC can in theory break as well.
If the Graph LPC is different, then that's not good imo.

@wobba @hugoabernier Long time no see :) I'm again in a project where I basically have the requirement to add the same persona card as the users see in SharePoint. We need the solution proposed by @hugoabernier and might go for it this time (if it still runs - if not then not).
I understand that making this internal component accessible for developers might slow down the development of this component throughout SharePoint. But alas. Just wanted to add our requirements as a data point to the discussion.

@heinrich-ulbricht thank you, and I'm still working on this. Things are changing in the back end as well, so the "hack" may stop working at some point. There are some technical challenges and hoops to go thru as well, and the issue is not forgotten.
I'll close this one now, as the implementation in the PR will not be the one we would support going forwards if/when we resolve this.

@wobba Any updates regarding this topic? It's again 5 month later.
Graph Toolkit (and pure SPFX) is not an option for us because we want to have the Persona Cards on SharePoint modern and SharePoint Classic pages (e.g. in Classic Search Result Templates).
If nothing is available yet. We would give @hugoabernier control a try by rebuilding it in our solution and otherwise if this does not work use Fabric UI's Persona card as a fallback.

Hi, I got a followup last week actually and forgot to share. Due to the way the LPC is made as a component there won't be any official support for at least the next 6 months. Not the best of news unfortunately.

Even though it's bad news thanks for the feedback!

IMO, no solution is NOT better than a temporary solution. As it turns out, I need tois today, so I'm stuck in the middle.

@sympmarc need and want are two different things :) I feel your pain, so I would possibly go with the "hacky" solution at the expense of it might stop working as things most likely will change, but I'm not sure when.

I would like the option to be built into Peole Finder to disable the mobile number. There are users who do not want their private number to be visible to everyone. The mobile number is used by PointSharp, among others, an app that sends an SMS when you need to go to a certain site that requires verification. According to the General Data Protection Regulation, privacy is violated if the mobile number is visible without permission.

@wictorwilen for awareness of the last comment.

@wictorwilen  we would like to include this Live Persona Card in our product, when will a supported API be available for displaying this?

authors: AJIXuMuK FvantHoff MrTantum alicelupsan codecov-io heinrich-ulbricht hugoabernier sympmarc wobba

repo: pnp/sp-dev-fx-controls-react


text:
React-site-information: Upgraded to SPFx 1.16.1

Category

[ ] Bug Fix
[x] New Feature
Related issues: fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
Upgraded solution to SPFx 1.16.1.

merged to v3. Thanks for the submission.

authors: chandaniprajapati eoverfield

repo: pnp/sp-starter-kit


text:
Table: O p-infinite-scroll somente funciona até um determinado valor no p-height.

Reprodução
Utilize StackBlitz (https://stackblitz.com/edit/po-ui-rrdsan?file=src/app/app.component.html) para reproduzir o bug relatado na issue.
Passos para reproduzir:

Use sempre a opção "Open in New Window" ou faça direto no Vscode.
Eu fiz a primeira simulação em um monitor de 14'' de um notebook.
Na a propriedade p-height até o valor 320 funciona o p-infinite-scroll.
Na a propriedade p-height  com valor acima de 320 não funciona o p-infinite-scroll, aparece o "Carregar mais resultados".
Eu fiz a segunda simulação em um monitor de 24''.
Na a propriedade p-height até o valor 440 funciona o p-infinite-scroll.
Na a propriedade p-height  com valor acima de 440 não funciona o p-infinite-scroll, aparece o "Carregar mais resultados".
Se o teste for feito em um equipamento de dois monitores, faça a atualização da pagina no navegador.

Qual o comportamento atual?
A propriedade p-height parece funcionar até uma valor limite de 320 para monitor de 14'' e 440 para monitor de 24'', para que o  p-infinite-scroll funcione.
Que comportamento você esperava ver?
Que o  p-infinite-scroll funcione independente do valor do p-height, já que a documentação não menciona limites.
Ambiente

PO UI: V6.5.1
Angular: V13.0.2
Browser(s):

[x] Chrome
[ ] Firefox
[ ] Edge
[ ] Safari
[ ] IE 11
[ ] Outros

Operating System:

[x] Windows
[ ] macOS
[ ] Ubuntu
[ ] Outros

+1

Boa tarde,
Não fiz nada não.
Atenciosamente,

O erro nas versão mais novas não ocorre.
Após uma análise mais detalhada e considerando as recentes mudanças na nossa estratégia, decidimos encerrar esta issue. Agradecemos a todos que contribuíram com suas análises e sugestões.
Caso seja necessário, uma nova ISSUE será aberta conforme a evolução das nossas necessidades.
Agradecemos pela compreensão.

authors: renanarosario visued wsteixeira

repo: po-ui/po-angular


text:
Stop using C++20 modules

Use a better project structure.

Related to:

https://github.com/poac-dev/poac/issues/781#issuecomment-1699572982
https://github.com/poac-dev/poac/pull/787#issuecomment-1699573620
https://github.com/poac-dev/poac/pull/782#issuecomment-1699573444

Why was that decision taken?

I honestly agree with this decision, because currently compilers doesn't provide good support to C++20 modules. That is not production-quality but experimental for now. At least I have failed to set up the development environment.

Yes, there is a lack of basic support for C++20 modules. Clang has already implemented P1689R5. However, GCC has not yet merged the patch series. This decision will not affect the support plan that Poac builds a project that use modules. Just for Poac itself, C++20 modules will not be used.

repo: poac-dev/poac


text:
Use Ansible-lint

I am working on PR that will update playbooks to pass Ansible-lint. Linter checks the code against set of rules and generates errors in case of their violation.
I would suggest running linter as a pre-commit hook so each commit is validated.
Also run ansible-playbook --syntax-check to verify syntax and show deprecation warnings.

This would be a great PR

repo: poanetwork/deployment-playbooks


text:
Feature Request: Real-time subscription 'before'

I would like to propose the inclusion of "before": {<data>} in the real-time subscription to "action": "update".
This idea draws inspiration from discord's API, specifically the discord.on_user_update(before, after) event. Although it may not be widely utilized, it has the potential to be valuable in certain scenarios. To maintain backward compatibility, retain the existing "record": {<data>} structure and adding "before": {<data>} to the event data.
If implementing this change proves to be excessive, please do not feel pressured.

It can be implemented without too much changes but I'm not sure how useful that would be because usually when you track updates client-side you already have the old/before record state somewhere (eg. fetched from a getList/getOne call) and we may end up sending too much unnecessary information which could further increase the messages latency.
Do you have a real use case for it? How do you plan to use it?

Message latency is a concern, which could be solved by:
pb.collection('---').subscribe('*', function (e) {
    console.log(e.record);
}, true);

true representing include_before_data. While this would add another check to the pb backend, it would reduce payload when sending an event if the extra information is not wanted. include_before_data defaulting to false, obviously.
My case for it is outside client side usage, being used in the backend. For instance, when the email successfully changes, you could check if e.before.email !=== e.record.email and log the change, or send an email to the e.before.email saying their email successfully changed. Sure, this can be done client side too, but it is an example of possible usage.
Another usage would be hiding sensitive data, such as SMTP login or admin login, in the event the client app was cracked. By having the ability to know previous data, I can track changes in the database as well as I could client-side, while protecting the information that matters the most.

I don't think the suggested flag proposal is good idea because it will work only with the update action and it doesn't make much sense to have it for every other subscribe action and topic.
I could understand the first example when you have another middleware service involved, but I don't understand the other one with _"hiding sensitive data, such as SMTP login or admin login".
In general, if you need more control over the realtime events you can attach to the Go app hooks (soon there will be an option to attach to the app hooks with JS too). The realtime APIs relies on the OnModel* hooks.
I'll close the issue for now as I think the cons outweigh the pros, but depending on the users demand and the eventual blocker use cases that could arise, I may reconsider it in the future.

Okay! Thank you for your consideration, it's much appreciated.

repo: pocketbase/pocketbase


text:
[Feature Request] Private registration for users

Now the system doesn't have any options to close the public registration, if disable email/password auth will disable the login entirely, so please add an option to allow user only can registered by admin

This is already implemented as part of the refactoring in #376. It will be available soon with v0.8.0.

authors: eslym ganigeorgiev


text:
Remove subscriptions from CurrentValueRelay when cancelled

CurrentValueRelay does not remove cancelled subscriptions. Previously this was not an issue, it was only used by ViewStore and had a short lifetime. It is now used by RootStore allowing the subscriptions to grow indefinitely.
This PR adds logic to remove subscriptions when they are cancelled.
I'm unsure if we did this intentionally for performance or if it was an oversight. I remember we specifically didn't include locking because we could reasonably assume interactions happened on the main thread. I have a feeling this assumption is no longer true which is why I've included locking around adding and removing subscriptions.
The subscription also now holds a strong reference to the CurrentValueRelay. This appears to be the same behaviour as CurrentValueSubject.
The tests are somewhat indirect, however, I opted not to use @_spi(Internals) to keep things simple.

@mbrandonw @stephencelis any chance you could kick off CI for this one?
This branch has some benchmarks for comparing the new implementation with the old one as well as CurrentValueSubject.
I've included some results below and used diff to make it a bit easier to distinguish between the old and new implementation. Red == Old and Green == New eg:
 name                      (subscribers) time              std        iterations
 -------------------------------------------------------------------------------
 CurrentValueSubject.subscribe    (1000)    4075917.000 ns ±   1.40 %        343
+CurrentValueRelay.subscribe      (1000)     443083.000 ns ±   1.68 %       3173
-CurrentValueRelayOld.subscribe   (1000)    1217375.000 ns ±   1.83 %       1142

Let me know if you want any benchmarks included in this PR.

Benchmark Results
Adding subscribers
 name                      (subscribers) time              std        iterations
 -------------------------------------------------------------------------------
 CurrentValueSubject.subscribe       (1)        667.000 ns ±  20.18 %    1000000
+CurrentValueRelay.subscribe         (1)        583.000 ns ±  21.47 %    1000000
-CurrentValueRelayOld.subscribe      (1)       1375.000 ns ±  11.04 %    1000000
 CurrentValueSubject.subscribe      (10)       9000.000 ns ±   5.49 %     155337
+CurrentValueRelay.subscribe        (10)       5125.000 ns ±   7.64 %     271308
-CurrentValueRelayOld.subscribe     (10)      12833.000 ns ±   4.52 %     107162
 CurrentValueSubject.subscribe     (100)     115625.000 ns ±   2.62 %      11990
+CurrentValueRelay.subscribe       (100)      45042.000 ns ±   2.95 %      30879
-CurrentValueRelayOld.subscribe    (100)     121750.000 ns ±   2.21 %      11436
 CurrentValueSubject.subscribe    (1000)    4075917.000 ns ±   1.40 %        343
+CurrentValueRelay.subscribe      (1000)     443083.000 ns ±   1.68 %       3173
-CurrentValueRelayOld.subscribe   (1000)    1217375.000 ns ±   1.83 %       1142

Removing subscribers
 name                      (subscribers) time              std        iterations
 -------------------------------------------------------------------------------
 CurrentValueSubject.cancel          (1)        708.000 ns ±  21.75 %    1000000
+CurrentValueRelay.cancel            (1)        750.000 ns ±  37.44 %    1000000
-CurrentValueRelayOld.cancel         (1)        791.000 ns ±  16.69 %    1000000
 CurrentValueSubject.cancel         (10)       9416.000 ns ±   6.71 %     148132
+CurrentValueRelay.cancel           (10)       7250.000 ns ±   7.56 %     191997
-CurrentValueRelayOld.cancel        (10)       7208.000 ns ±   6.76 %     195131
 CurrentValueSubject.cancel        (100)     122959.000 ns ±   1.93 %      11280
+CurrentValueRelay.cancel          (100)      70500.000 ns ±   2.63 %      19770
-CurrentValueRelayOld.cancel       (100)      69417.000 ns ±   2.95 %      20100
 CurrentValueSubject.cancel       (1000)    4186750.000 ns ±   1.16 %        333
+CurrentValueRelay.cancel         (1000)     757916.000 ns ±   1.52 %       1826
-CurrentValueRelayOld.cancel      (1000)     712333.000 ns ±   8.65 %       1967

Sending to subscribers
 name                      (subscribers) time              std        iterations
 -------------------------------------------------------------------------------
 CurrentValueSubject.send × 1        (1)        167.000 ns ±  28.42 %    1000000
+CurrentValueRelay.send × 1          (1)        167.000 ns ±  42.38 %    1000000
-CurrentValueRelayOld.send × 1       (1)        291.000 ns ±  26.13 %    1000000
 CurrentValueSubject.send × 10       (1)       1333.000 ns ±   9.51 %    1000000
+CurrentValueRelay.send × 10         (1)       1333.000 ns ±  10.44 %    1000000
-CurrentValueRelayOld.send × 10      (1)       2292.000 ns ±   9.58 %     601341
 CurrentValueSubject.send × 100      (1)      11583.000 ns ±   4.84 %     122239
+CurrentValueRelay.send × 100        (1)      11417.000 ns ±   5.10 %     122059
-CurrentValueRelayOld.send × 100     (1)      21084.000 ns ±   3.29 %      65950
 CurrentValueSubject.send × 1000     (1)     109834.000 ns ±   3.37 %      12704
+CurrentValueRelay.send × 1000       (1)     109833.000 ns ±   2.14 %      12676
-CurrentValueRelayOld.send × 1000    (1)     206417.000 ns ±   2.39 %       6672
 CurrentValueSubject.send × 1       (10)       1167.000 ns ±  14.53 %    1000000
+CurrentValueRelay.send × 1         (10)        917.000 ns ±  17.16 %    1000000
-CurrentValueRelayOld.send × 1      (10)       1625.000 ns ±  13.78 %     855844
 CurrentValueSubject.send × 10      (10)       9958.000 ns ±   6.47 %     140486
+CurrentValueRelay.send × 10        (10)       7542.000 ns ±   4.75 %     185173
-CurrentValueRelayOld.send × 10     (10)      14000.000 ns ±   3.46 %      99597
 CurrentValueSubject.send × 100     (10)      94083.000 ns ±   2.05 %      14787
+CurrentValueRelay.send × 100       (10)      71208.000 ns ±   2.43 %      19518
-CurrentValueRelayOld.send × 100    (10)     135500.000 ns ±   1.62 %      10283
 CurrentValueSubject.send × 1000    (10)     949958.000 ns ±   1.47 %       1490
+CurrentValueRelay.send × 1000      (10)     707666.000 ns ±   1.06 %       1974
-CurrentValueRelayOld.send × 1000   (10)    1354458.000 ns ±   1.16 %       1031
 CurrentValueSubject.send × 1      (100)       8625.000 ns ±   6.86 %     161405
+CurrentValueRelay.send × 1        (100)       7084.000 ns ±   6.64 %     196241
-CurrentValueRelayOld.send × 1     (100)      13209.000 ns ±   6.32 %     101701
 CurrentValueSubject.send × 10     (100)      81750.000 ns ±   2.61 %      16869
+CurrentValueRelay.send × 10       (100)      66875.000 ns ±   2.33 %      20838
-CurrentValueRelayOld.send × 10    (100)     127667.000 ns ±   1.96 %      10916
 CurrentValueSubject.send × 100    (100)     812375.000 ns ±   1.28 %       1716
+CurrentValueRelay.send × 100      (100)     664250.000 ns ±   1.68 %       2098
-CurrentValueRelayOld.send × 100   (100)    1272083.000 ns ±   1.39 %       1098
 CurrentValueSubject.send × 1000   (100)    8149333.500 ns ±   1.07 %        170
+CurrentValueRelay.send × 1000     (100)    6658312.500 ns ±   0.93 %        208
-CurrentValueRelayOld.send × 1000  (100)   12847583.500 ns ±   0.80 %        108
 CurrentValueSubject.send × 1     (1000)      82083.000 ns ±   8.07 %      17030
+CurrentValueRelay.send × 1       (1000)      66666.000 ns ±   2.58 %      20907
-CurrentValueRelayOld.send × 1    (1000)     130291.000 ns ±   2.73 %      10617
 CurrentValueSubject.send × 10    (1000)     813416.000 ns ±   1.45 %       1725
+CurrentValueRelay.send × 10      (1000)     660583.000 ns ±   1.28 %       2111
-CurrentValueRelayOld.send × 10   (1000)    1291417.000 ns ±   0.89 %       1083
 CurrentValueSubject.send × 100   (1000)    8068458.000 ns ±   1.23 %        173
+CurrentValueRelay.send × 100     (1000)    6590250.000 ns ±   0.55 %        209
-CurrentValueRelayOld.send × 100  (1000)   12942270.500 ns ±   0.54 %        108
 CurrentValueSubject.send × 1000  (1000)   81221209.000 ns ±   1.31 %         17
+CurrentValueRelay.send × 1000    (1000)   66941417.000 ns ±   0.23 %         21
-CurrentValueRelayOld.send × 1000 (1000)  129341166.000 ns ±   0.68 %         11


text:
Update CI tooling and workflows

Fix #2

Refactor Code Comments and Update Configurations
To ensure readability and maintainability, various code comments have been redefined for improved understanding and clarity. Configurations in ".prettierrc" and ".eslintrc.js" have been updated to better align with coding standards. A minor modification has been made to "scripts/build.sh" to enhance the clarity of a logging message.

Update .env File Handling and Introduce Docker Environment Settings
To handle different development environments, separate .env files (.env.development, .env.test, .env.production) have been introduced. Docker commands are now set to run in the environment specified by these .env files. Docker-compose and Dockerfiles, along with script files, have been updated accordingly. Also, codegen scripts for ESLint and Prettier have been improved.

Revamp CI Tooling and Workflows
In this updated version, Prettier and ESLint have been introduced for an enhanced development workflow. New GitHub workflows that enable running processes locally as well as with Docker, and cleaning up the cache after a PR merge, have been incorporated. The test baseline has been initialized for future test implementations. Outdated GitHub workflows have been removed.
With these updates, significant improvements are expected in various aspects of the development process, ranging from CI/CD workflows and environment configuration, to comment clarity and coding configuration.

Type of change
Select one or more:

[x] New feature, functionality or library
[ ] Bug fix
[x] Code health or cleanup
[x] Documentation
[x] Other (CI)

Sanity Checklist

[x] I have tested my changes using the available tooling
[x] I have commented my code
[x] I have performed a self-review of my own code; both comments & source code
[ ] I create and reference any new tickets, if applicable
[x] I have left TODOs throughout the codebase, if applicable

Please @okdas and @bryanchriswhite take a look at it again because following most of the conversations with @bryanchriswhite I fully reworked all the devex.
Also as @okdas mentioned in a comment, we should take a single path for the CI instead of both (host & docker). Right now, they are both here to demonstrate that we can test in any way with the CI.

Is there a reason we can't use a single docker-compose.yml?

Is there a reason we can't use a single docker-compose.yml?

every environment uses its image:

Production uses node.dockerfile and shares the services with dev
Development use dev-node.dockerfile and share services with prod
Test share image with dev but do not need all the services.

So to avoid commit .env. files which is an ugly practice, exists just a .env.sample so to avoid multiple docker-compose.yml files we need to run more under the hood scripts to prefill on every .env. the proper dockerfile they will be using.

this fix this one

Going to merge this in and we'll fix things along the way as they come up.

authors: Olshansk bryanchriswhite jorgecuesta

repo: pokt-network/pocketdex


text:
ImportError: No module named 'niworkflows'

I installed fmriprep  (wrapper 0.5.4) in a conda environment with pip, and run fmriprep on a dataset:
source activate fmri
pip install fmriprep-docker
fmriprep-docker --nthreads 10 --output-space fsnative --use-aroma --work-dir /tmp_data --write-graph /raw_data /preproc participant

While the pipeline is still running, I noticed two crash files per subject for all subjects:  /preproc/fmriprep/sub-controlXX/log/*/crash-*-root-calc_epi_mean-*.pklz and /preproc/fmriprep/sub-controlXX/log/*/crash-*-root-calc_median_val-*.pklz.
Using nipype_display_crash revealed that in all cases this was due to:
ImportError: No module named 'niworkflows'
I am not sure what would be the impact of these crashes on the whole preprocessing pipeline (which is still running), and what to do to correct for this error (if necessary).
PS: I have nipype installed in the same conda environment as fmriprep

FMRIPREP uses a copy of nipype that's bundled in niworkflows. (See #541, poldracklab/niworkflows#174, poldracklab/niworkflows#183 for justification and discussion.) The short story is: We need new nipype features on a faster time scale than nipype releases, and this strategy avoids breaking the environments of users who install fmriprep locally instead of through Docker. It has the side effect of making niworkflows and nipype interfaces mutually incompatible; you have to use niworkflows.nipype if you use niworkflows.
As a rule, nipype crash files are not portable, so you would be unlikely to be able to use nipype_display_crash on crash files created in a Docker container, even if we weren't bundling an incompatible version of nipype. The release coming out later today should be moving to generating text files, but for debugging, you can use the --config option, and pass a nipype configuration file that includes crashfile_format = 'txt'. It may also be useful to use stop_on_first_crash = true.

Thanks @effigies. I may have misunderstood but I do not think the first part of your answer apply to my case. I used an extremely straightforward process:

I install fmriprep through Docker (in my conda environment with pip install fmriprep-docker)
I run a fmriprer-docker command on raw data (as described in my previous post)

So how is it that crash files are generated? I understand I shouldn't use nipype_display_crash as it is from a different version of nipype but still, it means crashes occurred for all my subjects in a vanilla installation of fmriprep, so I would think that something is wrong.
Further, I am not sure what you mean by:

It has the side effect of making niworkflows and nipype interfaces mutually incompatible; you have to use niworkflows.nipype if you use niworkflows.

Do you mean that if I were to use FMRIPREP and nipype together in custom code, I would need to ignore my local nipype package by only using the FMRIPREP-embed nipype modules by importing them exclusively through niworkflows.nipype?

Maybe you were simply telling me that you can't comment on this issue as the error I reported was obtained from nipype_display_crash? And that I should only report issues from txt crash files generated by an fmriprep pipeline running with the appropriate nipype crashfile_format?

Yes, there's not enough to go on here to assess the underlying problem. Using an updated configuration file may help you get the debug information you were looking for, which we may then be able to help you with.
You're welcome to report issues at whatever level of information you have. We'll do our best to help you come up with the information you need to get useful feedback from us. If you have tracebacks (which will show up in the reports, as well as in the terminal output, after the workflow has completed as much as it can) it may be obvious what's going wrong.

To address your first comment:
The first part was merely explaining why you're seeing complaints about niworkflows when trying to run nipype_display_crash. Sorry, if that was extraneous.

So how is it that crash files are generated?

Failures in the pipeline can produce crash files. Unfortunately, bugs crop up.

I understand I shouldn't use nipype_display_crash as it is from a different version of nipype but still, it means crashes occurred for all my subjects in a vanilla installation of fmriprep, so I would think that something is wrong.

Agreed. It's hard to say more without knowing more about your data and the specific failures.

Do you mean that if I were to use FMRIPREP and nipype together in custom code (this is not my case, as I only run a fmriprer-docker command), I would need to ignore my local nipype package by only using the FMRIPREP-embed nipype modules by importing them exclusively through niworkflows.nipype?

Yes. However, our goal is to move as much of the useful functionality (that isn't just to make fmriprep run) into nipype. While this is motivated more by the view that we should be good members of the nipype community, it should also avoid putting users in a position where they're forced to do that. We see fmriprep as an application, not a library, and niworkflows as a place to contain common application code for MRIQC and fmriprep, as well as stage interfaces and workflows that we want to move into nipype.

Hopefully some of this was helpful.

Excellent, thanks a lot for that @effigies.
Since the pipeline has been running for some time, I may just wait for it to finish and rerun it with the option you suggested. Hopefully FMRIPREP will just start from where it stopped last (as NiPype is able to).
I totally understand about catching up with NiPype, and I was faced with the same problem. I ended up developing a parallel version and submitting PRs at the same time for the functionalities in "base NiPype" to match the ones of my own project. Luckily the NiPype developers were amazingly fast to integrate everything but that was also because my PRs were pretty simple...
Thanks again for all the help, that was very useful. If i can't debug myself what these crashes are all about (from the proper txt files), I will create a separate issue.

Just so you know, if you didn't put a pre-computed FreeSurfer subject directory in the output folder (see Surface preprocessing), it will be running recon-all for several hours.
From the names of your crash files, it looks like the failure was in the functional pipeline. If you want to get a jump on it while FreeSurfer is running, you could make new output and scratch directories, and run with --no-freesurfer --output-space T1w.

Fantastic tip, many thanks for this!

Oh, I see the issue. You're using --use-aroma and --output-space fsnative. You need to add "template" to the output-space list, because AROMA requires its inputs in MNI template space.
This should have produced an error and told you the problem. I'll check the logic and make sure it does this for the next release. Please leave the issue open, and I'll close it when it's fixed.

Thanks a lot. So the argument to output-space can be a list? Simply indicating --output-space fsnative,template should work then?

Use spaces rather than commas, but yes.
-------- Original message --------
From: Michael notifications@github.com
Date: 7/31/17 12:55 (GMT-05:00)
To: poldracklab/fmriprep fmriprep@noreply.github.com
Cc: Christopher Markiewicz markiewicz@stanford.edu, Mention mention@noreply.github.com
Subject: Re: [poldracklab/fmriprep] ImportError: No module named 'niworkflows' (#625)
Thanks a lot. So the argument to output-space can be a list? Simply indicating --output-space fsnative,template should work then?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/poldracklab/fmriprep/issues/625#issuecomment-319130680, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAFF8n310o7VU-UQku9Zut3rL81-JQ0mks5sTgb1gaJpZM4OoT8u.

Ok will do (with also --template MNI152NLin2009cAsym from what I understand) and get back to you. Thank you!

You don't need to specify --template, as that's the default. (At present, there are no alternatives, but we put in that option preemptively, because we've had at least one user interested in alternative templates.)

A belated confirmation that your suggestions indeed solved the issue. Thanks again.

authors: effigies mick-d

repo: poldracklab/fmriprep


text:
enh: add download for fs-32k mesh/gii files

includes:

L/R.sphere.32k_fs_LR.surf.gii
resample_fsaverage

fsaverage5 LR sphere + midthickness
fsaverage6 LR sphere + midthickness
fs_32k LR sphere + midthickness

Do they also have the inflated surfaces? Those would be useful for plotting, so while we're going through the trouble of adding this seems like a good time to include them.

those are not included in http://brainvis.wustl.edu/workbench/standard_mesh_atlases.zip
we could use the conte69 32k meshes for plotting, seeing as that what we have done in the past

Sure. I could go either way on including them in the same archive or a separate one. Probably cleaner to do two, but if you're almost always going to want them together, might be slightly simpler to do one.

I think having them split won't hurt and will make maintenance easier.

Hey @mgxd, do you think it would be very cumbersome to normalize names in a BIDS-like fashion?
I have done this for two templates so far and they look like:
tpl-MNI152NLin2009cAsym
├── CHANGES
├── template_description.json
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_brainmask.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_class-CSF_probtissue.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_class-GM_probtissue.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_class-WM_probtissue.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_label-carpet_atlas.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_label-eyemask_roi.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_label-facemask_roi.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_label-headmask_roi.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_PD.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_T1w_brain.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_T1w.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-01_T2w.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_brainmask.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_class-CSF_probtissue.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_class-GM_probtissue.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_class-WM_probtissue.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_label-carpet_atlas.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_label-eyemask_roi.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_label-facemask_roi.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_label-headmask_roi.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_PD.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_T1w_brain.nii.gz
├── tpl-MNI152NLin2009cAsym_space-MNI_res-02_T1w.nii.gz
└── tpl-MNI152NLin2009cAsym_space-MNI_res-02_T2w.nii.gz
tpl-OASIS30ANTs
├── CHANGES
├── template_description.json
├── tpl-OASIS30ANTs_res-01_brainmask.nii.gz
├── tpl-OASIS30ANTs_res-01_class-brainmask_probtissue.nii.gz
├── tpl-OASIS30ANTs_res-01_class-bstem_probtissue.nii.gz
├── tpl-OASIS30ANTs_res-01_class-Cerebellum_probtissue.nii.gz
├── tpl-OASIS30ANTs_res-01_class-CGM_probtissue.nii.gz
├── tpl-OASIS30ANTs_res-01_class-CSF_probtissue.nii.gz
├── tpl-OASIS30ANTs_res-01_class-DGM_probtissue.nii.gz
├── tpl-OASIS30ANTs_res-01_class-WM_probtissue.nii.gz
├── tpl-OASIS30ANTs_res-01_label-BrainCerebellumExtraction_roi.nii.gz
├── tpl-OASIS30ANTs_res-01_label-BrainCerebellumRegistration_roi.nii.gz
├── tpl-OASIS30ANTs_res-01_T1w_brain.nii.gz
├── tpl-OASIS30ANTs_res-01_T1w.nii.gz
├── tpl-OASIS30ANTs_res-01_variant-4_dtissue.nii.gz
└── tpl-OASIS30ANTs_res-01_variant-6_dtissue.nii.gz

this should be easy enough for the conte69 template (tpl-Conte69), but the hcp32k upload contains 3 types of files (fsavg5, fsavg6, fs_LR) - how would you recommend formatting this?

Using variant-. WDYT @chrisfilo?
On Wed, May 30, 2018, 07:49 Mathias Goncalves notifications@github.com
wrote:

this should be easy enough for the conte69 template (tpl-Conte69), but
the hcp32k upload contains 3 types of files (fsavg5, fsavg6, fs_LR) - how
would you recommend formatting this?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/niworkflows/pull/243#issuecomment-393191925,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkhxqB9liTxyPtBro82FkO-FOv_b8dVks5t3rGQgaJpZM4ULFm7
.

What about space? We treat fsaverage and fsaverage5 as spaces in fmriprep.

space seems a better fit

Actually: https://mail.nmr.mgh.harvard.edu/pipermail/freesurfer/2012-May/024088.html

We've been using space specifically to refer to the mesh in the case of surfaces, e.g., fsnative, fsaverage, etc.
Is there any advantage to specifying MNI305 and then adding another indicator of the mesh?

I think the explicit better than implicit applies here. Also, this particular use of space- is inconsistent with the use for volumes.
Finally (and we are considering stuff like this), let's imagine we have very precise transforms calculated between MNI152NlinAsym2009c-OASIS30ANTs-MNI305. It would be then fairly easy to move volume data and points between spaces. Having very present the space helps understand transforms quickly and preempts problems when writing workflows.

I think for so substantial a change to the draft spec, it might be good to open discussion either on the spec or in the mailing list.

As I mentioned on the mailing list the naming convention for storing templates in this particular repository might be outside of the scope of BIDS Derivatives. Thus it might be easier to agree on one convention for the purpose of workflows and stick to it.

I agree with both: regarding niworkflows/fmriprep/etc we would move forward faster if we assume that this templates organization falls outside BIDS. However, I also agree with CM on that we should nonetheless bring this discussion to BIDS Derivatives (whether fsaverage, fsaverage5 are legit spaces or we should use the appropriate -mni305- space key and encode sampling density with a different key).
So let's settle a directive for niworkflows and the templates repo independently of the future of BIDS Derivatives.
FMRIPREP should not update the outputs though, until some decision is made in BIDS Derivatives realm.

So, still space- only or this would be something like space-MNI305_variant-fsaverage? I would vote for the latter.
Does splitting (templates repo vs. BIDS) sound satisfactory for all?

Ah, I misunderstood the scope of what was being proposed. I thought we were suggesting changing how space worked for surfaces throughout the derivatives.

So, still space- only or this would be something like space-MNI305_variant-fsaverage? I would vote for the latter.

I don't have a strong opinion, here. Especially if we're not going for standards compliant.

Does splitting (templates repo vs. BIDS) sound satisfactory for all?

I don't understand this question.

I don't understand this question.

Whether not going for standards compliance in this context works for you.

Ah, yeah. That's fine. It sounds like from the linked discussion that there's no existing standard to apply, so any old thing is fine with me. It may be we'll want to change in the future, but that's true for any decision made here.

What's the status on this one? @mgxd is there a clear path ahead, or do we need to resolve anything?

@effigies looks clear - just uploaded tpl-hcpLR32k with the following
CHANGES
template_description.json
tpl-hcpLR32k_space-fsaverage5_midthickness.L.shape.gii
tpl-hcpLR32k_space-fsaverage5_midthickness.R.shape.gii
tpl-hcpLR32k_space-fsaverage5_sphere.L.surf.gii
tpl-hcpLR32k_space-fsaverage5_sphere.R.surf.gii
tpl-hcpLR32k_space-fsaverage6_midthickness.L.shape.gii
tpl-hcpLR32k_space-fsaverage6_midthickness.R.shape.gii
tpl-hcpLR32k_space-fsaverage6_sphere.L.surf.gii
tpl-hcpLR32k_space-fsaverage6_sphere.R.surf.gii
tpl-hcpLR32k_space-fsLR_deformed.L.surf.gii
tpl-hcpLR32k_space-fsLR_deformed.R.surf.gii
tpl-hcpLR32k_space-fsLR_midthickness.L.shape.gii
tpl-hcpLR32k_space-fsLR_midthickness.R.shape.gii
tpl-hcpLR32k_space-fsLR_sphere.L.surf.gii
tpl-hcpLR32k_space-fsLR_sphere.R.surf.gii

does this look satisfactory?

Going by https://github.com/poldracklab/niworkflows/pull/243#issuecomment-393346878, I think you'll need to do rename "s/space-/space-MNI305_variant-/" *.gii. @oesteban was that what we agreed on?

Yep, I would prefer to be a bit too orthodox here, and do @effigies' suggested rename.

Thanks @oesteban. @mgxd if you have a few minutes to polish this one off, today, I'd appreciate it. If you're not going to have time, let me know.

ok, before I change any code, any final comments on the templates?
tpl-conte69LR32k
CHANGES
template_description.json
tpl-conte69LR32k_space-MNI305_variant-inflated.L.surf.gii
tpl-conte69LR32k_space-MNI305_variant-inflated.R.surf.gii
tpl-conte69LR32k_space-MNI305_variant-midthickness.L.surf.gii
tpl-conte69LR32k_space-MNI305_variant-midthickness.R.surf.gii
tpl-conte69LR32k_space-MNI305_variant-vinflated.L.surf.gii
tpl-conte69LR32k_space-MNI305_variant-vinflated.R.surf.gii
tpl-hcpLR32k
CHANGES
template_description.json
tpl-hcpLR32k_space-MNI305_variant-fsLR_deformed.L.surf.gii
tpl-hcpLR32k_space-MNI305_variant-fsLR_deformed.R.surf.gii
tpl-hcpLR32k_space-MNI305_variant-fsLR_midthickness.L.shape.gii
tpl-hcpLR32k_space-MNI305_variant-fsLR_midthickness.R.shape.gii
tpl-hcpLR32k_space-MNI305_variant-fsLR_sphere.L.surf.gii
tpl-hcpLR32k_space-MNI305_variant-fsLR_sphere.R.surf.gii
tpl-hcpLR32k_space-MNI305_variant-fsaverage5_midthickness.L.shape.gii
tpl-hcpLR32k_space-MNI305_variant-fsaverage5_midthickness.R.shape.gii
tpl-hcpLR32k_space-MNI305_variant-fsaverage5_sphere.L.surf.gii
tpl-hcpLR32k_space-MNI305_variant-fsaverage5_sphere.R.surf.gii
tpl-hcpLR32k_space-MNI305_variant-fsaverage6_midthickness.L.shape.gii
tpl-hcpLR32k_space-MNI305_variant-fsaverage6_midthickness.R.shape.gii
tpl-hcpLR32k_space-MNI305_variant-fsaverage6_sphere.L.surf.gii
tpl-hcpLR32k_space-MNI305_variant-fsaverage6_sphere.R.surf.gii

tpl-conte69LR32k_space-MNI305_variant-inflated.L.surf.gii
What's should be the variant here? variant-conte69LR32k? Is this comparable to fsaverage5?

@effigies i've amended it to
tpl-conte69_space-MNI305_variant-fsLR32k_inflated.L.surf.gii
...

the template was acquired here, and these are 32k meshes. I'm happy with this structure, wdyt?

Sounds good.

I'm cleaning up the tarfile and adding some fields to the template_description.json. Particularly, some hidden files made it into the package. I also wanted to add the link you shared above.

authors: chrisfilo effigies mgxd oesteban

repo: poldracklab/niworkflows


text:
[FIX] handle case when dummy_scans is 0

fixes #437
adds tests to confirm functionality.

LGTM. Obviously correct, so I'm +1 for merging without waiting on tests.

authors: effigies jdkent


text:
Read orbits from HORIZONS

🐞 Problem
Although we can read asteroid data from two sources, we cannot read HORIZONS, arguably the most comprehensive online database on orbital data.

🎯 Goal
Be able to load an osculating orbit directly from HORIZONS, or even an array of positions.

💡 Possible solutions
This is the most popular Python library that reads from HORIZONS: https://github.com/mommermi/callhorizons
Notice that HORIZONS gives you the full history and not only an osculating orbit. We could choose to return both in some way, requires some API design.

📋  Steps to solve the problem

Comment below about what you've started working on.
Add, commit, push your changes
Submit a pull request and add this in comments - Addresses #<put issue number here>
Ask for a review in comments section of pull request
Celebrate your contribution to this project 🎉

And for that, we should use https://astroquery.readthedocs.io/en/latest/jplhorizons/jplhorizons.html

Something like this, but updated to use astroquery:
def get_orbit(name, epoch):
    # Get orbital data
    roadster = callhorizons.query(name, smallbody=False)
    roadster.set_discreteepochs([epoch.jd])
    roadster.get_elements(center="500@10")

    # Create Orbit object to do conversions
    roadster_eclip = Orbit.from_classical(
        Sun,
        roadster['a'][0] * u.au,
        roadster['e'][0] * u.one,
        roadster['incl'][0] * u.deg,
        roadster['node'][0] * u.deg,
        roadster['argper'][0] * u.deg,
        roadster['trueanomaly'][0] * u.deg,
        epoch
    )

    # Convert to ICRS
    roadster_eclip_coords = HeliocentricEclipticJ2000(
        x=roadster_eclip.r[0], y=roadster_eclip.r[1], z=roadster_eclip.r[2],
        v_x=roadster_eclip.v[0], v_y=roadster_eclip.v[1], v_z=roadster_eclip.v[2],
        representation=CartesianRepresentation,
        differential_type=CartesianDifferential,
        obstime=epoch
    )

    roadster_icrs_coords = roadster_eclip_coords.transform_to(ICRS)
    roadster_icrs_coords.representation = CartesianRepresentation

    # Create final orbit
    roadster_icrs = Orbit.from_vectors(
        Sun,
        r=[roadster_icrs_coords.x, roadster_icrs_coords.y, roadster_icrs_coords.z] * u.km,
        v=[roadster_icrs_coords.v_x, roadster_icrs_coords.v_y, roadster_icrs_coords.v_z] * (u.km / u.s),
        epoch=epoch
    )

    return roadster_icrs

astroquery has a nasty bug at the moment: https://github.com/astropy/astroquery/issues/1192

callhorizons stopped working as well: https://github.com/mommermi/callhorizons/issues/17

I figured out how to properly use astroquery, so we already moved the notebook away from callhorizons.

Just to clarify: astroquery is now the blessed way of accessing online astronomical data, including Horizons.

I'm inclined towards adding a new from_horizons method to poliastro.twobody.Orbit.

Closed in #519.

repo: poliastro/poliastro


text:
Moving bar due to text

Describe the issue
A clear and concise description of what the bug is.
Whenever a module has "dynamic" text (i.e: Changing, like the system clock, or internet speed), it moves left and right.
I tried changing the fonts I use, used the default ones, but nothing worked. Obviously it might still be a font problem, I haven't tried them all...
Expected behavior:
The bar should stay static regardless of the output.
Actual behavior:
Well, if my upload speed is 200KB/s for instance, the remaining text on the bar will move a bit to the left to accommodate for the additional characters.
To Reproduce
A minimal but complete config with which the problem occurs:
[colors]
background = #222
background-alt = #444
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40

[bar/mybar]
monitor = ${env:MONITOR:}
width = 100%
height = 20
radius = 0.0
fixed-center = false
bottom = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 2
line-color = #f00
border-size = 0
border-color = #00000000
padding-left = 2
padding-right = 2
module-margin-left = 2
module-margin-right = 2
font-0 = Cantarell:pixelsize=10;1
font-1 = fixed:pixelsize=10;1
font-2 = unifont:fontformat=truetype:size=8:antialias=false;0
font-3 = Wuncon Siji:pixelsize=10;1
modules-left = i3 mpd
modules-right = root home internal memory cpu temperature internet vpn date
tray-position = right
tray-padding = 3
scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
separator = |

[module/i3]
type = internal/i3
pin-workspaces = true
strip-wsnumbers = false
index-sort = false
enable-click = false
enable-scroll = true
wrapping-scroll = false
reverse-scroll = true
format = <label-state> <label-mode>
label-mode = %mode%
label-mode-padding = 2
label-mode-background = #e60053
label-focused = %name%
label-focused-foreground = #ffffff
label-focused-background = #3f3f3f
label-focused-underline = #fba922
label-focused-padding = 2
label-unfocused = %name%
label-unfocused-padding = 2
label-visible = %index%
label-visible-underline = #555555
label-visible-padding = 2
label-urgent = %name%
label-urgent-foreground = #000000
label-urgent-background = #bd2c40
label-urgent-padding = 2
label-separator-padding = 2
label-separator-foreground = #ffb52a

[module/root]
type = internal/fs
mount-0 = /
interval = 1
format-mounted = <label-mounted>
label-mounted = %{F#28bed8}Root:%{F#FFFFFF}  %free%

[module/home]
type = internal/fs
mount-0 = /home
interval = 1
format-mounted = <label-mounted>
label-mounted = %{F#28bed8}Home:%{F#FFFFFF}  %free%

[module/games]
type = internal/fs
mount-0 = /home/henry/games
interval = 1
fixed-values = true
format-mounted = <label-mounted>
label-mounted = %{F#28bed8}Games:%{F#FFFFFF}  %free%

[module/mpd]
type = internal/mpd
format-online = <label-song> - <label-time>
label-song = %artist% - %title%
label-song-maxlen = 64
label-song-ellipsis = true

[module/cpu]
type = internal/cpu
interval = 1
format = "<label>%"
format-prefix = " CPU: "
format-prefix-foreground = #4bffdc
label = %percentage%

[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
hwmon-path = /home/henry/.config/polybar/hwmon/temp1_input
format = <label>
format-prefix = " TMP: "
format-prefix-foreground = #4bffdc
format-warn = <label-warn>
format-warn-prefix = " TMP: "
format-warn-prefix-foreground = #ff0000
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = #ff0000

[module/memory]
type = internal/memory
interval = 1
format-prefix = " RAM: "
format-prefix-foreground = #4bffdc
label = %gb_used%

[module/internet]
type = internal/network
interface = enp2s0
interval = 1
label-connected = " E: %local_ip% ( D: %downspeed% | U: %upspeed% )"
label-connected-foreground = #55aa55
udspeed-minwidth = 3
label-disconnected = "  E: Offline"
label-disconnected-foreground = #ff0000

[module/vpn]
type = internal/network
interface = tun0
interval = 1
label-connected-foreground = #55aa55
label-connected = " VPN: On"
label-disconnected = " VPN: Off "
label-disconnected-foreground = #ff0000

[module/date]
type = internal/date
interval = 1
label = %time% %date%
date = "%A  %d/%m/%y"
time = " %H:%M -"
format-prefix = 
format-prefix-foreground = #0a6cf5

[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over

[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini

List any other steps needed to reproduce the issue besides starting polybar with the config you posted above.
Not much really, download something, make your CPU heat up or whatever, the numbers need to change. On the other hand, you could just add %s to the time in my date module, since it also happens when the clock changes.
Environment:

WM: i3
Output of `polybar -vvv:

Features: +alsa +curl +i3 +mpd +network(libnl) +pulseaudio +xkeyboard
X extensions: +randr (+monitors) -render -damage -sync +composite +xkb +xrm +xcursor

Build type: RelWithDebInfo
Compiler: /usr/bin/c++
Compiler flags: -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -Wextra -Werror -Wno-noexcept-type -pedantic -pedantic-errors
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

Additional context
Issue is similar to #82 but affects pretty much any text that changes (Clock, CPU usage and temp, download speed, etc)
I tried doing what was recommended here with no success.

If you actually want modules with static width, you need to make sure that no token that you use can ever change its width. You can do that by having their max and minwidth properties to the same value, this way they always stay the same width.
You also need to make sure that your fonts are all monospaced because the max and minwidth values are all measured in spaces and having a non-monospaced font can have the same number of characters take a different amount of space. I'm pretty sure Cantarell is not monospaced, use something like DejaVu Sans Mono or Noto Sans Mono

@patrick96 This might be a different problem then, but I'm having the same issue. I am using a monospaced font (Inconsolata):
[module/pulseaudio]
type = internal/pulseaudio
use-ui-max = false
format-volume =
label-volume = VOL %percentage:3:3%
label-muted = MUTE %percentage%
label-muted-foreground = #666
When changing the volume so the number of digits in its values change (e.g. 0 to 50 and then to 100), it shifts all the modules to the left (this pulseaudio module is defined at module-right). I've tried setting the max/minwidth to 2, 3, and 4. Obviously setting it to 1 would not cause any shifting, but is not useful at all.

I'm having the same issue. I'm using a monospaced font and I set the max and min width to the same value.

@lopezdylan If you think this is an issue with your config and want help fixing it, please ask on Gitter or one of our other support sites. If you think this is a bug in polybar, please open a new issue.

This also doesn't work for me unless I 0 pad the number. It doesn't seem to respect min width without a pad value.

@danjenson Tokens are space padded by default. But if you use a non-monospaced font spaces take less space than a regular character would and so you have shifting. First make sure you didn't accidentally use a non-monospaced font.
Even if you meant to use a monospaced font, it's possible that polybar failed to load it

authors: Maddogruss danjenson lopezdylan patrick96 rieje

repo: polybar/polybar


text:
Positional tracking and controllers....   BEST streamer VR ever

Hi. I am very impressed with your work, this is another level of streaming vr, after a lot of tests the application is very functional in OCULUS GO, the next step would be the positioning and the controllers, have you thought of any solution to integrate?
I will be very aware of your development, I would be delighted and it would be an honor to be able to collaborate with you as much as I can, on my YOUTUBE channel I have already made a video of installation and presentation of the application:
https://www.youtube.com/watch?v=UfljMojX17Y

Thank you for your comment and your great work!
That is a very impressive guide!
Oculus Go 3DoF controller is now usable in latest release.
Positional tracking is very difficult issue. Riftcat has got it with NOLO, but I don't know whether NOLO is the best solution for us. (I heard tracking of NOLO is laggy.)
Positional tracking is also archived by Google ARCore for Gear VR. (please refer https://www.youtube.com/watch?v=4EWPUdE_kqU )
This is portable (inside-out tracking) solution, but Oculus Go cannot use ARCore because of no camera.
And 6DoF tracking may cause the lag of head tracking, because Asynchronous Timewarp of Oculus Go only supports 3DoF tracking.

Hmm..
position of controller and HMD is a confusing issue for me.
In addition to your issue, we need to fix bug of recentering (#18).
We need more time to solve.

I've found the great video.
https://www.youtube.com/watch?v=kHGrOQb1o_o
The author got 6DoF tracking in ALVR with Kinect.

yep that's actually the video that got me to try out ALVR, i dont know how he's doing though, driver4VR didnt seem to work with ALVR for me, but that may have been an issue with the NOLO that i tried as its quite buggy. in any case, that program is not designed to be able to remap things like vive trackers onto a HMD pose which is what i really want to do. Sidenote: i realised that i need to correctly set up standing room only in steamVR with the correct HMD to floor offset (player height) in order for the HMD to be set off from the floor when using ALVR, unfortunately though it does not offset the controller in steam home for some reason, but when i run apps the controller is in roughly the right position.. it is crashing a lot now though, cant get space pirate trainer to run for more than a few seconds, and when it crashes, it requires a reboot to make it work again as steamVR wont lead properly again. Sorry for mixing up the issues. let me know if you want me to make seperate issue posts.

i got a vive,  and I can use the controllers with the Go on steam VR.
I want to use one of the controllers for the pose of the GO, I have tried https://github.com/matzman666/OpenVR-InputEmulator/releases although this program show the possibility it fails when I do the redirection.
Other possibilities is buying a vive tracker, but it presents himself as a controller, I've read in some place about valve giving the documentation to flash the vive tracker in order to flash the tracker to presents as a headset, but is all the info I've got.
Any toughs?

I'm the guy that created that video.  I still don't have proper hand
controller tracking working.  This was really just my head.  I was using
version 1.5 of ALVR with my XBOX 360 Kinect and Driver4VR.
On Thu, May 31, 2018 at 2:36 AM, Lightsteed notifications@github.com
wrote:

yep that's actually the video that got me to try out ALVR, i dont know how
he's doing though, driver4VR didnt seem to work with ALVR for me, but that
may have been an issue with the NOLO that i tried as its quite buggy. in
any case, that program is not designed to be able to remap things like vive
trackers onto a HMD pose which is what i really want to do. Sidenote: i
realised that i need to correctly set up standing room only in steamVR with
the correct HMD to floor offset (player height) in order for the HMD to be
set off from the floor when using ALVR, unfortunately though it does not
offset the controller in steam home for some reason, but when i run apps
the controller is in roughly the right position.. it is crashing a lot now
though, cant get space pirate trainer to run for more than a few seconds,
and when it crashes, it requires a reboot to make it work again as steamVR
wont lead properly again. Sorry for mixing up the issues. let me know if
you want me to make seperate issue posts.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/polygraphene/ALVR/issues/8#issuecomment-393474198,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATzXTTc4eFPz967mfQuO2k2xqqW8qz8vks5t37mpgaJpZM4URIEJ
.

interesting. i can't even get alvr to display if driver4vr is installed on the latest version. steamvr bugs out

The probem with NOLO VR is the perceptible LAG in the tracking, I wait that with antilatency we can solve

@polygraphene - a user on reddit was able to get a camera working with the oculus go:
https://www.reddit.com/r/OculusGo/comments/8l1j81/adhesived_a_camera_on_my_go_now_what_do/
Without otg needed and got the footage via sideloaded camera app.
Could this combo work with arcore for gearvr? To get positional tracking?

May be possible more resolution in the stream¿?¿, may be 2560x1440¿?? using  NVENC it could be possible

Oculus SDK "suggests" 1024x1024 eye texture. (2048x1024 for both eyes)
https://github.com/polygraphene/ALVRClient/blob/master/app/include/VrApi_Types.h#L251
https://developer.oculus.com/documentation/mobilesdk/1.0.4/concepts/mobile-rendering/

Most game style 3D VR content should target 1024x1024 eye buffers. At this resolution, pixels will be slightly stretched in the center, and only barely compressed at the edges, so mipmap generation is unnecessary. If you have lots of performance headroom, you can experiment with increasing this a bit to take better advantage of the display resolution, but it is costly in power and performance.

If we add supports for larger resolution, the effect is limited.
So we may implement it in future, but the priority is low.

well I've been using PSMoveService together with ALVR and it works great, the PS Move controllers work nice for 6Dof hand tracking and with a third controller you can also get positional tracking, of course the only downside is that not everyone can mount 4 PS3 cameras to the ceiling, but if you can like me this is a great set up, I've been using it for more than a year with riftcat, but now with the integration of this program it works great

I think this version 1.9.2 makes great again this software, its is incredible the new resolutions and the sensors emulation, only need controllers working great like nolo VR and antilatency and yo make gods of VR

Chiming in to say maybe you can stream 3DOF coordinates to Steam, while offering a position tracking via freetrack. Some of us PS Move Service users use an additional glowing pingpong ball placed on HMD for position tracking for full 6DOF. Riftcat offers an option for this, it's called "Use phone sensors for tracking and freetrack for positon".
Getting this would be golden. The smoothness from this app is unreal. Ideally, ARCore would be the best option as it works without any additional equipment. Someone on YouTube made a post on how this is implemented in Unity for GearVR.

Yep i want this option so i can use a vive tracker for position. The image isn't smooth when using a tracker for both position and rotation, i got it working with ALVR and open vr input emulator, i guess due to the ATW the dev descibed.

That behavior is expected because you're completely getting rid of ATW when you use an external tracker for position. ATW works only when you use the HMD's sensors for orientation information. It is possible to keep the smoothness of orientation whilst adding an "outside" tracker for position. Freetrack does exactly this, it combines multiple inputs together. If you've used Riftcat with D4VR before, your orientation is tracked at 60 FPS from headset IMUs, but positon is tracked at 30 FPS via kinects. The result is still smooth tracking of orientation because position is independent of orientation for VR scenario.
The 3DOF --> 6DOF transition shouldn't break ATW if done correctly, which can be easily achieved via freetrack. Hopefully the dev can work on this as this would make it a killer app for DIY VR.

I'm more keen to see ARCore implementation though. I tried an ARcore positional tracking demo on Gear VR and it works wonderfully, even better than my custom ping-pong ball on head. But then again, Oculus GO users will not benefit from this without some hacks.

@IsaiahN It's interesting. It would be nice if ARCore can run on Go.
I have uploaded experimental build with ARCore support on here.
This build only supports Galaxy S8 (or maybe? S9).
And this build make the smartphone very high temperature, so please be careful of use.

wow, nice one. unfortunately i cant try this build as the camera port on my galaxy s8 is a bit broken and the gearVR wont start up :( what needs to be done to make it work on the Go with a usb camera?

If USB camera can be used in Oculus Go, the following patch may help us.
https://github.com/tomthecarrot/arcore-for-all

@polygraphene I am really impressed at the speed of your implementation, RiftCat kept delaying this feature for so long. I'll test this when I can and let you know how it works.

USB camera works on the go, have tried it - followed this guys instructions and worked with both crappy usb camera i own - https://www.reddit.com/r/OculusGo/comments/8l1j81/adhesived_a_camera_on_my_go_now_what_do/

I tried installing the patched arcore but alvr wouldnt run, a message came up saying i needed the latest version of arcore. Do you think u could build a patched version of arcore for the go with the version your client is using?

what can you do with the camera¿?¿? any kind of possitional tracking or software camera¿?¿

I have a quite good ARCore positional tracking experience in the working supporting all devices from S7 to S9 with almost no jittering. Check it out here: https://github.com/ChristophGeske/ARCoreInsideOutTrackingGearVr

Hey @ChristophGeske, I did try your ARCore tracking couple days back and it worked wonderfully. Even the one posted in ALVR's test build worked well. The results are very promising and can help users achieve room-scale VR without base stations.

Can be used ChristophGeske´s ARCORE with OCULUS GO in the future with an external camera¿? working fine if possible

Hi chapeka. It is very unlikely that ARCore will run on an external camera because Google combines the camera and the smartphone sensor data to make tracking possible. Only a handfull of devices are supported at the moment because the adjustment needs some extra work from tje side of google. This might be improved in the future but right know ARCore is not ready to run on different Cameras. Wikitude and Vuvoria are made for more camera types and phones and they also allow for positional tracking but they are not as accurate as ARCore or ArKit . Here is a project showing Vuvoria for 6DoF tracking. https://youtu.be/KIHTCo69I2I

authors: ChristophGeske IsaiahN Lightsteed TheJaeger chapeka iamapie13 penkamaster petermg polygraphene

repo: polygraphene/ALVR


text:
8505375

sensitive to p-Fluoro-phenylalanine

sensitive to 4-fluorophenylalanine FYPO:0006826
(with synonym)
edit file: 64d9f12ae1eab54159a520b37ace4bb79f55b7cc
release: 4faa0186ac4092ea41fe1d9dca5ae9b4c6cf43fc

repo: pombase/fypo


text:
Should this underscore parsing in integer/float literals be changed?

actor Main
  new create(env: Env) =>
    var x = F32(7___4_9__.6_)
    env.out.print(x.string())

prints 749.6 but
actor Main
  new create(env: Env) =>
    var x = F32(7___4_9__._6_)
    env.out.print(x.string())

fails to compile with
Cannot look up member _6_ on a literal
    var x = F32(7___4_9__._6_)
                         ^

. This goes against the 'no trailing underscore' and 'no double underscore' rules, but grammar-wise numbers aren't names/identifiers anyway.

Will fix to disallow trailing underscore and double underscore in numbers.

Thanks, @SeanTAllen.

@MrMormon, I'm not actually stalking you, I'm just picking issues which I think I can find in the code.

keep it up @tmmcguire

authors: MrMormon SeanTAllen tmmcguire

repo: ponylang/ponyc


text:
Sidebar not sliding correctly

Basically, what I want to do is to have the sidebar slide like the Lanyon website, but this is what I get. (this is has been happening since I installed vanilla Lanyon)
Chrome

Firefox

Only the sidebar slides, and the site moves abruptly, unlike it is intended.
In Firefox, the sidebar toggle doesn't move.
I'm really new to web development, so any help would be appreciated.
My site is here.

How does it act when you visit this version of Lanyon? http://lanyon.getpoole.com/

@xHN35RQ That effect is what I want to get.

Ah I see now. You're welcome to try my fork https://github.com/xHN35RQ/lanyon and see if there is any improvements. My fork is updated with various fixes from different Github authors.

Thanks! Now the problem is that the toggle button doesn't change its color. But the slide effect has been fixed.

Hmm, something is messed up in your CSS - using a fresh clone of my fork it works just fine for me locally. But when I visit your site, it's not working. So compare the CSS for your site against https://github.com/xHN35RQ/lanyon and see if there are any differences

Still the same, I am using the exact same CSS of your repository.
I don't know where the issue could be :/.

Sorry I don't know what could be the matter. However, I know my fork works. You might consider restarting from scratch using my fork and re-doing any customizations on top of it.

I'll try to fix it when I feel like it sometime, I'm still customizing things. But, thanks for the help!.
I will close this as it is probably only my case. (though I did use vanilla Lanyon)

Hey @JFRN, I am facing the same issue as you described here, can you please tell me how did you fix this issue?
Since user ghost has bee deleted and I'm not able to find his repo, It would be very helpful if you can guide me through this issue!

https://xkcd.com/979/
@svaderia, sorry for being here too late. I didn't fix it completely, I don't remeber exactly what I did, though I tried using CSS from other Lanyon forks, navigating through the original CSS, and the slider issue disappeared, but then the button didn't change color, as I said two comments above. I'm sorry for not being so helpful there, but that's what I did. Check out @ghost fork and other sites that use lanyon, you might find a solution.
Good luck!

authors: JFRN svaderia xHN35RQ

repo: poole/lanyon

license: mit