Update 0.2 blog with new deployment script

From @chrisheecho on August 20, 2018 19:51
@jlewi should we update the 0.2 blog with the new script from 1311
"curl https://raw.githubusercontent.com/kubeflow/kubeflow/v0.2.3-rc.0/scripts/gke/deploy.sh | bash"
Copied from original issue: kubeflow/kubeflow#1390

From @jlewi on August 21, 2018 4:30
@chrisheecho Yes but we can use the following now
curl https://raw.githubusercontent.com/kubeflow/kubeflow/v0.2.3/scripts/gke/deploy.sh | bash

From @jlewi on August 21, 2018 4:30
/assign @chrisheecho

/area docs
/priority p1

As an alternative to updating the existing blog post, should we consider a new blog post? Our blog posts are not time-stamped (see issue #205) but they should be. Traditionally, a blog post is a point-in-time document. Occasionally people will add an "Update:" section to an existing post, to indicate that things have changed, but usually the content of the post remains static, and people publish new blog posts to describe the latest situation.
This'd also make our blog more lively. :)

We now have a new deployment process, announced with v0.3:
https://www.kubeflow.org/blog/announcing_kubeflow_0.3/
And our blog posts are now nicely time-stamped too.
I'm therefore closing this issue as obsolete.
/close


Suite crashes when a "before" function is defined.

TypeError: Cannot read property 'map' of undefined
at performTeardown (C:\Users\piotr.wojcik\AppData\Roaming\npm\node_modules\c
haplain\dist\lib\index.js:203:39)
at C:\Users\piotr.wojcik\AppData\Roaming\npm\node_modules\chaplain\dist\lib
index.js:50:33
at PassThroughHandlerContext.finallyHandler (C:\Users\piotr.wojcik\AppData\R
oaming\npm\node_modules\chaplain\node_modules\bluebird\js\release\finally.js:55:
23)
at PassThroughHandlerContext.tryCatcher (C:\Users\piotr.wojcik\AppData\Roami
ng\npm\node_modules\chaplain\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (C:\Users\piotr.wojcik\AppData\Roaming
npm\node_modules\chaplain\node_modules\bluebird\js\release\promise.js:502:31)
at Promise._settlePromise (C:\Users\piotr.wojcik\AppData\Roaming\npm\node_mo
dules\chaplain\node_modules\bluebird\js\release\promise.js:559:18)
at Promise._settlePromise0 (C:\Users\piotr.wojcik\AppData\Roaming\npm\node_m
odules\chaplain\node_modules\bluebird\js\release\promise.js:604:10)
at Promise._settlePromises (C:\Users\piotr.wojcik\AppData\Roaming\npm\node_m
odules\chaplain\node_modules\bluebird\js\release\promise.js:679:18)
at Async._drainQueue (C:\Users\piotr.wojcik\AppData\Roaming\npm\node_modules
\chaplain\node_modules\bluebird\js\release\async.js:138:16)
at Async._drainQueues (C:\Users\piotr.wojcik\AppData\Roaming\npm\node_module
s\chaplain\node_modules\bluebird\js\release\async.js:148:10)
at Immediate.Async.drainQueues [as _onImmediate] (C:\Users\piotr.wojcik\AppD
ata\Roaming\npm\node_modules\chaplain\node_modules\bluebird\js\release\async.js:
17:14)
at processImmediate [as _immediateCallback] (timers.js:516:17)
+[:-( Please report this issue here: https://github.com/krajzeg/chaplain/issues

Can you provide a sample suite that causes this? I'll look into it anyway, but a repro case would help a lot :).

Found the issue - it's quite likely that your before() handler threw an exception, but this was not handled properly due to a bug in chaplain (and the exception you got has nothing to do with the real cause). Fix coming.

This should be fixed on master, so errors happening in before()/after() should now be properly reported. Will be part of the next release.


Compiling, Deploying Java Callout via Grunt on windows

From community post:
https://community.apigee.com/questions/20465/problem-building-java-callout-classes-via-grunt-ve.html
We found that the Grunt tasks used to compiling Java callouts do not fully work cross platform.  For example, if developers are using Windows they could have issues setting classpaths given the difference on how paths are handled.

Thanks @klevak for sharing. Agreed, Grunt example leverages Javac from the OS, so depending on the platform Linux or Window, you need to tweak it accordingly.
Here's a sample API Proxy Grunt with a Java callout. However, Sean's post may cover more use cases. https://github.com/dzuluaga/apigee-tutorials/blob/master/apiproxies/read-file-java-api/Gruntfile.js#L160-L162


Update tutorial ,add depends_on in docker-compose

fix 2 issues:

when create docker-copose.yml in test folder ,docker-compose up will  create a network test_default but not ferretdb_default . it will make the command
docker run --rm -it --network=ferretdb_default --entrypoint=mongosh mongo:5 mongodb://ferretdb/ not work.
docker compose not start in correct order ,add depends_on to make sure everything run in order.
error log I met when not add depends_on:

(virtualenv) [centos@localhost ~]$ sudo docker-compose up
Starting postgres ...
Recreating ferretdb ...
Recreating ferretdb ... done
Attaching to postgres, postgres_setup, ferretdb
postgres          |
postgres          | PostgreSQL Database directory appears to contain a database; Skipping initialization
postgres          |
postgres          | 2022-01-19 02:51:10.956 UTC [1] LOG:  starting PostgreSQL 14.1 (Debian 14.1-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
postgres          | 2022-01-19 02:51:10.957 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
postgres          | 2022-01-19 02:51:10.957 UTC [1] LOG:  listening on IPv6 address "::", port 5432
postgres          | 2022-01-19 02:51:10.963 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres          | 2022-01-19 02:51:10.968 UTC [27] LOG:  database system was shut down at 2022-01-19 02:47:30 UTC
postgres_setup    | psql: error: connection to server at "postgres" (<IP_ADDRESS>), port 5432 failed: Connection refused
postgres_setup    | 	Is the server running on that host and accepting TCP/IP connections?
postgres          | 2022-01-19 02:51:10.975 UTC [1] LOG:  database system is ready to accept connections
ferretdb          | 2022-01-19T02:51:10.932Z	INFO	ferretdb/main.go:61	Starting FerretDB v0.0.5-dirty...	{"commit": "50b04ab86d486f5d5497929a450f781bb6cfafe9", "dirty": true}
ferretdb          | 2022-01-19T02:51:10.933Z	INFO	pgconn.Pool	v4@v4.14.1/conn.go:355	Dialing PostgreSQL server	{"host": "postgres"}
ferretdb          | 2022-01-19T02:51:10.937Z	INFO	debug	debug/debug.go:36	Starting debug server on http://<IP_ADDRESS>:8088/
ferretdb          | 2022-01-19T02:51:10.947Z	ERROR	pgconn.Pool	v4@v4.14.1/conn.go:355	connect failed	{"err": "failed to connect to `host=postgres user=user database=ferretdb`: dial error (dial tcp <IP_ADDRESS>:5432: connect: connection refused)"}
ferretdb          | github.com/jackc/pgx/v4.(*Conn).log
ferretdb          | 	github.com/jackc/pgx/v4@v4.14.1/conn.go:355
ferretdb          | github.com/jackc/pgx/v4.connect
ferretdb          | 	github.com/jackc/pgx/v4@v4.14.1/conn.go:226
ferretdb          | github.com/jackc/pgx/v4.ConnectConfig
ferretdb          | 	github.com/jackc/pgx/v4@v4.14.1/conn.go:114
ferretdb          | github.com/jackc/pgx/v4/pgxpool.ConnectConfig.func1
ferretdb          | 	github.com/jackc/pgx/v4@v4.14.1/pgxpool/pool.go:190
ferretdb          | github.com/jackc/puddle.(*Pool).constructResourceValue
ferretdb          | 	github.com/jackc/puddle@v1.2.0/pool.go:496
ferretdb          | github.com/jackc/puddle.(*Pool).doAcquire
ferretdb          | 	github.com/jackc/puddle@v1.2.0/pool.go:324
ferretdb          | github.com/jackc/puddle.(*Pool).Acquire
ferretdb          | 	github.com/jackc/puddle@v1.2.0/pool.go:265
ferretdb          | github.com/jackc/pgx/v4/pgxpool.ConnectConfig
ferretdb          | 	github.com/jackc/pgx/v4@v4.14.1/pgxpool/pool.go:233
ferretdb          | github.com/FerretDB/FerretDB/internal/pg.NewPool
ferretdb          | 	github.com/FerretDB/FerretDB/internal/pg/pool.go:88
ferretdb          | github.com/FerretDB/FerretDB/cmd/ferretdb.main
ferretdb          | 	github.com/FerretDB/FerretDB/cmd/ferretdb/main.go:87
ferretdb          | github.com/FerretDB/FerretDB/cmd/ferretdb.TestCover
ferretdb          | 	github.com/FerretDB/FerretDB/cmd/ferretdb/main_test.go:25
ferretdb          | testing.tRunner
ferretdb          | 	testing/testing.go:1440
ferretdb          | 2022-01-19T02:51:10.947Z	FATAL	ferretdb/main.go:89	pg.NewPool: failed to connect to `host=postgres user=user database=ferretdb`: dial error (dial tcp <IP_ADDRESS>:5432: connect: connection refused)
ferretdb          | github.com/FerretDB/FerretDB/cmd/ferretdb.main
ferretdb          | 	github.com/FerretDB/FerretDB/cmd/ferretdb/main.go:89
ferretdb          | github.com/FerretDB/FerretDB/cmd/ferretdb.TestCover
ferretdb          | 	github.com/FerretDB/FerretDB/cmd/ferretdb/main_test.go:25
ferretdb          | testing.tRunner
ferretdb          | 	testing/testing.go:1440
postgres_setup exited with code 0

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Path to lvm binary should be set by default

This is basically the same as the closed issue #133, that is still an issue with Chef 13 / 14.
Cookbook version
4.5.1
Chef-client version
14.5.33 with path_sanity disabled
Platform Details
RHEL 7.6
Scenario:
Create a PV on /dev/sdc
Steps to Reproduce:
cat lvm_test/recipes/lvm_test.rb
lvm_physical_volume '/dev/sdc'

export PATH='/bin/,/usr/bin'; chef-client -o lvm_test::lvm_test

Expected Result:
PV to be created
Actual Result:
Error executing action `create` on resource 'lvm_physical_volume[/dev/sdc]'

Errno::ENOENT
-------------
No such file or directory - pvs

Cookbook Trace:
---------------
/var/chef/cache/cookbooks/lvm/resources/physical_volume.rb:33:in `block in class_from_file'

Because of the change in path-sanity handling ( Ref: Chef 13 / 14 path-sanity behaviour ), we can no longer assume /sbin or /usr/sbin will always be in $PATH.  Different Chef version and OS settings can now affect it as well.  Therefore it seems more reliable to set the path to the lvm binary when calling it (good practice as well?).
This cookbook has recently been updated to have an internal attribute lvm_options when calling the lvm gem, eg  LVM::LVM.new(lvm_options) (See examples within this cookbook)
Perhaps something similar can be done so that the command attribute is pass on to the lvm gem with the full path to lvm:  LVM::LVM.new(command: '/sbin/lvm')

I can confirm the issue is reproducible in version 14.14.25 of the Chef-Client.

I am facing the same issue


feat: added crop() method in image and tests

Closes #[284].
Summary of Changes
Added crop() method in Image
Added tests
Co-authored-by: PhilipGutberlet<EMAIL_ADDRESS>

🦙 MegaLinter status: ✅ SUCCESS

Descriptor
Linter
Files
Fixed
Errors
Elapsed time

✅ PYTHON
black
2
2
0
0.89s

✅ PYTHON
mypy
2

0
1.82s

✅ PYTHON
ruff
2
2
0
0.02s

✅ REPOSITORY
git_diff
yes

no
0.0s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff
MegaLinter is graciously provided by

TODO: Change tests to use a deep copy method, as every test for images should have the same format

:tada: This PR is included in version 0.14.0 :tada:
The release is available on:

v0.14.0
GitHub release

Your semantic-release bot :package::rocket:


fix be compile failed in mac due to std::max (#37238)

cherry-pick #37238 to branch-2.1

run buildall


Fix:Solving three problems: time picker, timer, and incorrect calculations.

I will close this so we do not need to worry about this. Thanks again friend.


Tests in docker-container are unstable

Are you requesting a feature or reporting a bug?
bug
What is the current behavior?
I implemented a basic "Hello "World" test using docker. However the test passes only from time to time. In my experience so far, the test passes and fails until I change the browser to test with.
Example:
testcafe:
    image: testcafe/testcafe
    entrypoint: ["/opt/testcafe/docker/testcafe-docker.sh", "-c", "2", "-S", "-s", "/testcafe/screenshots", "firefox", "/testcafe/tests"]

passes.
I run it again and it fails with "ERROR Unable to establish one or more of the specified browser connections. This can be caused by network issues or remote device failure."
I run it again and it fails.
I change the browser to chromium and the test passes.
I run it again and it fails until I switch back to firefox ...
What is the expected behavior?
How would you reproduce the current behavior (if this is a bug)?
See above
Provide the test code and the tested page URL (if applicable)
Tested page URL:
Test code

Specify your

operating system:
testcafe version:
node.js version:

Hello @Thomblin!
Unfortunately, I can't reproduce your problem. Could you specify your host OS version and version of Docker, please? Also, does it works better when concurrency mode is disabled?

The behaviour does not change without "-c2". I have to switch the browser to pass the test twice. (It always works once, when I switch the browser)
I am using
Kubuntu 14.04.01
kernel 3.16.0-77-generic
64-bit
Docker version 17.05.0-ce, build 89658be

I found the problem. I use to execute docker-compose up testcafe.
I switched to docker-compose run testcafe. Tests are faster and stable now ...

Hi @Thomblin,
I'm wondered, how are your tests now? Are they stable now with your solution?

Hi @AlexanderMoskovkin
I had no time to implement Testcafe so far. I have to postpone that issue for some month unfortunately

Update again.
After further testing, it appears that the -c option makes no difference - present or not, greater than, less than, or equal to the number of tests, makes no difference.  Still getting ERROR Unable to establish one or more of the specified browser connections. This can be caused by network issues or remote device failure. or similar.

/cc @AndreyBelym  do you have any thoughts here?

For the time-being we have moved away from the Docker container due to the stability issues.  For posterity in case anyone else needs an alternative, we are running firefox:headless in a full Ubuntu Desktop 17, launched from Jenkins with a simple SSH worker setup and it is working perfectly.  Ran the same test pipeline 30 times in a row overnight, each one checked out.

Hi @Thomblin.
Unfortunately, we can not reproduce the issue. Try the latest docker image with<EMAIL_ADDRESS>Feel free to reopen the issue if you can create an example on which we can reproduce the problem.

Thanks @gytisgreitai, I think we should add a note to the docs and describe how to configure Docker and provide additional resources for Docker containers.

Same problem here. some times it work, some times it just hangs for no reason.

I faced the same issue with docker compose up, within the docker container things are getting flaky.
I started to use docker-compose up with multiple containers to speed up the test run:
For 1-2 containers, it looks good, I haven't seen flakyness, but increasing the number of containers is making the tests flaky: the same exact tests are failing; Testcafe sometimes not finding the elements or hangs after a button click (validated with screenshots).
And also I saw that increasing the number of containers is having an impact on the test timing - for example a test which runs for 1 min with a single service, runs for 3 mins with 3 containers.
I tried to pass different ports (for the runner class), different volume mounts (for printscreens) for the each container, but no luck yet.
I tried on Win10 and Linux with Alpine and Node images, and with Chrome, Chromium, Firefox (headless, --no-sandbox options) but the result is the same.
Currently I'm using the latest TestCafe version (1.1.4)

@gaborari do you run your browsers in this container too? I guess the browsers are responsible for the high CPU usage. Try to start a browser from your host machine and connect it to the TestCafe Docker image as a remote browser: Using TestCafe Docker image - Test on remote devices.


Move some APIs that are only used on MTRDeviceController_Concrete to that interface.

Now that MTRDeviceControllerFactory only works with MTRDeviceController_Concrete, we can move some APIs from MTRDeviceController_Internal to MTRDeviceController_Concrete.

Fast-tracking platform-specific fix with platform owner review.


Cannot open multiple windows

This is very likely to be due to a misunderstanding on my part but it seems I can't open multiple windows with Oni. Is that supposed to be the case, do I need to set a config option or is that a known bug or future feature.
I couldn't find an issue relating to that, except #1008 which isn't quite what I mean. I'm running oni on a mac and using cmd-n or double clicking the Oni icon does not allow me to open a new window, I know that there's something about handling windows in main.ts with electron but I'm not sure if that currently should be permitting multiple windows or not.

Hmm, I just tried the same with Atom and VSCode - here's how they work:

cmd+n creates a new file, not a new window. We don't have a binding for that today, but would make sense to have it.
None of the apps I tried supported double-clicking on the dock icon to open a new window, but some supported right-click and then 'New Window'. Oni doesn't have that today, but we could look at adding that as an enhancement. This API would be a good starting point: https://github.com/electron/electron/blob/master/docs/api/app.md#appdocksetmenumenu-macos

There's also an issue where if you close Oni, and then try and go to a menu item, you hit #484 .
Would adding a 'New Window' option to the dock menu + command palette work for you to accomplish this? Seems like that would fit well with how other apps work on OS X

@bryphe apologies seems I got my mac shortcuts confused. You're quite right re cmd n and the double clicking. Essentially any mechanism which leads to having multiple Oni windows (one project open in one instance another in the second) is what I was alluding too so a new window option would be excellent with the potential to bind this to a key, would a new window result in issues I noted there is an array in main.ts to keep track of open windows but also some code which seems to be aimed at maintaining a single instance?

fixed by #1111


Added Newport News Public Schools Virginia US (try 2)

website:
http://sbo.nn.k12.va.us/
stem info:
http://sbo.nn.k12.va.us/stem/

@rob-64 Pull request merged. Thank you!


[TW#12608] Byte writes to peripheral struct fields mess up register contents (IDFGH-838)

As  workaround for #595, I changed I2C base address to the AHB area - 0x60013000
However, this only exposed the following issue: byte writes to registers mess up the upper 24 bits of the register value.
And why would anyone use s8i to write to a peripheral register? I agree, but compiler thinks it can.
So, consider i2c_dev_t.command[N].byte_num (my favorite register - register of the day, without a doubt). It's an 8-bit sized field occupying the lower 8 bits of a 32-bit struct.
Except CPU goes all like - BZZZT! wrong! so you want to stick your byte into my word-size register? how about "no"...
Well, an exception would make it obvious. But it doesn't cause an exception. Instead, some pretty random shit happens - bits from the byte get replicated into upper bits, certainly bits 8 to 15 get most of the bits from 0 to 7, and bits 16 to 31 get mostly zeroes, but not necessarily. In any case, upper 24 bits are nothing like what you expect them to be and it's all downhill from there.
@igrr - this may be relevant to your interests. i don't know if compiler needs to be somehow told to just not use byte access to struct fields or if it's supposed to work and it's just a hardware issue.
here's my test code:
void __attribute__ ((noinline)) bugmemore(i2c_dev_t *dev, int ci, uint16_t bn) {
  dev->command[ci].val = 0;
  dev->command[ci].op_code = 1;
  dev->command[ci].ack_en = true;
  dev->command[ci].done = 1;
  dev->command[ci].byte_num = bn;  // BOOM!
  dev->command[ci].ack_val = 0;
}

void bugme(void) {
  i2c_dev_t *dev = (i2c_dev_t *) 0x60013000;  /* AHB address of &I2C0 */;
  int ci = 0;
  dev->command[ci].val = 0;  // RSTART
  ci++;
  bugmemore(dev, ci, 0xaa);
  for (int i = 0; i <= ci; i++) {
    printf("cmd %d = %08x\n", i, dev->command[i].val);
  }
}

bugmemore it compiles to the following assembly code:
(gdb) disas bugmemore
Dump of assembler code for function bugmemore:
   0x40143a8c <+0>:     entry   a1, 32
   0x40143a8f <+3>:     addx4   a9, a3, a2
   0x40143a92 <+6>:     movi.n  a8, 0
   0x40143a94 <+8>:     addi    a3, a3, 20
   0x40143a97 <+11>:    memw
   0x40143a9a <+14>:    s32i    a8, a9, 88
   0x40143a9d <+17>:    addx4   a2, a3, a2
   0x40143aa0 <+20>:    memw
   0x40143aa3 <+23>:    l32i.n  a8, a2, 8
   0x40143aa5 <+25>:    l32r    a3, 0x40143a84
   0x40143aa8 <+28>:    extui   a4, a4, 0, 8
   0x40143aab <+31>:    and     a8, a8, a3
   0x40143aae <+34>:    l32r    a3, 0x40123bd4
   0x40143ab1 <+37>:    or      a3, a8, a3
   0x40143ab4 <+40>:    memw
   0x40143ab7 <+43>:    s32i.n  a3, a2, 8
   0x40143ab9 <+45>:    memw
   0x40143abc <+48>:    l32i.n  a8, a2, 8
   0x40143abe <+50>:    movi    a3, 0x100
   0x40143ac1 <+53>:    or      a3, a8, a3
   0x40143ac4 <+56>:    memw
   0x40143ac7 <+59>:    s32i.n  a3, a2, 8
   0x40143ac9 <+61>:    memw
   0x40143acc <+64>:    l32i.n  a8, a2, 8
   0x40143ace <+66>:    l32r    a3, 0x40143a88
   0x40143ad1 <+69>:    or      a3, a8, a3
   0x40143ad4 <+72>:    memw
   0x40143ad7 <+75>:    s32i.n  a3, a2, 8
   0x40143ad9 <+77>:    memw
   0x40143adc <+80>:    s8i     a4, a9, 88                              ; BOOM!
   0x40143adf <+83>:    memw
   0x40143ae2 <+86>:    l32i.n  a8, a2, 8
   0x40143ae4 <+88>:    movi    a3, 0xfffffbff
   0x40143ae7 <+91>:    and     a3, a8, a3
   0x40143aea <+94>:    memw
   0x40143aed <+97>:    s32i.n  a3, a2, 8
   0x40143aef <+99>:    retw.n
End of assembler dump.

here's the result of applying some perl-fu to *_struct.h under components/soc - it shows cases where a byte-size field comes first in a struct:
[rojer@nba ~/cesanta/esp/esp-idf/components/soc/esp32/include/soc master]$ perl -ne 'print "$ARGV:$. $_" if (/\s8\s*;/ && $ps); $ps = /struct/; close ARGV if eof;' *struct.h
apb_ctrl_struct.h:30             volatile uint32_t xtal_tick:     8;
apb_ctrl_struct.h:37             volatile uint32_t pll_tick:     8;
apb_ctrl_struct.h:44             volatile uint32_t ck8m_tick:     8;
apb_ctrl_struct.h:80             volatile uint32_t rstb_wait:    8;
apb_ctrl_struct.h:97             volatile uint32_t apll_tick:     8;
gpio_sd_struct.h:19             uint32_t duty:        8;
gpio_struct.h:23             uint32_t data:       8;                 /*GPIO32~39 output value*/
gpio_struct.h:30             uint32_t data:       8;                 /*GPIO32~39 output value write 1 to set*/
gpio_struct.h:37             uint32_t data:       8;                 /*GPIO32~39 output value write 1 to clear*/
gpio_struct.h:44             uint32_t sel:        8;                 /*SDIO PADS on/off control from outside*/
gpio_struct.h:54             uint32_t data:        8;                /*GPIO32~39 output enable*/
gpio_struct.h:61             uint32_t data:        8;                /*GPIO32~39 output enable write 1 to set*/
gpio_struct.h:68             uint32_t data:        8;                /*GPIO32~39 output enable write 1 to clear*/
gpio_struct.h:83             uint32_t data:       8;                 /*GPIO32~39 input value*/
gpio_struct.h:93             uint32_t intr_st:    8;                 /*GPIO32~39 interrupt status*/
gpio_struct.h:100             uint32_t intr_st:    8;                 /*GPIO32~39 interrupt status write 1 to set*/
gpio_struct.h:107             uint32_t intr_st:    8;                 /*GPIO32~39 interrupt status write 1 to clear*/
gpio_struct.h:120             uint32_t intr:       8;                 /*GPIO32~39 APP CPU interrupt status*/
gpio_struct.h:127             uint32_t intr:       8;                 /*GPIO32~39 APP CPU non-maskable interrupt status*/
gpio_struct.h:134             uint32_t intr:       8;                 /*GPIO32~39 PRO CPU interrupt status*/
gpio_struct.h:141             uint32_t intr:       8;                 /*GPIO32~39 PRO CPU non-maskable interrupt status*/
gpio_struct.h:148             uint32_t intr:       8;                 /*SDIO's extent GPIO32~39 interrupt*/
i2c_struct.h:249             uint32_t byte_num:      8;              /*Byte_num represent the number of data need to be send or data need to be received.*/
i2s_struct.h:261             uint32_t fifo_timeout:       8;
i2s_struct.h:308             uint32_t bad_cef_atten_para:       8;
i2s_struct.h:387             uint32_t clkm_div_num: 8;
rmt_struct.h:21                 uint32_t div_cnt:        8;             /*This register is used to configure the  frequency divider's factor in channel0-7.*/
rtc_cntl_struct.h:131             uint32_t ulp_cp_subtimer_prediv: 8;
sdmmc_struct.h:102             uint32_t div0: 8;   ///< 0: bypass, 1-255: divide clock by (2*div0).
sdmmc_struct.h:129             uint32_t response: 8;       ///< response timeout, in card output clock cycles
spi_struct.h:138             uint32_t usr_dummy_cyclelen: 8;                 /*The length in spi_clk cycles of dummy phase. The register value shall be (cycle_num-1).*/
spi_struct.h:226             uint32_t rdsta_dummy_cyclelen: 8;               /*In the slave mode it is the length in spi_clk cycles of dummy phase for read-status operations. The register value shall be (cycle_num-1).*/
spi_struct.h:235             uint32_t rdbuf_cmd_value: 8;                    /*In the slave mode it is the value of read-buffer command.*/
syscon_struct.h:30             volatile uint32_t xtal_tick:     8;
syscon_struct.h:37             volatile uint32_t pll_tick:     8;
syscon_struct.h:44             volatile uint32_t ck8m_tick:     8;
syscon_struct.h:80             volatile uint32_t rstb_wait:    8;
syscon_struct.h:97             volatile uint32_t apll_tick:     8;
uart_struct.h:143             uint32_t rxfifo_cnt: 8;                 /*(rx_mem_cnt rxfifo_cnt) stores the byte number of valid data in receiver's fifo. rx_mem_cnt register stores the 3 most significant bits  rxfifo_cnt stores the 8 least significant bits.*/
uart_struct.h:245             uint32_t xon_threshold:  8;             /*when the data amount in receiver's fifo is more than this register value， it will send a xoff char with uart_sw_flow_con_en set to 1.*/
uart_struct.h:297             uint32_t data:        8;                /*This register is used to configure the content of at_cmd char.*/
uhci_struct.h:251             uint32_t txfifo_timeout:       8;              /*This register stores the timeout value.when DMA takes more time than this register value to receive a data  it will produce  uhci_tx_hung_int interrupt.*/
uhci_struct.h:278             uint32_t seper_char:      8;                   /*This register stores the separator char  separator char is used to separate the data frame.*/
uhci_struct.h:287             uint32_t seq0:       8;                        /*This register stores the first substitute char used to replace the separate char.*/
uhci_struct.h:296             uint32_t seq1:       8;                        /*This register stores the flow control char to turn on the flow_control*/
uhci_struct.h:305             uint32_t seq2:       8;                        /*This register stores the flow_control char to turn off the flow_control*/

Thanks for this @rojer. There's something very unusual going on here!

This bug doesn't happen at Debug optimatisation (-Og), only Release (-O2).

Very simple code like I2C0.command[x].byte_num = value doesn't trigger it.

The bug doesn't happen if you remove the write to 'val' at the top of the function:

void __attribute__ ((noinline)) bugmemore(i2c_dev_t *dev, int ci, uint16_t bn) {
  //dev->command[ci].val = 0;
  dev->command[ci].op_code = 1;
  dev->command[ci].ack_en = true;
  dev->command[ci].done = 1;
  dev->command[ci].byte_num = bn;  // doesn't boom
  dev->command[ci].ack_val = 0;
}

I don't 100% understand what's happening here. Writing the 'val' part of the union to zero seems to trigger the bug because gcc decides it now "knows" the values of the fields in the struct on the other side of the union, and can optimise accordingly. This seems like it may be near the root of the bug, because the entire union is part of a "volatile" struct so (AFAIK) gcc should never optimise on that assumption and should always generate a read-modify-write for each field. Possibly we need to sprinkle "volatile" somewhere else in the struct register definitions, or possibly it's a toolchain bug.

The bug doesn't happen if i2c_dev_t isn't a pointer:
void attribute ((noinline)) bugmemore(i2c_dev_t *dev, int ci, uint16_t bn) {

  dev = &I2C0;
  dev->command[ci].val = 0;
  dev->command[ci].op_code = 1;
  dev->command[ci].ack_en = true;
  dev->command[ci].done = 1;
  dev->command[ci].byte_num = bn;  // no more boom
  dev->command[ci].ack_val = 0;
}

... I have no idea why that is.

While we're looking into this, something you can do is build the struct on the stack and then copy it to the register. This is actually a higher-performance option than writing each element directly, as gcc generates fewer read-write-modify cycles.

void __attribute__ ((noinline)) bugmemore(i2c_dev_t *dev, int ci, uint16_t bn) {
    const typeof(*dev->command) command = {
        .val = 0,
        .op_code = 1,
        .ack_en = true,
        .done = 1,
        .byte_num = bn,
        .ack_val = 0,
    };
    dev->command[ci].val = command.val;
}

It feels a bit odd to have to use the typeof() gcc-ism for this, maybe we should add explicit struct type names to the struct registers. Also, the C99-style struct initializer is also for performance as the type is still volatile, so will otherwise still issue read-modify-writes of the stack variable for each field write.

Possibly we need to sprinkle "volatile" somewhere else in the struct register definitions, or possibly it's a toolchain bug.

Explicitly adding absurdly redundant "volatile"s everywhere in the type (which shouldn't change the type at all anyhow, AFAIK) doesn't change the compiler output:
  volatile union {
       volatile struct {
            volatile uint32_t byte_num:      8;              /*Byte_num represent the number of data need to be send or data need to be received.*/
            volatile uint32_t ack_en:        1;              /*ack_check_en  ack_exp and ack value are used to control  the ack bit.*/
            volatile uint32_t ack_exp:       1;              /*ack_check_en  ack_exp and ack value are used to control  the ack bit.*/
            volatile uint32_t ack_val:       1;              /*ack_check_en  ack_exp and ack value are used to control  the ack bit.*/
            volatile uint32_t op_code:       3;              /*op_code is the command  0：RSTART   1：WRITE  2：READ  3：STOP . 4:END.*/
            volatile uint32_t reserved14:   17;
            volatile uint32_t done:  1;                      /*When command0 is done in I2C Master mode  this bit changes to high level.*/
        };
        volatile uint32_t val;
    } volatile command[16];

So unless there's some intricacy of the C standard I don't understand (or I need my morning coffee before understanding), this is a gcc bug when writing to both sides of a volatile union.

Minimal test case:
typedef volatile struct {
  union {
	struct {
	  uint32_t byte2 : 8; // There can be other fields before this, it just needs to be type-aligned
	};
	uint32_t word;
  } a_reg[1];
} test_t;

void set_fields(test_t *test, int i)
{
  test->a_reg[0].word =0;
  test->a_reg[0].byte2=3;
}

Compiling with -O2 -fstrict-volatile-bitfields creates s8i on our toolchain, and a movb on amd64 w/ gcc 7.
Looks very similar to this bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50521
Which was in my browser history already, so clearly I have bad memory for bugs I've already seen...

Byte-wise access happens to work in some cases (SPI and UART FIFOs, for example), but as a general rule, peripheral registers only support 32-bit access. Behaviour for byte-wise access depends on the exact peripheral and buses, and may include generating a bus fault (Exception 3), value truncation, or some other undefined behavior.
In this case, we assumed that -fstrict-volatile-bitfields is enough to instruct the compiler to use the type of the field when choosing the write mode. There was another instance when this was happening in I2C driver, workaround was added in this commit: https://github.com/espressif/esp-idf/commit/94b91ee4af30f741ec8001331c358d2f596ed4ce.

does something in the standard say that access in this case has to be by word?

C standard doesn't say anything about this. However, gcc has -fstrict-volatile-bitfields which (should)[^] produce word accesses here. The default for this setting varies per-architecture, as some architectures (like ARM) explicitly say in their ABI that this kind of bitfield access is required so gcc enables it by default. For Xtensa it's off by default but we enable it in our compiler flags. (This isn't relevant to the bug, which seems to be non-architecture-specific, just gcc related trivia!)
There are a few -fstrict-volatile-bitfields patches floating around - there are the ones at the URL above, and one in this patch series here - https://gcc.gnu.org/ml/gcc-patches/2013-09/msg02057.html . Some combination of these will probably fix this, and we can probably apply them to our toolchain. Need a bit more time to investigate, first.
For now I'd suggest using the workaround with the struct initializer. As mentioned, this will give better performance than piecemeal volatile writes - and it's still pretty readable IMO.
[^] The bug report I linked above has a maintainer saying at one point that a bitfield in a volatile union may not meet gcc's defintion of a volatile bitfield, but this still doesn't seem like a "by design" thing to me.

@rojer Sorry that get back to you so late, has your issue been resolved? Thanks.

@Alvin1Zhang the particular issue about I2C register access has been resolved, but this bug is about generic issue of 8-bit stores to 32-bit peripheral registers. as @projectgus mentions in his comment here and @igrr says in https://github.com/espressif/esp-idf/issues/2413#issuecomment-422631305, this needs more investigation/work.
perhaps as a short-term measure, 8-bit wide struct fields on the byte boundaries could be disabled - e.g. byte_num renamed to byte_num_bug597, etc.

@rojer Thanks for the updates.

Closed on master branch by 874a720286b78e866684129ce18a6c948c8fa7fe and 14fe6dcaaf6d1bb9a1d1bb1d0e51a8fd184101e7 (for C++ workaround)


riverpod_lint conflicts with flutter_test

Describe the bug
riverpod_lint cannot be installed if there is flutter_test in pubspec.yaml
To Reproduce

Create a fresh flutter project
In the default pubspec.yaml, it has:

dev_dependencies:
  flutter_test:
    sdk: flutter

Don't touch this, yet!
3. Install the following:
flutter pub add hooks_riverpod
flutter pub add flutter_hooks
flutter pub add riverpod_annotation
flutter pub add dev:riverpod_generator
flutter pub add dev:build_runner
flutter pub add dev:custom_lint
flutter pub add dev:riverpod_lint // this one causes the error

Here's the error:
Note: vm_service is pinned to version 14.0.0 by flutter_test from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.

    Because riverpod_lint <1.0.1 depends on riverpod_analyzer_utils ^0.0.1 and riverpod_lint >=1.0.1 <1.1.0 depends on riverpod_analyzer_utils ^0.0.2, riverpod_lint <1.1.0 requires riverpod_analyzer_utils ^0.0.1.
    And because riverpod_lint >=1.1.0 <1.1.3 depends on custom_lint_builder ^0.2.12 and riverpod_lint >=1.1.3 <1.1.4 depends on riverpod_analyzer_utils ^0.1.2, riverpod_lint <1.1.4 requires riverpod_analyzer_utils ^0.0.1 or
      ^0.1.2 or custom_lint_builder ^0.2.12.
    And because riverpod_lint >=1.1.4 <1.1.7 depends on custom_lint_builder ^0.3.2 and riverpod_lint ^1.3.2 depends on riverpod_analyzer_utils ^0.3.1, riverpod_lint <1.1.7-∞ or >=1.3.2 <2.0.0-∞ requires custom_lint_builder
      ^0.2.12 or ^0.3.2 or riverpod_analyzer_utils ^0.0.1 or ^0.1.2 or ^0.3.1.
    And because riverpod_lint >=1.1.7 <1.3.2 depends on custom_lint_builder ^0.3.3 and riverpod_lint >=2.0.0 <2.0.1 depends on riverpod_analyzer_utils ^0.3.2, riverpod_lint <2.0.1 requires custom_lint_builder ^0.2.12 or
      >=0.3.2 <0.4.0 or riverpod_analyzer_utils ^0.0.1 or ^0.1.2 or >=0.3.1 <0.4.0.
    And because riverpod_lint >=2.0.1 depends on custom_lint_builder ^0.5.2 and custom_lint_builder >=0.0.13 <0.5.5 depends on hotreloader ^3.0.5, every version of riverpod_lint requires riverpod_analyzer_utils ^0.0.1 or
      ^0.1.2 or >=0.3.1 <0.4.0 or hotreloader ^3.0.5 or custom_lint_builder ^0.5.5.
(1) So, because custom_lint_builder >=0.5.5 depends on hotreloader >=3.0.5 <5.0.0 and riverpod_generator >=2.3.7 <3.0.0-dev.2 depends on riverpod_analyzer_utils ^0.5.0, if riverpod_generator >=2.3.7 <3.0.0-dev.2 and
      riverpod_lint any then hotreloader >=3.0.5 <5.0.0.

    Because hotreloader >=3.0.5 <3.0.6 depends on vm_service >=6.0.1 <10.0.0 and hotreloader >=3.0.6 <4.1.0 depends on vm_service >=6.0.1 <12.0.0, hotreloader >=3.0.5 <4.1.0 requires vm_service >=6.0.1 <12.0.0.
    And because hotreloader >=4.1.0 depends on vm_service >=6.0.1 <14.0.0, hotreloader >=3.0.5 requires vm_service >=6.0.1 <14.0.0.
    And because if riverpod_generator >=2.3.7 <3.0.0-dev.2 and riverpod_lint any then hotreloader >=3.0.5 <5.0.0 (1), if riverpod_generator >=2.3.7 <3.0.0-dev.2 and riverpod_lint any then vm_service >=6.0.1 <14.0.0.
    And because riverpod_test depends on flutter_test from sdk which depends on vm_service 14.0.0, riverpod_generator >=2.3.7 <3.0.0-dev.2 is incompatible with riverpod_lint.
    So, because riverpod_test depends on both riverpod_generator ^2.3.9 and riverpod_lint any, version solving failed.

To be able to install riverpod_lint , remove this:
  flutter:
    sdk: flutter

and you can now install flutter pub add dev:riverpod_lint
Expected behavior
Install Riverpod packages at the same time be compatible with flutter_test.

Blocked by https://github.com/vegardit/dart-hotreloader/issues/17

That should be fixed by running dart pub upgrade.
Could you try?

Actually it seems like hotreloader hasn't been published yet.
In the meantime, I'd suggest using:
dependency_overrides:
  vm_service: ^14.0.0

thanks @rrousselGit ! the override works with both:
dev_dependencies:
  flutter_test:
    sdk: flutter
...
  riverpod_lint: ^2.3.7

i won't close this yet, so people newly integrating Riverpod could see this until hotreloader is published.

Should be good to go now


Word missing

File: glossary.md, CC @johndmulhausen
Missing "to" in the following sentence in the table:
"Learn how select the proper storage driver for your container."

It's not in the glossary, not sure how you filed this. It's in two different files to do with storage drivers. Fix imminent.


Type checker infers a type annotation for List.range that the type checker rejects

Currently, List.range has a type annotation of range : _ (for reasons that will become apparent momentarily). If you put List.range into the repl, it prints the inferred type:
range : {
    end : [At (Num a), Before (Num a), Length Nat],
    start : [After (Num a), At (Num a)],
    step ? Num a
}* -> List (Num a)

However, if you copy/paste that inferred annotation as the annotation for range itself, the compiler rejects it:

Yeah, this is a bit tricky. A smaller reproducer is
» f = \x -> x == 1

<function> : Num * -> Bool   # f

The core of the problem here is that the internal representation for number types is more specific than the one a user can write. Specifically, the actual representation of f is
f : (Int >= U8) -> Bool

for which the ability obligation is resolved, but we don't want to demote this back to Num a | a has Eq, because that is less precise.
However, since you can't write something like Int >= U8 in Roc, this instead gets converted back to Num a.
Maybe the best solution here is to append on the builtin abilities that apply for the numeric range we infer, when converting it back to a generalized type displayed to the user. That is, in this case, we would print back out Int >= U8 ~> Num a | a has Eq. We can avoid printing out all abilities, since Decode/Encode/Hash already apply for all numbers. So maybe it's just enough to print out Eq here.


Reality Capture using .xmp files

Hey!
I've got some awesome data I would love to train some nerfs on, but the data is in .xmp file format and looks like this:
<x:xmpmeta xmlns:x="adobe:ns:meta/">
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description xcr:Version="3" xcr:PosePrior="locked" xcr:Coordinates="absolute"
       xcr:DistortionModel="brown3t2" xcr:FocalLength35mm="65.478964140309"
       xcr:Skew="0" xcr:AspectRatio="1" xcr:PrincipalPointU="-0.012871369016343"
       xcr:PrincipalPointV="0.0017358637506797" xcr:CalibrationPrior="exact"
       xcr:CalibrationGroup="-1" xcr:DistortionGroup="-1" xcr:latitude="179.998188655585693N"
       xcr:longitude="37.983578116223768E" xcr:version="<IP_ADDRESS>" xcr:altitude="643099440/10000"
       xmlns:xcr="http://www.capturingreality.com/ns/xcr/1.1#">
      <xcr:Rotation>-0.628072249977553 0.778153220693978 -0.00167747778664398 0.0382608693246996 0.0287283186031107 -0.998854738982983 -0.777213841028742 -0.627417125072173 -0.0478162783946945</xcr:Rotation>
      <xcr:Position>3.92101192706972 3.06162084997137 1.34968371224218</xcr:Position>
      <xcr:DistortionCoeficients>-0.062191034720569 2.3214570830388 -26.2121457576208 0 0.000332769342338838 0.000451019835287317</xcr:DistortionCoeficients>
    </rdf:Description>
  </rdf:RDF>
</x:xmpmeta>

I went through the code of reality capture converter and unfortunately it only supports CSV files. At first I thought that it is going to have the same data just reorganized, but from I saw the expected data in .csv file is different. I would also love to undistort images using that brown3t2 model that I don't really familiar with. Do you think it is possible for me to use .xmp files to train data in nerfstudio?

If you can find a way to convert it to the format described here you should be all set. Note that we only support openCV camera models.


Training code issue on OpenOOD

Hi Kai,
Thank you again for previously contributing ISH to OpenOOD. We saw an issue (https://github.com/Jingkang50/OpenOOD/issues/224) that reported error during the forward pass of ISH model, causing training failure, and I could reproduce the bug. Would you mind taking a look at it and pushing fixes?
Thanks,
Jingyang

fixed :)


Clean glide

Description
Update glide.yml, glide.lock and vendor.

fix: golang/protobuf version
github.com/golang/protobuf:

github.com/prometheus/client_golang (no version)
github.com/gogo/protobuf (no version)
google.golang.org/appengine (no version)
github.com/matttproud/golang_protobuf_extensions (no version)

State:

Current version: 2bba0603135d7d7f5cb73b2125beeda19c09f4ef
Glide suggest: 8616e8ee5e20a1704615e6c8d7afcdac06087a67

Force to keep the current version.
Refs

https://github.com/golang/protobuf/commit/2bba0603135d7d7f5cb73b2125beeda19c09f4ef (Mar 31, 2017) next commit the Apr 27, 2017.
https://github.com/golang/protobuf/commit/8616e8ee5e20a1704615e6c8d7afcdac06087a67 (8 Jun 2016)

fix: Prometheus dependency version: matttproud/golang_protobuf_extensions
matttproud/golang_protobuf_extensions is used by:

github.com/prometheus/client_golang
github.com/prometheus/common

Force to the latest version.
Refs:

https://github.com/matttproud/golang_protobuf_extensions/commits/master (no dependencies manager)
24 Apr 2016, https://github.com/matttproud/golang_protobuf_extensions/commit/c12348ce28de40eed0136aa2b644d0ee0650e56c (master, HEAD)
6 Apr 2015, https://github.com/matttproud/golang_protobuf_extensions/commit/fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a

fix: Mesos/k8s dependency version: golang/glog
golang/glog is used by:

github.com/mesos/mesos-go (no version)
k8s.io/client-go (44145f04b68cf362d9c4df2182967c2275eaefed)

In #353 (add Mesos provider, 20 Jul 2016), the golang/glog hash is fca8c8854093a154ff1eb580aae10276ad6b1b5f.
The problem appear in #836 (use k8s client, 1 Dec 2016).
Refs:

Traefik:

https://github.com/containous/traefik/pull/836
https://github.com/containous/traefik/commit/131f581f77f2cab53079a624585cd19a88fab0ac

Glog

https://github.com/golang/glog/commits/master
https://github.com/golang/glog/pull/13
https://github.com/golang/glog/commit/44145f04b68cf362d9c4df2182967c2275eaefed
https://github.com/golang/glog/commit/fca8c8854093a154ff1eb580aae10276ad6b1b5f

k8s

https://github.com/kubernetes/client-go/blob/e121606b0d09b2e1c467183ee46217fa85a6b672/Godeps/Godeps.json
https://github.com/kubernetes/client-go/blob/master/Godeps/Godeps.json

fix: Vulcand dependency version: vulcand/predicate
vulcand/predicate is used by:

github.com/vulcand/oxy (no dependencies manager)
github.com/vulcand/route (used by github.com/vulcand/vulcand)

github.com/vulcand/vulcand (Godeps) required a old version cb0bff91a7ab7cf7571e661ff883fc997bc554a3.
19b9dde14240d94c804ae5736ad0e1de10bf8fe6 is the only commit before cb0bff91a7ab7cf7571e661ff883fc997bc554a3.
refs:

https://github.com/vulcand/vulcand/blob/42492a3a85e294bdbdd1bcabb8c12769a81ea284/Godeps/Godeps.json
https://github.com/vulcand/predicate/commits/master
https://github.com/vulcand/predicate/commit/19b9dde14240d94c804ae5736ad0e1de10bf8fe6

fix: k8s dependency version: emicklei/go-restful
emicklei/go-restful is used by:

k8s.io/client-go  (Godeps)

Refs:

https://github.com/kubernetes/client-go/blob/e121606b0d09b2e1c467183ee46217fa85a6b672/Godeps/Godeps.json

fix: Prometheus dependencies
Prometheus is related to go-kit/kit.
go-kit/kit doesn't have dependency manager.
We use go-kit/kit v0.3.0 (15 Nov 2016).
We must explicitly declare the Prometheus dependencies.
Prometheus doesn't have dependency manager.
Use the commit date to fixed all hash.
refs:

go-kit

https://github.com/go-kit/kit/tree/v0.3.0 (15 Nov 2016)

Prometheus

https://github.com/prometheus/client_golang/commits/master
https://github.com/prometheus/client_golang/commit/08fd2e12372a66e68e30523c7642e0cbc3e4fbde (Apr 1, 2017)
https://github.com/prometheus/common/commits/master
https://github.com/prometheus/common/commit/49fee292b27bfff7f354ee0f64e1bc4850462edf (Feb 20, 2017)
https://github.com/prometheus/client_model/commits/master
https://github.com/prometheus/client_model/commit/6f3806018612930941127f2a7c6c453ba2c527d2 (Feb 16, 2017, master, HEAD)
https://github.com/prometheus/procfs/commits/master
https://github.com/prometheus/procfs/commit/a1dba9ce8baed984a2495b658c82687f8157b98f (Feb 16, 2017)

ETCD problem:
Seems we don't use this file:
 D vendor/github.com/coreos/etcd/pkg/fileutil/fileutil.go
 D vendor/github.com/coreos/etcd/pkg/fileutil/lock_plan9.go
 D vendor/github.com/coreos/etcd/pkg/fileutil/lock_solaris.go
 D vendor/github.com/coreos/etcd/pkg/fileutil/lock_unix.go
 D vendor/github.com/coreos/etcd/pkg/fileutil/lock_windows.go
 D vendor/github.com/coreos/etcd/pkg/fileutil/perallocate_unsupported.go
 D vendor/github.com/coreos/etcd/pkg/fileutil/preallocate.go
 D vendor/github.com/coreos/etcd/pkg/fileutil/purge.go
 D vendor/github.com/coreos/etcd/version/version.go

Glide warn state:
[WARN]	Conflict: github.com/Sirupsen/logrus rev is currently 10f801ebc38b33738c9d17d50860f484a0988ff5, but github.com/vulcand/vulcand wants f7f79f729e0fbe2fcc061db48a9ba0263f588252
[WARN]	Conflict: github.com/vulcand/oxy rev is currently f88530866c561d24a6b5aac49f76d6351b788b9f, but github.com/vulcand/vulcand wants 8d49f51577f79f0ffd7607ec9fab42b300002851
[WARN]	Conflict: golang.org/x/net rev is currently 242b6b35177ec3909636b6cf6a47e8c2c6324b5d, but github.com/vulcand/vulcand wants 6460565bec1e8891e29ff478184c71b9e443ac36
[WARN]	Conflict: golang.org/x/sys rev is currently 8d1157a435470616f975ff9bb013bea8d0962067, but github.com/vulcand/vulcand wants eb2c74142fd19a79b3f237334c7384d5167b1b46
[WARN]	Conflict: github.com/gogo/protobuf rev is currently v0.3, but k8s.io/client-go wants e18d7aa8f8c624c915db340349aad4c49b10d173
[WARN]	Conflict: github.com/miekg/dns rev is currently 8060d9f51305bbe024b99679454e62f552cd0b0b, but github.com/mesosphere/mesos-dns wants d4ee3f8757f79c17405846965b8a620de7ca9073
[WARN]	Conflict: golang.org/x/oauth2 rev is currently 7fdf09982454086d5570c7db3e11f360194830ca, but k8s.io/client-go wants 3c3a985cb79f52a3190fbc056984415ca6763d01
[WARN]	Conflict: github.com/golang/protobuf rev is currently 2bba0603135d7d7f5cb73b2125beeda19c09f4ef, but k8s.io/client-go wants 8616e8ee5e20a1704615e6c8d7afcdac06087a67
[WARN]	Conflict: github.com/matttproud/golang_protobuf_extensions rev is currently c12348ce28de40eed0136aa2b644d0ee0650e56c, but github.com/coreos/etcd wants fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a
[WARN]	Conflict: github.com/prometheus/client_model rev is currently 6f3806018612930941127f2a7c6c453ba2c527d2, but github.com/coreos/etcd wants fa8ad6fec33561be4280a8f0514318c79d7f6cb6
[WARN]	Conflict: github.com/prometheus/common rev is currently 49fee292b27bfff7f354ee0f64e1bc4850462edf, but github.com/coreos/etcd wants ffe929a3f4c4faeaa10f2b9535c2b1be3ad15650
[WARN]	Conflict: github.com/prometheus/procfs rev is currently a1dba9ce8baed984a2495b658c82687f8157b98f, but github.com/coreos/etcd wants 454a56f35412459b5e684fd5ec0f9211b94f002a
[WARN]	Conflict: github.com/docker/distribution rev is currently v2.6.0, but k8s.io/client-go wants cd27f179f2c10c5d300e6d09025b538c475b0d51
[WARN]	Conflict: github.com/aws/aws-sdk-go rev is currently v1.6.18, but github.com/docker/distribution wants 90dec2183a5f5458ee79cbaf4b8e9ab910bc81a6
[WARN]	Conflict: cloud.google.com/go rev is currently v0.7.0, but k8s.io/client-go wants 3b1ae45394a234c385be014e9a488f2bb6eef821
[WARN]	Conflict: github.com/vulcand/predicate rev is currently 19b9dde14240d94c804ae5736ad0e1de10bf8fe6, but github.com/vulcand/vulcand wants cb0bff91a7ab7cf7571e661ff883fc997bc554a3
[WARN]	Conflict: google.golang.org/grpc rev is currently v1.2.0, but github.com/coreos/etcd wants f5ebd86be717593ab029545492c93ddf8914832b

Comments are automatically removed when you are doing glide get...

Indeed, good point (that's too bad 😢)


Query execution in Combined view shows only the first query time.

Describe the bug
In query mode, when running two queries, the combined view shows only the time of the first query.
To Reproduce
Steps to reproduce the behavior:

Go to query mode
Run two queries at the same time.
Alternate between JSON view and combined view and check the time

Expected behavior
The combined view should show the total execution time.
Environment (you can view the current version under Settings):

Operating System [e.g. Windows]: Linux
Surrealist Version [e.g. 1.2.0]: 1.11
SurrealDB Version [execute "surreal version"]: v1

This has been fixed and will be available in the next release


Unable to run 'adb' check your Android SDK

Unable to run 'adb' check your Android SDK installation and ANDROID_HOME environment variable

Hi @fathy22
can you please provide your updated  flutter doctor -v
and your flutter run --verbose?
Thank you

[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 6.3.9600], locale ar-EG)
• Flutter version 1.12.13+hotfix.5 at E:\Flutter\flutter
• Framework revision 27321ebbad (5 days ago), 2019-12-10 18:15:01 -0800
• Engine revision 2994f7e1e6
• Dart version 2.7.0
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at C:\Users\Fathy Ramadan\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
• All Android licenses accepted.
[√] Android Studio (version 3.5)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 42.1.1
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
[√] IntelliJ IDEA Community Edition (version 2019.2)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.2.4
• Flutter plugin version 42.1.3
• Dart plugin version 192.7761
[☠] Connected device (the doctor check crashed)
X Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know about this issue at https://github.com/flutter/flutter/issues.
X Exception: Unable to run "adb", check your Android SDK installation and ANDROID_HOME environment variable: C:\Users\Fathy Ramadan\AppData\Local\Android\sdk\platform-tools\adb.exe

Hi @fathy22
I see there's an open issue addressing the case you described.
Please follow up on that issue,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you

Could you provide the link of  that issue you mentioned?

@fathy22
"issue" it's an hyperlink to this https://github.com/flutter/flutter/issues/47037

Reinstalling Android Studio Solved Mine

please check your adb file is missing at Android/sdk/platform-tools solution is to download new platform tools and replace with current one


Configure the Intranet Zone for client machines - URLs needed

Hi,
the section Configure the Intranet Zone for client machines specifies that 2 URLs are needed. However, step 4 of the procedure contains only 1 URL, while the image after step 5 contains two (and being an image is difficult to assess if the 2nd URL is shown as a sample or is also mandatory). Could you please resolve the ambiguity by fixing the text or the image? Thanks.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 21fa537d-81fc-ccc9-f7f8-1486e71dea62
Version Independent ID: 8e578d88-8bcb-a229-95f6-10b760d6f563
Content: Azure AD Connect: Custom installation
Content Source: articles/active-directory/hybrid/how-to-connect-install-custom.md
Service: active-directory
GitHub Login: @billmath
Microsoft Alias: billmath

@jordi-j I have assigned this to the author to validate and update the doc accordingly. Thanks.

@jordi-j Good catch.  There used to be 2 URLs needed but now there is only 1.  This has been fixed and should be live in the next day or 2.  Thanks!
#please-close


error: Package 'redshank-' is unavailable

I have encountered this problem ...
Should this package be removed by melpa / gnu elpa

Yep, actually I removed it from MELPA, and forgot to remove it from this config. Now fixed.


Log in - App is showing a blank page after login

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch the app
Log in with expensifail account
Log out from account
Log in with different expensifail account

Expected Result:
User is able to log in.
Actual Result:
User is stuck in splash screen
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.1.14-0
Reproducible in staging?: Yes
Reproducible in production?: No
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/44479856/140439475-f9f21d40-6584-42f4-a0fb-fd9fba00c1a6.mp4
https://user-images.githubusercontent.com/44479856/140439263-7a37daa9-0d82-406e-a0e7-1a37d6c52a3b.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @marcochavezf (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

woops @kavimuru won and Already exported here https://github.com/Expensify/App/issues/6228 Closing


chore: Dedupe webpack configs.

Per discussion with @dwelle, this PR dedupes the webpack configs for @excalidraw/excalidraw and @excalidraw/utils.
#5449 is a subset of #2993.
#5449 reduces webpack boilerplate in advance of @excalidraw/extensions.  In particular, src/packages/common.webpack.dev.config.js is provided in anticipation of such further @excalidraw/* packages.

Merging, thanks @DanielJGeiger 🎉


Explorer not starting after the installation of VSCode

VS Code Version:1.55
OS Version:Windows 10 Pro build 19042.928 20H2

After installing VSCode,rebooting the computer and logging in into my user I encountered a black screen.
I discovered that explorer was started but it didn't show up

I got to the event viewer and I saw this message:
The Client License Service (ClipSVC) service terminated with the following error:
The specified module could not be found.
I searched it on google,fixed and explorer started.
But can anyone explain to me why this is happening?

I am not sure why VSCode would utilize this service, can you clarify from where did you download VSCode ?

I downloaded VSCode from code.visualstudio.com (I think that's the official,isn't it?)
I'm not sure if VSCode caused this problem but this occurred after the installation of VSCode.
(Sorry for the late reply)

I downloaded VSCode from code.visualstudio.com (I think that's the official,isn't it?)

Yup that is correct.

I'm not sure if VSCode caused this problem but this occurred after the installation of VSCode.

Haven't seen any similar issue reported so far, if the issue happens again with VSCode installation, we can look into it. Closing for now.


Definite assignment for exhaustive switch statements.

Consider the following code
function test4(value: 1 | 2) {
    let x: string;
    switch (value) {
    case 1: x = "one"; break;
    case 2: x = "two"; break;
    }
    return x; //There is no path through the switch so x is alwayes assigned here.
}

Expected behavior:
The code should type check under --strict
Actual behavior:
Definite assignment does not realize that the switch is exhaustive and that all paths assign to x, so we get an error.
Checked with 2143a3f439aea887b2078e21e7585e4fa712f5fa

The problem is that definite assignment doesn't take types into account, it just works on the control flow graph. Adding a default: throw new Error("..."); should do the trick though.

Internally we use (simplified) default: throw assertNever(x); with
function assertNever(member: never): never {
    throw new Error("Illegal value: " + member);
}

I use that as well. Note however that
function test4(value: 1 | 2) {
    let x: string;
    switch (value) {
    case 1: x = "one"; break;
    case 2: x = "two"; break;
    default: assertNever(value); break;
    }
    return x; //There is no path through the switch so x is alwayes assigned here.
}

Will not work due to #20822

Yeah, that's why you have to write throw assertNever(value); to indicate to control flow that it never returns.

not return assertNever(value)?
I do use a similar helper in my code, which I called unreachable.

The function's never going to finish evaluating either way, so it doesn't really matter whether you return or throw the result -- just a style preference.

Armchair perf speculation: return probably won't trigger a de-opt.

@andy-ms is this something you plan to tackle in the future?


attachListener rendition #1

Appears to have been extracted from the more complicated renditions. The bit that uses Function.prototype.call is an unneeded artifact in rendition #1.

@david-mark how can I remove call inside rendition1? It needs to call the function with the element as this - or is that you get that for free without calling? goes to check

Does this work for you @david-mark https://github.com/david-mark/jessie/pull/306


Hub arm updates may 2024

Description:

Make a bunch of changes to the ARM template underlying workspaces

Connections to AOAI and content safety are no longer automatically created.
Container registries and application insights are no longer automatically created if pre-existing resources are not supplied by the user.

Additionally, the workspace CREATE operation had an ai_services field added, which causes the operation to create a connection to that ai services in the resultant workspaces. This is done outside the workspace ARM template, as discussions with the workspaceRP team determined that the extant connection creation methods wouldn't work for an AI services connection, so a secondary API call is needed.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


Non-interactive env creation

Defaults using flags

I am wondering what is the best way to use EpicEnv in a production environment, for which interactive env creation is not possible. Is there a non-interactive way to decrypt and export env variables from EpicEnv ?
Thanks !

Yes you are right, I meant sourcing one rather than creating it !

Sourcing is all non-interactive. Are you running into something?


No support for Isolate.resolvePackageUri

Steps to Reproduce
When running an app and calling Isolate.resolvePackageUri(), which I assumed would be safe on any platform, I see that it is an unsupported operation.
Logs
E/flutter (27891): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (27891): Unsupported operation: Isolate.resolvePackageUri
E/flutter (27891): #0      initializeTimeZone.<anonymous closure> (package:timezone/standalone.dart:74:5)
E/flutter (27891): #1      _RootZone.runUnary (dart:async/zone.dart:1381)
E/flutter (27891): #2      _FutureListener.handleError (dart:async/future_impl.dart:144)
E/flutter (27891): #3      _Future._propagateToListeners.handleError (dart:async/future_impl.dart:645)
E/flutter (27891): #4      _Future._propagateToListeners (dart:async/future_impl.dart:666)
E/flutter (27891): #5      _Future._completeError (dart:async/future_impl.dart:485)
E/flutter (27891): #6      _SyncCompleter._completeError (dart:async/future_impl.dart:55)
E/flutter (27891): #7      _Completer.completeError (dart:async/future_impl.dart:27)
E/flutter (27891): #8      _loadAsBytes (package:timezone/standalone.dart)

Question
Is it intentionally unsupported? Or is it just not supported yet? I could not find any documentation on this.

/cc @a-siva

On the command line VM the embedder sets up the VMLibraryHooks class which has the resolvePackageUri functionality by calling into the '_setupHooks' method in builtin.dart.
For some reason we don't do the same in flutter engine, need to investigate why.

Any updates on this?

Also have this problem, trying to use my own package which uses a static data json file - I can't load it, via File nor the Resource package.

Also getting this error when trying to run tests with mock_web_server.
Unsupported operation: Isolate.resolvePackageUri

dart:isolate                              Isolate.resolvePackageUri
package:resource/src/resolve.dart 11:20   resolveUri
package:resource/src/resource.dart 64:21  Resource.readAsBytes
===== asynchronous gap ===========================
dart:async                                _AsyncAwaitCompleter.completeError
package:resource/src/resource.dart        Resource.readAsBytes

Any progress on this issue?

https://pub.dartlang.org/packages/path_provider or https://docs.flutter.io/flutter/services/AssetBundle-class.html might be the path-lookups you're looking for.  https://flutter.dev/docs/development/ui/assets-and-images
I'm not sure whether this was intentional or not.  But it's also not immediately clear what this API should do in Flutter?

@eseidelGoogle Isolate.spawn seems to be using it:
From current testing, this prevents background Isolates on iOS (created using FlutterEngine(name: "MyIsolate", project: nil, allowHeadlessExecution: true)) from creating further child Isolates themselves.

Related to https://github.com/rmawatson/flutter_isolate/issues/5 - this is a major headache now.

Adding on - code that relies on executing compute calls to lift tasks out of the main thread will also not run in the iOS background.

@a-siva Actually Flutter doesn't use dart:_builtin. Flutter's equivalent of _builtin is ui/natives.dart, and they are calling that library's _setupHooks() method here.
So I think the issue here is that there's some functionality missing from ui/natives.dart required to make Isolate.resolvePackageUri work.

@liamappelbe is it an easy fix?

Not sure yet. Still investigating.

Looks like we can't just naively copy the implementation that dart uses. We'll need to implement something custom.
@cbracken Any ideas about what this API should do on Flutter? It's supposed to turn "package:" URIs into absolute URIs. For example, when I run this on Linux I get an absolute path to the dart file of the package. Does that make sense on all Flutter platforms?

Looks like we can't just naively copy the implementation that dart uses. We'll need to implement something custom.
@cbracken Any ideas about what this API should do on Flutter? It's supposed to turn "package:" URIs into absolute URIs. For example, when I run this on Linux I get an absolute path to the dart file of the package. Does that make sense on all Flutter platforms?

@liamappelbe apps are stored in containers on iOS, so it would make sense to resolve to the absolute path of filesystem + container?

The entire "package URI resolution" does not make sense for AOT compilation. It assumes that source files are available at run-time, and then further assumes that other files can be found next to them. This model works fine for programs distirbuted as source, but an AOT-compiled program has no need to replicate the source directory structure anywhere.
One option is to include resources in the binary in a virtual file system, and resolve package URIs for those resources to internal URIs like dart-resource://packagename/foo/bar.txt. Some code may fail to handle that because it assumes file URIs, but we never promised that.
It does mean that the build step will have to have a way to specify resource files (or maybe just assume that any non-.dart file in a lib/ directory is a resource, but you probably still want to be able to tree-shake resources.

This is starting to sound like code smell for the Isolate.spawn mechanism? Why would it require access to resources, by default & thus prevent the spawn itself?

The Isolate.spawn function should not require anything which is not already available for the cloned isolate. It really should just clone the current isolate's code (reinitializing global variables), and then run the specified function.
It's Isolate.spawnUri that is not really meaningful for AOT-compiled code. You have to have a compiled image ready for the given target URI, and you don't actually use that URI for anything except looking up the image. It would make more sense to have a "resource"/"asset" concept, and make compiled isolate images a resource made available by the deployment system, not something referenced by source URI.

@lrhn how to move on from here? Based on your comment and the source code visible at https://api.flutter.dev/flutter/foundation/compute.html, the Flutter compute function should simply work?

I see no issue in that code either (from a cursory reading), so I'm not sure what you are asking about.
If the Isolate.resolvePackageUri function doesn't work, then it's not because of this code, but an underlying issue in the Flutter isolate set-up phase, as discussed above.

Reproducible on the latest master 1.23.0-8.0.pre.105.

flutter doctor -v
[√] Flutter (Channel master, 1.23.0-8.0.pre.105, on Microsoft Windows [Version 10.0.19041.508], locale en-US)
    • Flutter version 1.23.0-8.0.pre.105 at C:\Development\flutter_master
    • Framework revision f1013e6873 (5 hours ago), 2020-10-02 09:50:33 +0800
    • Engine revision 0522ff22cc
    • Dart version 2.11.0 (build 2.11.0-181.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.6.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.6.30320.27
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (6 available)
    • SM G950F (mobile)           • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • sdk gphone x86 arm (mobile) • emulator-5554      • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)           • windows            • windows-x64    • Microsoft Windows [Version 10.0.19041.508]
    • Web Server (web)            • web-server         • web-javascript • Flutter Tools
    • Chrome (web)                • chrome             • web-javascript • Google Chrome 85.0.4183.121
    • Edge (web)                  • edge               • web-javascript • Microsoft Edge 85.0.564.51

• No issues found!

Minimal reproducible code sample
import 'dart:isolate';
void main()=> Isolate.resolvePackageUri(Uri());

Just to be clear, this missing piece has pretty big implications IMO. The result of missing Isolate.resolvePackageUri() is that anything but quite trivial pieces of Dart code cannot be used in background isolates on iOS.
An non-obvious example is rootBundle.loadString() as it uses compute() for large (> 10 kB) strings. You will never know when a piece of code will fail at run-time because it deep down, in some low-level Flutter code compute() is used.
Missing Isolate.resolvePackageUri() also blocks anything but very simple handling of background (data-only) push notifications on iOS. https://github.com/FirebaseExtended/flutterfire/issues/47
Another area is backgrounded downloads. No advanced processing in Dart code can be performed.
Another area is background updates on iOS that also requires a headless background isolate. This can tie in to background update of iOS widgets.
This is all areas where any data load and algorithms held by the main app needs to be re-implemented in native code solely because we cannot generally rely on our Dart code to be able to run in the background.
My point is that a bunch of low-level Flutter code hits this limitation on iOS and it is not at obvious. It is much more broadly applicable than the obscurity of Isolate.resolvePackageUri() indicate to me.

Is there a workaround for this issue? I'm using compute in a background Isolate in response from a request from Apple Watch on iOS and getting the "Unsupported operation: Isolate.resolvePackageUri" error.

like @lrhn said, failing to do Isolate.spawn if resolvePackageUri is unimplemented(https://github.com/dart-lang/sdk/blob/main/sdk/lib/_internal/vm/lib/isolate_patch.dart#L368) is too harsh - there is no additional source loading needed for it, that uri is only used in diagnostic messages in Isolate.spawn flow.

fix, which removes use of Isolate.resolvePackageUri from Isolate.spawn, should have landed in flutter in https://github.com/flutter/flutter/commit/38455c515f1adf349dc5f74ef8278d85969e58e9

Awesome work, thanks @aam


[Storage - File Datalake] test failing in nightly runs

Storage - File Datalake nightly test runs are failing with:

Error message:
Timeout of 1200000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/runner/work/1/s/sdk/storage/storage-file-datalake/dist-esm/storage-file-datalake/test/node/highlevel.node.spec.js)
Stack trace:
Error: Timeout of 1200000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/runner/work/1/s/sdk/storage/storage-file-datalake/dist-esm/storage-file-datalake/test/node/highlevel.node.spec.js)
at Test.Runnable._timeoutError (/Users/runner/work/1/s/common/temp/node_modules/.pnpm/mocha@7.2.0/node_modules/mocha/lib/runnable.js:442:10)
at Timeout. (/Users/runner/work/1/s/common/temp/node_modules/.pnpm/mocha@7.2.0/node_modules/mocha/lib/runnable.js:252:24)
at listOnTimeout (internal/timers.js:557:17)
at processTimers (internal/timers.js:500:7)

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1031552&view=results

@EmmaZhu these look flaky because the later tests pass. Possibly onetime flakyness?
For added information: we started creating issues for nightly builds in order to reduce test flakyness and keep our CI builds green. You may opt-out if it's noisy / unhelpful by letting me know which packages should opt-out. But our hope is that this will improve our test resiliency by identifying flakyness and any broken builds

Hi @maorleger
Monitoring on nightly builds would be very helpful. Thanks a lot for creating one for us.
For now I'm not sure what should be opt-out yet. Only for this issue, it's a timeout which may be caused by transient network slowness, which is not an issue in SDK. I think this issue can be closed now.
Thanks
Emma

Thanks for confirming! I'll close this.


1.20.1 support please

1.20.1 Support please!

Like stated in https://github.com/michiruf/MCProxyCommand/issues/6 I do not really plan to bump version if I cannot find a solution to support multiple at once


A new video-text dataset which may help

Vript is a fine-grained video-text dataset with 12K annotated high-resolution videos (~400k clips), where each clip has a detailed caption of ~145 words.

Could you please propose a pr in the dataset section?

Vript is a fine-grained video-text dataset with 12K annotated high-resolution videos (~400k clips), where each clip has a detailed caption of ~145 words.

isn't that a non-commercial dataset?

It is non-commercial and academic only.

Could you please propose a pr in the dataset section?

@mutonix


Dinner at Lionlodge

I'm preparing to run this one shot but some of the items/creatures in the adventure are not present on the website. I took screenshots to make them easy to reference but obviously this way (or even using the PDF) I lose the "hover for details" function of the website which is super useful when you're beginner-ish. I'm also applying a Weak adjustment to the boss but there's no way to do it on the PDF.
Can someone add:

Cultist of Alocer (creature lvl3) [different from the lvl1 Cultist upscaled to lvl3]
Simulacra (creature lvl4)
Poisoned Lock (hazard lvl5) [different from the lvl1 one found in the CRB]
Spider Mold (item lvl4)

to a homebrew file or the website. I would be super grateful.

It's an open issue on the official repo, it'll get converted eventually: https://github.com/Pf2eToolsOrg/Pf2eTools/issues/276


dist-info entry in site-packages for editable install

uv pip install -e creates a dist-info entry in site-packages, which python -m pip does not seem to do.
uv venv --python 3.10 --no-python-downloads --link-mode hardlink
source .venv/bin/activate
uv pip install -e ~/src/my_package
% ls .venv/lib/python3.10/site-packages/ | grep my_package
editable.my_package-<IP_ADDRESS>.pth
__editable___my_package_0_5_0_16_finder.py
my_package-<IP_ADDRESS>.dist-info
% uv --version
uv 0.4.0
% uname -a
24~22.04.1-Ubuntu SMP Thu Jul 18 10:43:12 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
I don't think it's a wrong behavior, but it's different from what pip does and it confuses Pylance.
The packages is completely functional in Python.

I think you need --config-setting editable_mode=compat in order to get these working with Pylance.

I also chimed in on the Pylance issue.

The suggested doesn't seem to work.
When I install my package as python -m pip install --config-settings editable_mode=compat -e ~/src/package, Pylance is able to recognize it properly -- imports from it are not higligted as errors and go to definition is able to jump to the underlying code.
But running uv pip install --config-setting editable_mode=compat -e ~/src/package results in Pylance reporting

Import "package" could not be resolved

I just checked it with uv 0.4.7, pip 24.2 and Pylance v2024.8.2.

Did you clear the cache first?

The cache of uv?

Yeah. If you’ve built the package previously, we may not rebuild it even if you provide a config setting like that (there’s an open PR that fixes this). So just to verify, I’d suggest running with the —reinstall flag.

Running uv cache clean package didn't seem to help, so I deleted the egg-info dir and run uv pip install --reinstall --config-setting editable_mode=compat -e ~/src/package and Pylance is happy now.
Thank you very much!


[bug]: Router Navigation issue with iOs swipe back

Describe the bug
After migration to v2 Navigation using guide: https://stacked.filledstacks.com/docs/stacked-router/routing-basics iOs swipe back navigation is not working. Swipe back on iOs does nothing and the screen remain the same. After switching back to v1 Navigation, swipe back is working correctly
To reproduce
Steps to reproduce:

Create a new Stacked project
Migrate to v2 Navigation: https://stacked.filledstacks.com/docs/stacked-router/routing-basics
Ad navigation to a new screen without clearing the backstack
Launch the app on iOs and try to swipe back after navigating to a new screen

Expected behavior
App is navigating back to previous screen
Screenshots
No response
Additional Context
No response

Hey,
Thanks for the issue.
I'm assuming you're building for Web first and mobile after?
The navigator2 is mostly for web apps, we definitely haven't tested much the native behaviour for different platforms.
This would be fixed by not using a custom route, which will add back the iOS transition to web, which you can then disable.
Change your routes to Cupertino or Material routes and the functionality should come back. Then disable those transitions on web.

Hi!
Thanks for your response! We are not really building app with the web support, but we decided to use Navigator2 as it was recommended in some doc and we thought that it's the more recent solution to which all apps should navigate if possible at some point.
Changing CustomRoute to CupertinoRoute was our first solution, but unfortunately it didn't help, the only thing that made it work was to change Router back to Navigation1

@FilledStacks any news on that one? We are wondering if we should migrate back to Navigation1 which was the only thing that fixed the issue. But it will be unfortunate, since we want to add web support soon so we might turn up in the same point.

Hey,
No we haven't looked at that. We still build with Navigator1, unless we're building web first.
I don't really recommend Navigator 2 for mobile apps, even though it's hidden in the Stacked implementation I still don't like it.
Cupertino route should fix it, but I haven't tested a Flutter web specific code base on an iOS device so I haven't experienced it myself.


Automated build of docker image

Also planning to rename the image as drupal is the one thing the image doesn't have. Possibly bowline-web-php and continnue to tag with the php version.


HTML vs UTF-8 in messages from scheduling tool

Describe the issue
Mon Sep 30 00:57:30 2024 Windl, Ulrich<EMAIL_ADDRESS>From: 	"Windl, Ulrich"<EMAIL_ADDRESS>To<EMAIL_ADDRESS><EMAIL_ADDRESS>Date: 	Mon, 30 Sep 2024 07:57:18 +0000
Subject: 	FW: [EXT] [Ntp] ntp - New Meeting Session Request for IETF 121

Hi Postmaster,

the message below using HTML entities (') in the name used "Content-Type: text/plain; charset="utf-8"" in the header, so the HTML entity is displayed literally. I guess it's not intended that way.

Kind regards,
Ulrich

-----Original Message-----
From: IETF Meeting Session Request Tool<EMAIL_ADDRESS>Sent: Wednesday, September 18, 2024 9:01 PM
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: [EXT] [Ntp] ntp - New Meeting Session Request for IETF 121
Importance: High

A new meeting session request has just been submitted by Karen
O'Donoghue, a Chair of the NTP Working Group.

---------------------------------------------------------
Working Group Name: Network Time Protocols
Area Name: Internet Area
Session Requester: Karen O'Donoghue

Number of Sessions: 1
Length of Session(s): 1.5 Hours
Number of Attendees: 30
Conflicts to Avoid:
Chair conflict: jose

Participants who must be present:

Resources Requested:

Special Requests:
Earlier in the week would be better if possible. There is a plan to have a Hackathon project, and if we can get an meeting session earlier in the week, we will likely have more in person attendees.

Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

duplicate of #934


[FEATURE] multiple events for a habit per day

Describe the solution you'd like
ability to set a habit to be done eg. "3 times per 1 day"

@Miaaaim I wanted to create the issue for "Multiple reminders in one day", and found this issue and think this can be related. Is it appropriate to request this feature here or better create another issue for this?

@Miaaaim i don't believe this solves the use case. how can i record multiple events throughout the day?

i see, the value can be changed by press and hold. a bit higher friction than i would imagine. any way to make it record one increment per press?

@zatevakhin You can set individual reminders for each habit. Hopefully, this resolves your issue.

i see, the value can be changed by press and hold. a bit higher friction than i would imagine. any way to make it record one increment per press?

Thanks for your suggestion. Actually we've considered this approach before, but there wasn't a particularly straightforward way to implement it. Currently, you need to long-press and then click to increment the value in the pop-up. However, if we come up with a better method in the future, we'll optimize it.


Team settings does not follow to new team

[Hi, I've read the previous feedback posts on this issue and agree that it should be made more clear that when using Teams admin center with templates all settings will not follow.
The table in the below link is what I'm referring to and it makes one think that using TAC with templates you can benefit by using for ex. the team settings from an already existing team ('create from existing team'), which simply doesn't work.
https://docs.microsoft.com/en-us/microsoftteams/get-started-with-teams-templates-in-the-admin-console#team-template-capabilities ]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ef94e9a3-a0a5-11da-f27b-627ac4fa6186
Version Independent ID: e49db873-ed77-de53-e4dd-be4fc571d734
Content: Get started with team templates in the Teams admin center - Microsoft Teams
Content Source: Teams/get-started-with-teams-templates-in-the-admin-console.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanachin

Hello @ChristianJBergstrom how are you?
I am looking into this.

Hello @ChristianJBergstrom according to the documentation, Create a team template from an existing team in Microsoft Teams is still a preview or early release feature so this might be expected but I'll try to confirm if that is still valid.

@get-itips Hello, let me rephrase. The initial post was simply an example, my apologies. It should be made clearer such as "if using TAC your configuration options are very limited, use PowerShell or Microsoft Graph for team properties settings." Or something like that. Thanks and Merry Christmas!

@ChristianJBergstrom  Do you mean adding a suggestion to the article that, to customize more team settings use for example PowerShell cmdlets?
Merry Christmas for you too!

@get-itips Thanks! Yes, I believe that would be valuable information. Try adding/configuring a template in TAC and you'll understand I'm sure :) Graph or PowerShell should be mentioned as the current way of configuring settings, not sure where though, so will leave that up to you.

Hello @ChristianJBergstrom how are you?
I've done templating in TAC in the past, I am not sure about adding a recommendation to configure more team settings using Ps to this article, I believe that, Administrators that use templates already know the existence of the other tools/procedures to configure teams settings (being in the TAC and also in Ps).
Please let me know if I understood your correctly,
Andrés

@get-itips Hello! To be honest and from my point of view I don't feel it's up to us assuming that administrators already know that using TAC for templates configuration will be a disappointment. It really should be made clear in some context that you simply cannot do any proper configuration in templates using Teams admin center.

I agree with Andrés that administrators who use templates already know about the other tools and procedures to configure Teams settings. Therefore, I don't think we should recommend that this article should say that TAC is not proper to handle template settings and thus PowerShell should be used to further customize them.

Let’s agree to disagree. At least I’m not alone when looking at the ”view all page feedback”.

@scanum


[FEATURE REQUEST] Per account quiet time or sync time

Expected behavior
I have multiple email accounts I use K9 for, one of them being work email. For this particular account I would only want to be notified of new emails only during my working hours.
Two ways of approaching this:

implement per account quiet time, allowing to set notification time, or disabling notifications completely (same options as in global notification settings)
implement per account syncing time, i.e. email only gets fetched between specified hours

Actual behavior
At the moment it's all or nothing. All email gets synced, and notifications are shown for all emails regardless of the email account.
Steps to reproduce
Does not apply
Environment
K-9 Mail version:
5.6000
Android version:
9
Account type (IMAP, POP3, WebDAV/Exchange):
IMAP

Duplicate of #993


[Tablet] Navbar on multiple views

Hello,
We used the ionic multiple views from https://github.com/alongubkin/ionic-multiple-views which worked great on beta 13.
On beta 14 it somewhat works but the navbar of the first view is not displayed : I made a plunkr using the demo from the repo to show the problem http://embed.plnkr.co/4XnSCrg8H7cRZluBcfHO/
Any thoughts on this ? It is very close from working and ( to me ) really is something a lot better for tablet than just showing the menu ( original demo here : http://alongubkin.github.io/ionic-multiple-views/demo/index.html#/masterDetail/messages)
Thanks

The issue seems to be with the plugin and should be fixed on that end.


Problems with pasting in values

UI-Mask does not behave as expected when pasting values into input.
This is how to recreate the issue:
Scenario 1

Enter value "by hand"
Select whole value
Paste different value to the input field

Expected behaviour:
Previous value is replaced.
Current behaviour:
Previous value is not replaced.
Scenario 2

Enter part of the value
Set cursor at the beggining
Paste some value

Expected behaviour:
Pasted value is inserted where cursor was pointing
Current behaviour:
Pasted Value is inserted at the end of the initial value disregarding cursor position

After looking at the code and doing a couple of tests, it seems like this issue can easily be resolved by removing the onPasteHandler.
However, maybe someone else is aware of the reason that handler is there in the first place. It doesn't seem to be doing much; except of course causing this issue as the code explicitly sets the cursor position at the end of the value. Interested in hearing someone else's input on this issue.


design common facet interface

“facet” is the object that provides the actual data and functionality for particular aspect of localization like:

Numeric
Time
Messages (or TextDomain?)
Measurement
…

I've been thinking about this for a while now, but I still see several options:

Facets are traits
If facets are traits, then we need:

Refer to them via some kind of pointer, with the choice being visible in the user API.

Construct default implementation somehow. That needs associating some items to the trait. To the trait, but not its implementations, so:

We will need generic trait Facet<T> specialized on the facet trait (Facet<Numeric> etc.).

We may either inherit that trait on the facet trait, or implement it on special tag object

Declaration like trait Numeric: Facet<Numeric> is common in C++ (the CRTP), but it is used for what Rust has Self in traits.

I am not sure we can define the items in the subtrait anyway.

Implementing on a tag object, i.e. requiring the user defining new trait do something like
impl FacetFactory<Numeric> for DefaultFacetFactory { … }

feels even more weird than the ‘CRTP’ above, though it mostly makes sense (it's called factory here because that is what it is; a default factory for instances that can be overridden with explicit set)

Facets are structs

Since the structs need fast clone, they will need to use pimpl.

And since we want that implementation to be overridable, we won't be able to really hide the choice of that pointer anyway.

We'll get an ugly, public, *Impl trait for each facet we define. Not to mention that trait for implementing struct sounds pretty strange too.

User-defined facets won't have to do it if they don't want to, but then they won't be extensible.

I consider this done as of revision https://github.com/rust-locale/rust-locale/commit/2dbf13080420a5a0ee1c695e88d8ee6058589fa5


What ports and protocols for blob, dfs etc.?

What ports and protocols must be open for blob, dfs etc.? 443 TCP?

Especially relevant for private endpoint + vpn or express route from onprem.

Would be great with some documentation on this.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 0ffff710-8eb7-d9ac-cf9b-2478c1b0da5b
Version Independent ID: 30888f6c-0508-cb67-db62-0700b10b39b4
Content: Troubleshoot problems with AzCopy (Azure Storage)
Content Source: articles/storage/common/storage-use-azcopy-troubleshoot.md
Service: storage
Sub-service: common
GitHub Login: @normesta
Microsoft Alias: normesta

@o-l-a-v
Thanks for your feedback! We will investigate and update as appropriate.

For you information Please refer the below in documented link
ports and portocals
https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/service-overview-and-network-port-requirements
for private end points
https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns#azure-services-dns-zone-configuration

Would be great if reference to relevant doc was referenced from the documentation in question.

@o-l-a-v
I'm going to assign this to the document author so they can take a look at it accordingly
@normesta
Can you please check and add your comments on this doc update request as applicable.

@o-l-a-v o-l-a-vY ou can access your data from Azure Blob Storage by using different protocols such as representational state transfer (REST), Hadoop Distributed File System (HDFS), Network File System (NFS), and Secure File Transfer Protocol (SFTP).
https://learn.microsoft.com/en-us/training/modules/access-data-azure-blob-storage-multiple-protocols/
Port 443 allows data transmission over an encrypted network, while Port 80 enables data transmission in plain text
This article contains security recommendations for Blob storage. Implementing these recommendations will help you fulfill your security obligations as described in our shared responsibility model. For more information on how Microsoft fulfills service provider responsibilities Security recommendations for Blob storage
Azure security baseline for Storage: https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/storage-security-baseline
Additional information: Now, with SFTP support for Azure Blob Storage, you can enable an SFTP endpoint for Blob Storage accounts with a single click. Then you can set up local user identities for authentication to connect to your storage account with SFTP via port 22.
This article describes SFTP support for Azure Blob Storage. To learn how to enable SFTP for your storage account, see Connect to Azure Blob Storage by using the SSH File Transfer Protocol (SFTP).
To create or update a security rule in the specified network security group. which can be used to enable ports 80 and 443 along with inbound rules:
https://learn.microsoft.com/en-us/rest/api/virtualnetwork/securityrules/createorupdate


Spring Samples need to use Spring bom ( Bill of Material) in its pom.

Problem Statement: Current engineering system do not allow bom files to use in our pom but Spring sample application needs it.
Where is this needed
Spring sample application is just like a sample in a SDK but it is an application for example it could be a web site.
We need to document a Spring application from user's point of view i.e. how user would write a spring application.
Following are two example of how  bom files are used in sample application.

User's pom.xml : Normally it including spring bom like below
     <dependency>
         <groupId>com.microsoft.azure</groupId>
         <artifactId>azure-spring-boot-bom</artifactId>
         <version>2.3.2-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
     </dependency>

Here is a sample in our repo
https://github.com/microsoft/azure-spring-boot/blob/master/azure-spring-boot-samples/pom.xml#L9
2.User's  pom.xml: It also include azure bom like below
        <dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-spring-boot-bom</artifactId>
            <version>2.3.2-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

Here is a sample in our repo
https://github.com/microsoft/azure-spring-boot/blob/master/azure-spring-boot-samples/pom.xml#L67
Issue at hand :

Currently we do not allow bom to be part of a pom file.
This works fine for a SDK point of view. But from Spring sample point of view, it is convention to use spring provided bom files.

What do we want to achieve :
Provide  a common/generic way to write samples which might use bom.
Acceptance Criteria :
This should be generic so that it would provide a way forward for other languages also.

Please provide input @JonathanGiles  @mitchdenny  @JimSuplizio @jialindai @saragluna

Jim and I caught up and had a bit more of a conversation about this yesterday and we still aren't even aligned from an EngSys perspective. So what I'm putting out here is really just my own thoughts on this just to try and get the conversation started.
I'll start with a few facts:

Samples are just documentation.
Samples are a bit different to documentation in that customers "run it".
Samples should therefore be validated that they build and run.
We already have samples that we build and run in the repo.
These are sample applications, so the mechanism we have to day won't work.
Samples are similar to smoke tests, not exactly the same.

With those facts in mind, I've got a few questions that might help us zero in on a solution:

How do customers find the samples?
What are the expectations when find the samples on master? Should they represent samples that work against the current released set of packages, or the set of packages actually in the repository at that point in time.
Assuming the answer to (2) is current released set of packages, what do we need to do to validate that they are correct? Is building against the current state of the repository even useful given that it doesn't do anything to prove that they are usable as samples right now by customers.
If we decide to build/validate samples against the current released packages what are the risks of a upcoming change breaking the sample and us not detecting it.

I've got my own answers/thoughts around these:

If a customer finds a sample on master then they should work against the currently released set of packages.
3 & 4. Given (2) above we don't need to validate against the current packages in the repo, and even after we publish new packages, those samples will continue to work due to versioning. Samples would still be built and run as part of the pipeline, but they are validating that the sample works with the released packages, not the current repo state. Basically the Spring CI pipeline will validate two different artifacts (packages & samples) which move at a separate cadence.

The question then is how would we plug in this sample build/validation process. What does the Azure Spring Boot team do today to validate the samples are correct?

Sorry for the delayed response.

How do customers find the samples?

We have reference from spring.io web site to the samples: https://spring.io/projects/spring-cloud-azure#samples
Once we have moving spring modules into sdk repo, we will also update the above reference on spring.io. Because the way we put samples in sdk repo, the reference page may need more change other than reference to a new URL.

What are the expectations when find the samples on master? Should they represent samples that work against the current released set of packages, or the set of packages actually in the repository at that point in time.

The samples should reference to the latest release version. (not the snapshot or dev build)

Assuming the answer to (2) is current released set of packages, what do we need to do to validate that they are correct? Is building against the current state of the repository even useful given that it doesn't do anything to prove that they are usable as samples right now by customers.

I think the sample is building against with released version instead of current state in master branch.

If we decide to build/validate samples against the current released packages what are the risks of a upcoming change breaking the sample and us not detecting it.

Currently we run samples manually during each release. A better approach is introducing automated tests for samples.

Is the challenge building it every day or is the harder part running it?


Makefile: clean up compiled man page

Signed-off-by: Ma Shimiao<EMAIL_ADDRESS>

c2c3fedc looks good to me.

LGTM