THRIFT-2900 Wrap Python THttpClient withTimeout in a try/finally

Otherwise the original value of the socket timeout is not restored
properly.

@sectioneight looks like the build failed?

Indeed it did. Seems to be unrelated...


Video Cropper

Script Title -
Brief - Script to crop video
Instructions

Create a new folder for your script and file/folder name should be appropriate.
Create a README.md in your folder for program Instructions
add requirements.txt if needed

Programming Language

[x] Python

Happy Coding

I'm willing to take a crack at this

cool go ahead :)


-o print-scaling=none behaviour

I attach the following two files:

The first is a scan taken with Xsane.  The second is from my camera.
identify -v <JPEG_file> shows

Print size: 6.53333x8.95333

Print size: 9.16667x6.08333

I would see both images as being smaller than A4. Executing
/usr/sbin/cupsfilter -p rx420.ppd -m application/pdf -o PageSize=A4 -o print-scaling=none <JPEG_file> > out.pdf
it seems to me that the fit method has been used to produce out.pdf. I would have expected a centred  image with four white borders. That is what I get with the image in Issue #65.
cups-filters is 1.28.7-1 on Debian unstable.
Regards,
Brian.

The second image has resolution 192x192 according to identify. The output of the previous cupsfilter command shows 128x128 PPI. So it would seem that imagetopdf cannot get the resolution from the file and the image size is seen as being larger than A4. -o print-scaling=auto uses the expected fill method.
Being unable to obtain the resolution from the file is an extra complication. I imagine there may be good reasons why it cannot easily be accomplished.
Logs for processing both files have

[DEBUG]: Ignoring crop-to-fit option!

and in Issue #92 we see

For images, I am checking if more than 50% of height or width is to be cropped in crop-to-fit, then we ignore it.

However, in Issue #108 it is said that for -o print-scaling=none

do not scale the document to fit the requested media size. If the document is larger than the requested media, center and clip the resulting output. If the document is smaller than the requested media, center the resulting output.

No limitation is placed on the degree of cropping that can take place.
The first image has its correct resolution identified, so it would appear imagetopdf should not be scaling it to fit A4.

@debiantriage Can you please send the PPD file for this in a '.txt' format.

Here you are:
rx420.ppd.txt

The sample images have the resolution information (which is required to determine an absolute size from their pixel counts) only in their EXIF data (meta data added by the capturing hardware device, like camera or scanner), not in the JPEG header itself.\
Usually image files, like JPG, PNG, ... have no defined absolute size (in contrary to PostScript and PDF) but only a pixel size. Cameras are specified with MPixel sizes, not with print sizes. If reviewers tell that a camera is good enough for 8x10-inch printes, they usually assume printing with 300 dpi (not taking into account lens quality).
CUPS and cups-filters never read the EXIF data of image input files. I know that PDFs are printed in original size with print-scaling=none, but I am not sure what happens with images, either they are scaled to fit the page as print-scaling=fit does or they are printed with 1 image pixel being 1 print pixel, so your 1760x1168 photo gets ~15x10 cm or ~6x4 inches with print-scaling=none Resolution=300dpi.
For sure wrong is to automatically change the print scaling behavior when the print size gets smaller than half the page size. This we will remove (for printing PDF and PostScript files there was never such a facility AFAIR).

@michaelrsweet what was the original idea with the image filters? How large should image files get printed with print-scaling=none?

@tillkamppeter Historically we've used any resolution information that is part of the file to determine the printed size. In the absence of that, I used a resolution of 128 PPI which worked well for 1280x1024 screenshots (the predominate display resolution of Unix workstations back in the day) to produce an 8x10 print.

@michaelrsweet thanks, but would this still mae sense nowadays, where typical photo pixel sizes and screen pixel sizes have grown independently, typical monitor sizes have also grown somewhat, ... Photo printing for me seems to only make sense with some scaling definition, like fit or fill.

@tillkamppeter You can define whatever default image resolution you like. Ideally the default should be "auto-fit" so that smaller images (barcodes/shipping labels) aren't scaled up but larger images are scaled to fit.

(for reference, shipping label images are usually provided at 200dpi)

@michaelrsweet then one should perhaps use a 200-dpi default?

@tillkamppeter WFM.

@Rishabh-792 What you need to do here is to check whether the filters imagetoraster and imagetopdf do the correct thing when the attribute print-scaling=none is supplied. The meaning of the attribute is to conserve original size, center the content, and if the content is too large, crop.
Generally, an image file has no "original size" as it is simply a grid of pixels (not like a PDF which has its absolute size defined), but at least some images have a DPI resolution defined, which makes up for an absolute size. In case of no resolution defined, assume 200 dpi, as, as @michaelrsweet told, shipping labels provided as image file usually have 200 dpi.
The problem encountered by the original poster is that he has taken a picture with a camera and there the DPI resolution is not in the standard JPEG header but in the EXIF data of the image. If you find an easy way to read resolution from EXIF data and add it it would be great, but the solution must be easy to use by distributions, meaning that no new library has to get added to the main/core part of the distribution. Meaning that you either use an EXIF library which every distribution already ships or no EXIF library at all.
But also take into account that having photos printed in "original size" can be a very special wish. Remember that in the film era photos were exposed on 24x36 mm film and sometimes also on 60x45 mm, 60x60 mm, ... and photo stores offered you 10x15 cm, 13x18 cm, ... prints. What was "original size" then?

Hi @tillkamppeter , I made a PR for changing the default DPI to 200.
Now working on fixing the print-scaling=none attribute.

I have found a bug in print-scaling=none when I fixed the way how the filter functions obtain color spaces and depths from cups-filter-generated PPD files for driverless printers and for cups-browsed clusters. I discovered that the size of the printable area of the page was given in PostScript points and the size of the image in pixels and this got compared, giving a completely wrong output size. This I have fixed with a simple correction (in all three imageto...() filter functions). By doing this I have also thrown out the image size limitation in which crop-to-fit is accepted.
So this issue should be fixed, so I am closing this issue.
@Rishabh-792 the imageto...() filter functions all use #include <cupsfilters/image-private.h>. Could you check whether here correct CUPS library APIs (accessor functions) could be used? This is probably a remainder of the fact that cups-filters got spun out of CUPS more than a decade ago.

Backported my fixes to the 1.x branch: The print-scaling=none fix is commit 92989bb3 and the 200ppi default chnage is commit e4964fa9. Will be included in the 1.28.12 release which I will issue later this week.

We have a further improvement here now. Commit 76a49f034 adds support for reading the original image's resolution from the image's EXIF data (camera/scanner-supplied metadata). So from many more image files resolution info and this way enough data to calculate the original size can be extracted, especially from images taken with cameras or smartphones.
Closer we cannot get.
Thanks, Sachin Thakan, for your contribution.

@debiantriage I have checked the debug output of imagetoraster now and with print-scaling=none we get now exactly the sizes you found with identify. See "Portrait size is ..."/"Landscape size is ..." (of the actual orientation of the image) in the debug output. So your problem is perfectly solved.


Das_Geek: Watch jammer-mart.com

Das_Geek requests the watch of the watch_keyword jammer-mart\.com. See the MS search here and the Stack Exchange search here.

jammer-mart\.com has been seen in 2 true positives, 0 false positives, and 0 NAAs.

Approved by Machavity in Charcoal HQ


add -T option to e2e

-T enables the e2e to be run with JUST the full training library. When used the --legacy tests will be skipped.

Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

@cdoern can you please document the new flag in docs/ci.md? We have a running list of the flags there now

@cdoern This lgtm!
  The default e2e failed on:
./scripts/basic-workflow-tests.sh: line 260: TRAIN_LIBRARY: unbound variable


Gaspardetienne97/netcoreupdate

Updated .NetCore to 3.1 for all the different projects and did some reformatting.
Allow bot to communicate on the Webchat channel to access the bot in the website

The First commit about named pipes I ended up rolling back so don't worry about it cause I found it to not be necessary.


Support Multiple Sensors Over comma separated generation

Suggesting that rather than the comma separated values, you allow for a single value per sensor, and having it called multiple times in the configuration instead.
This allows for a few things...for one, it means that the locations don't have to be hardcoded into the configuration and can be put into the secrets file, which allows for anonymous configuration. And that the name can be set for each sensor.

That's a good idea, Ill make the required adjustments.
Thank you.
:-)


Fix tests problems

Tests are failing lastly, seems like github actions are not handling properly the writing and reading of json files, possibly related to the multiple actions instances for multiple node versions
I'd suggest to adapt the tests to make them work without need to create a json file to comprobate if the functions works. We could just merge the create nodejs function and check if is being called with the expected body

Will modify the tests to not use fs, but only mocking him

Some tests needs refactor yet. Since they are working with old logic, although FS is mocked, they aren't working. For example there is one that checks if fs.existSync is true, and always will be true because that is the mock behavior.
We need to check some translateController tests


Test for empty path values

Use whole object rather than using Ember.get with an empty string (which is no longer supported).

Closes #64


MacBookPro M1 Firefox dont respect this custom css

hello, thanks for this wizard, I put CSS in the Chrome folder but the firefox doesn't respect it nothing changes if I put in my work laptop that is running Win11 Pro everything works fine, any ideas?

Yes, did you read the important notes?
If you're running macOS and Firefox 89+, make sure you set widget.macos.native-context-menus to false otherwise it won't work.

Yes, did you read the important notes?
If you're running macOS and Firefox 89+, make sure you set widget.macos.native-context-menus to false otherwise it won't work.

Yes im i set widget.macos.native to false and still after restart firefox it dont work,maybe firefox for m1 is bot the same as for intel?

Sorry I have no idea and no mac to try and test stuff.


Tidb, please support synchronization of multiple tables at the same time

Search before asking

[X] I searched in the issues and found nothing similar.

Motivation
Tidb, please support synchronization of multiple tables at the same time
Solution
Tidb, please support synchronization of multiple tables at the same time
Alternatives
Tidb, please support synchronization of multiple tables at the same time
Anything else?
Tidb, please support synchronization of multiple tables at the same time
Are you willing to submit a PR?

[X] I'm willing to submit a PR!

Closing this issue as it has been migrated to Apache Jira.


Various improvements I have made on my fork.

Good job! I would like to use these custom files to change the icons size.


Releases MVC Controller

First try on a page for viewing the releases. I didn't put too much effort into design, as always :)
You can filter for your own followed artsts or for dates. The date picker always shows your browsers language format and apparently there is no way to change that....

 Create Releases MVC Controller


Volume Randomly Jumps On Its Own with Rotary Encoder (without Breakout)

Hey Guys -
90% done building this for my 2 year old daughter - just have one issue I cannot resolve.  My installation is fairly simple as it's a RasPi3 with the following components:

MFC522 RFID Reader
USB powered Speakers
C-Media USB Audio Card
Rotary Encoder without Breakout (CYT1100)

After config, everything works correctly except the rotary encoder.  When its enabled in Settings, the volume dynamically jumps up and down without me touching it.  I followed all steps in the Wiki plus these steps to install the service and such.  I even tried commenting out all lines in gpio-buttons.py dealing with volume to no avail.  Same thing occurs if i swap the two Out pins.  When it's disabled in settings, the behavior stops, so know it's related to the encoder, itself.
My best guess is that it is because I am using a rotary encoder without breakout therefore has slightly different pins having two grounds, a switch, and 2 outs.  Here's a quick sketch I made of how its attached where the switch & outs are on the default GPIOs.

I've looked all through issues and cannot find anything similar.  Below are additional build specs.  Any suggestions would be appreciated.  Thanks!

OS Distribution: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release:10
Codename: Buster
Version: 2.1rc1 - 6e63024 - develop
Edition: Plus edition (feat. Spotify integration)

pi@lkmusicbox:~ $ service rotary-encoder status
● rotary-encoder.service - Rotary Encoder Service
   Loaded: loaded (/etc/systemd/system/rotary-encoder.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-07-31 15:45:43 BST; 1min 51s ago
 Main PID: 532 (rotary-encoder.)
    Tasks: 2 (limit: 2200)
   Memory: 6.6M
   CGroup: /system.slice/rotary-encoder.service
           └─532 /usr/bin/python3 /home/pi/RPi-Jukebox-RFID/scripts/rotary-encoder.py

Jul 31 15:47:34 lkmusicbox rotary-encoder.py[532]: OK
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK MPD 0.19.0
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK MPD 0.19.0
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK MPD 0.19.0
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK
Jul 31 15:47:35 lkmusicbox rotary-encoder.py[532]: OK

What's the result of journalctl -u mopidy?

Thanks for the reply - output is below.  To note, the rotary encoder is disconnected and I removed the service temporarially.  Can hook back up and run again if needed.
pi@lkmusicbox:~ $ journalctl -u mopidy
-- Logs begin at Fri 2020-07-31 20:17:01 BST, end at Fri 2020-07-31 20:17:18 BST. --
Jul 31 20:17:05 lkmusicbox systemd[1]: Starting Mopidy music server...
Jul 31 20:17:06 lkmusicbox systemd[1]: Started Mopidy music server.
Jul 31 20:17:11 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.__main__ Starting Mopidy 3.0.2
Jul 31 20:17:11 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.config Loading config from builtin defaults
Jul 31 20:17:11 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.config Loading config from file:///usr/share/mopidy/conf.d/mopidy.conf
Jul 31 20:17:11 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.config Loading config from file:///usr/share/mopidy/conf.d/mopidy-local.conf
Jul 31 20:17:11 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.config Loading config from file:///etc/mopidy/mopidy.conf
Jul 31 20:17:11 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.config Loading config from command line options
Jul 31 20:17:11 lkmusicbox mopidy[552]: ERROR    [MainThread] mopidy.internal.log Loading logging config '/etc/mopidy/logging.conf' failed. 'formatters'
Jul 31 20:17:12 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.__main__ Enabled extensions: stream, iris, softwaremixer, spotify, m3u, http, file, mpd, loca
Jul 31 20:17:12 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.__main__ Disabled extensions: none
Jul 31 20:17:14 lkmusicbox mopidy[552]: ERROR    [MainThread] mopidy.__main__ Extension spotify failed during setup. This might have left the registry in a bad st
Jul 31 20:17:14 lkmusicbox mopidy[552]: Traceback (most recent call last):
Jul 31 20:17:14 lkmusicbox mopidy[552]:   File "/usr/local/lib/python3.7/dist-packages/mopidy/__main__.py", line 129, in main
Jul 31 20:17:14 lkmusicbox mopidy[552]:     extension.setup(registry)
Jul 31 20:17:14 lkmusicbox mopidy[552]:   File "/usr/lib/python3/dist-packages/mopidy_spotify/__init__.py", line 49, in setup
Jul 31 20:17:14 lkmusicbox mopidy[552]:     from mopidy_spotify.backend import SpotifyBackend
Jul 31 20:17:14 lkmusicbox mopidy[552]:   File "/usr/lib/python3/dist-packages/mopidy_spotify/backend.py", line 9, in <module>
Jul 31 20:17:14 lkmusicbox mopidy[552]:     from mopidy_spotify import Extension, library, playback, playlists, web
Jul 31 20:17:14 lkmusicbox mopidy[552]:   File "/usr/lib/python3/dist-packages/mopidy_spotify/library.py", line 5, in <module>
Jul 31 20:17:14 lkmusicbox mopidy[552]:     from mopidy_spotify import browse, distinct, images, lookup, search
Jul 31 20:17:14 lkmusicbox mopidy[552]:   File "/usr/lib/python3/dist-packages/mopidy_spotify/browse.py", line 38, in <module>
Jul 31 20:17:14 lkmusicbox mopidy[552]:     "albums": spotify.ToplistType.ALBUMS,
Jul 31 20:17:14 lkmusicbox mopidy[552]: AttributeError: module 'spotify' has no attribute 'ToplistType'
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.commands Starting Mopidy mixer: SoftwareMixer
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.commands Mixer volume set to 30
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.commands Starting Mopidy audio
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.commands Starting Mopidy backends: FileBackend, M3UBackend, StreamBackend, LocalBackend
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.commands Starting Mopidy core
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.commands Starting Mopidy frontends: HttpFrontend, IrisFrontend, MpdFrontend
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [HttpFrontend-9] mopidy.http.actor HTTP server running at [::ffff:<IP_ADDRESS>]:6680
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [Audio-2] mopidy.audio.actor Audio output set to "alsasink"
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [IrisFrontend-10] mopidy_iris.core Starting Iris 3.45.0
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy_mpd.actor MPD server running at [::ffff:<IP_ADDRESS>]:6600
Jul 31 20:17:14 lkmusicbox mopidy[552]: INFO     [MainThread] mopidy.commands Starting GLib mainloop

Thanks!

The mopidy installation looks broken.
Please check with ls -l ~/phoniebox_logs/ for existing logs of the installation script and post the content of the latest log here.

Thanks again for the reply...
Attached is the only log listed.  If performing a 2nd installation from scratch is suggested or would be easier, I'll do so.  To note, when installing rotary encoder service, I found some of the files it mentions adding in this post already existed so wasn't sure which to use (although I tested using both and got the same issue.)  Thanks!
buster-install-default.sh_20200626_223002.log

I resolved this by using a different type of rotary encoder - the one recommended.  Thanks


⚠ Bofrost.at has degraded performance

In 472f4f5, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1643 ms

Resolved: Bofrost.at performance has improved in 05b9fd5.


Use url template tag instead of relative urls

This originally started as a fix for the link in the navbar brand (it is currently '../' so on the main query list it takes you out of the explorer), but I went ahead and went through updating any URLs I found in the templates to use the url template tag. It makes it easier for end users to customize the URLs via the urlconf without having all of the templates break.
There are still hardcoded URLs in explorer.js but those are trickier to change.

This is great, thanks!


postgres vercel column "prefix" does not exist

Link to reproduction
No response
Describe the Bug
Hi,
we are having trouble when uploading files in production on Vercel because we always get this error:
error: column "prefix" does not exist
at /var/task/node_modules/pg/lib/client.js:526:17
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async /var/task/node_modules/drizzle-orm/node-postgres/index.cjs:41:28
at async find (/var/task/node_modules/@payloadcms/db-postgres/dist/find/findMany.js:167:21)
at async Object.findOne (/var/task/node_modules/@payloadcms/db-postgres/dist/findOne.js:20:22)
at async docWithFilenameExists (/var/task/.next/server/chunks/3005.js:28:239681)
at async getSafeFileName (/var/task/.next/server/chunks/3005.js:28:248633)
at async generateFileData (/var/task/.next/server/chunks/3005.js:28:242926)
at async create (/var/task/.next/server/chunks/3005.js:28:47026)
at async handler (/var/task/.next/server/chunks/2537.js:1:1921) {
length: 106,
severity: 'ERROR',
code: '42703',
detail: undefined,
hint: undefined,
position: '21',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'parse_relation.c',
line: '3713',
routine: 'errorMissingColumn'
}
our media collection does indeed not have a prefix, so we don't understand why payload keeps trying to use it. Fully resetting our migration history and making a single clean new one didn't resolve the issue either. We can't use the latest version of db-postgres because of https://github.com/payloadcms/payload/issues/5589
Regards,
Eric
To Reproduce
setup a payload project with next-payload and db-postgres on vercel and try uploading a file
Payload Version
2.12.1
Adapters and Plugins
@payloadcms/db-postgres: 0.3.1

Are you using custom schemaName in the payload config?

@Eric-Arz, I am also curious about maneike's question. Are you using a cusotm schema name?
I'm curious if adding a drizzle.config.ts with schema and schemaFilter would fix this or your issue @maneikie?
https://orm.drizzle.team/kit-docs/config-reference#schemafilter
Let me know. I'm labeling this as a dependency issue for now, but we'll keep it open until we know more.

@DanRibbens Thanks for digging in!
Even with such drizzle.config.ts, the issue persists:
import type { Config } from "drizzle-kit";

export default {
  schemaFilter: ["payload"],
  schema: ["payload"],
} satisfies Config;

@maneike no we are not using schemaName

I'm now getting this after using adding a prefix into the storage-gcs config.


cannot find -lnvinfer

running build
running build_py
package init file 'retinanet/__init__.py' not found (or not a regular file)
running build_ext
building 'retinanet._C' extension
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.5/dist-packages/torch/include -I/usr/local/lib/python3.5/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.5/dist-packages/torch/include/TH -I/usr/local/lib/python3.5/dist-packages/torch/include/THC -I/usr/local/cuda-9.0/include -I/usr/include/python3.5m -c csrc/extensions.cpp -o build/temp.linux-x86_64-3.5/csrc/extensions.o -std=c++11 -O2 -Wall -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.5/dist-packages/torch/include -I/usr/local/lib/python3.5/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.5/dist-packages/torch/include/TH -I/usr/local/lib/python3.5/dist-packages/torch/include/THC -I/usr/local/cuda-9.0/include -I/usr/include/python3.5m -c csrc/engine.cpp -o build/temp.linux-x86_64-3.5/csrc/engine.o -std=c++11 -O2 -Wall -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
/usr/local/cuda-9.0/bin/nvcc -I/usr/local/lib/python3.5/dist-packages/torch/include -I/usr/local/lib/python3.5/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.5/dist-packages/torch/include/TH -I/usr/local/lib/python3.5/dist-packages/torch/include/THC -I/usr/local/cuda-9.0/include -I/usr/include/python3.5m -c csrc/cuda/decode.cu -o build/temp.linux-x86_64-3.5/csrc/cuda/decode.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -std=c++11 --expt-extended-lambda --use_fast_math -Xcompiler -Wall -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_70,code=sm_70 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0
/usr/local/cuda-9.0/bin/nvcc -I/usr/local/lib/python3.5/dist-packages/torch/include -I/usr/local/lib/python3.5/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/lib/python3.5/dist-packages/torch/include/TH -I/usr/local/lib/python3.5/dist-packages/torch/include/THC -I/usr/local/cuda-9.0/include -I/usr/include/python3.5m -c csrc/cuda/nms.cu -o build/temp.linux-x86_64-3.5/csrc/cuda/nms.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -std=c++11 --expt-extended-lambda --use_fast_math -Xcompiler -Wall -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_70,code=sm_70 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/csrc/extensions.o build/temp.linux-x86_64-3.5/csrc/engine.o build/temp.linux-x86_64-3.5/csrc/cuda/decode.o build/temp.linux-x86_64-3.5/csrc/cuda/nms.o -L/usr/local/cuda-9.0/lib64 -lnvinfer -lnvinfer_plugin -lnvonnxparser -lcudart -o build/lib.linux-x86_64-3.5/retinanet/_C.so
/usr/bin/ld: cannot find -lnvinfer
/usr/bin/ld: cannot find -lnvinfer_plugin
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-g++' failed with exit status 1

echo $LD_LIBRARY_PATH
/opt/nvidia/TensorRT-<IP_ADDRESS>/lib/:/usr/local/lib:/usr/local/cuda-9.0/lib64

Please edit your question to state your environment, hardware etc.

@jmsinusa
Thanks for the quick reply.
ubuntu 16.04
python 3.5.2
cuda 9
TensorRT-<IP_ADDRESS>
hardware
lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 158
Model name:            Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Stepping:              9
CPU MHz:               799.968
CPU max MHz:           3800.0000
CPU min MHz:           800.0000
BogoMIPS:              5615.86
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d
nvidia-smi
Wed Jun 26 01:39:25 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130                Driver Version: 384.130                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   44C    P8    N/A /  N/A |    336MiB /  4041MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1245      G   /usr/lib/xorg/Xorg                           182MiB |
|    0      3089      G   compiz                                       153MiB |
+-----------------------------------------------------------------------------+

Are you using the NGC docker container?

No

Are you able to use it? If so, your driver problems should be solved.

Can you tell me about the dependencies for this repo ?

I can't, but I can say that they will be met if you can use the container. I believe @monocongo is using this code without the container, so he might be able to help.

Let me get back to you once i run this on docker.

@dexception you are asking for headaches if you want to run this outside of the NVIDIA PyTorch Docker container. At least I was not Jedi enough to build an environment to allow for running this code outside of the recommended container, it's one of the reasons I've given up on using this model (for now). Please comment here and/or in #38 if you manage to work it out. Best of luck!

@dexception Did you get this working in the container? If so, can you close this issue? Or perhaps open a new one if you have a new specific problem.

Install TensorRT
https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html

@goktug97 what is the platform you're running this model on outside of the Docker container? My interest is in using the model on a Jetson Nano, but for a number of reasons it turned out to not be possible when I tried to do this, but it may be that the Docker requirement was the final roadblock (I forget now which hurdle made me finally abandon trying to use this RetinaNet implementation), and if so maybe I should give it another go? Thanks in advance for any insight/guidance...

I tried to train it on my old laptop which has CUDA capable GPU but it turned out to be not sufficient enough to train this model. The laptop is currently running Xubuntu 18.04. After the training, my goal is to use this model in Jetson TX2. I don't have the Jetson with me but as far as I remember the JetPack version of the Linux uses different include path for the libraries (aarch64-linux-gnu).
Also if CUDA arch code isn't included in the setup.py file add that.

Closing this issue as the original problem seems to have been resolved. Please open a new issue if there are any more problems.


Source of location data

Hi,
Im using traccar client on android, I set the  location provider as network provider, and it working fine.
My question is how traccar can get my location from network?

Android provides two location sources:

GPS
Network

Network provider uses cell towers and wi-fi access points information and triangulates your location based on that information:
http://developer.android.com/reference/android/location/LocationManager.html#NETWORK_PROVIDER

For last version, ver 3.9
Still got stuck at random time.
Android stop send data.
I used mixed location provider.
It will normal if service on android restart.
In the status there is no location update at time stopped.
Anyone has any experience about this?
-----Original Message-----
From: "Anton Tananaev"<EMAIL_ADDRESS>Sent: 1/3/2016 4:02 AM
To: "tananaev/traccar-client-android"<EMAIL_ADDRESS>Subject: Re: [traccar-client-android] Source of location data (#184)
Android provides two location sources:
GPS
Network
Network provider uses cell towers and wi-fi access points information and triangulates your location based on that information:
http://developer.android.com/reference/android/location/LocationManager.html#NETWORK_PROVIDER
—
Reply to this email directly or view it on GitHub.

@johansid, I'm guessing that the app was killed by Android system. Need logs to investigate the problem further.


Update jscs to latest

As mentioned in #876, grunt-jscs may not be catching certain style errors and needs to be updated to the latest version.

a jscs update might include jshint as well.

@arghgr I'm looking forward a PR to fix this one. :)


Feature request: find relationship chains between 2 classes/structs

In my case I have a class-container (Class1) and another class (Class2) which is not directly linked with Class1.
Now I need to figure out how to pass Class2 to Class1. It seems the simplest way is:
1)find all the paths between Class1 and Class2 in this generated graph with the specified max lenght in text format
2)find the class container which contains Class1 and Class2 objects (directly or indirectly)
Is it possible to do with your tool?

@Gargo i don’t understand the feature request. Would you mind elaborating with an example (Swift code)?

@MarcoEidinger For example:
Input:
class Class1 {
}

class Class2 {
}

class Container1 {
  var obj1: Class1
  init(_ obj1: Class1) { self.obj1 = obj1 }
}

class Container2 {
  var obj2: Class2!
  init(_ obj2: Class2) { self.obj2 = obj2 }
}

class CommonContainer {
  var container1: Container1!
  var container2: Container2!

  init() { //just shows the creation of relationships between classes/objects
    let obj1 = Class1()
    let obj2 = Class2()
    container1 = Container1(obj1)
    container2 = Container2(obj2)
  }
}

User executes command:
find-path-between-classes Class1 Class2
Output:
Class1 - Container1 - Container - Container2 - Class2
How this helps - I see that the nearest common container for Class1 and Class2 is Container and can for example rewrite the code above:
//Class1, Container1, Container2 are the same
class Class2 {
  var obj: Class1
  init(_ obj1: Class1) { self.obj1 = obj1 }
}

class CommonContainer {
  var container1: Container1!
  var container2: Container2!

  init() { //just shows the creation of relationships between classes/objects
    let obj1 = Class1()
    let obj2 = Class2(obj1)
    container1 = Container1(obj1)
    container2 = Container2(obj2)
  }
}

P.S. I simplified the example. In real code all the "var" variables are declared with corresponding protocol types (SOLID)

@Gargo thank you for providing the example, I appreciate it! And thank you for your interest i SwiftPlantUML. Unfortunately, I don't want to include that feature in SwiftPlantUML.
If you are interested in building your own tool I recommend utilizing SourceKitten (used by this project) or SwiftSyntax.
Have a great weekend!


fix: use nul instead of enquiry

closes #147

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


Unncessary semicolons in tutorials terminate statements, possible documentation improvement

Click to expand!
Issue Type
Documentation Bug
Source
source
Tensorflow Version
2.9.1
Custom Code
No
OS Platform and Distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
The documentation found at `https://www.tensorflow.org/guide/basics` under heading 'Training loops' as well as additional documentation on that tutorial/guide page have unnecessary semicolons (`;`) at end of statements, not necessary for Python syntactically.

For example, `plt.legend();` under 'Training loops' heading throws warning errors in certain IDEs with AI-assisted code review such as VSCode because of the superfluous `;`.

I kindly recommend discontinuation of unnecessary semicolons and revision of this page to remove all that are not needed per proper syntax or convention. Kindly let me know if any more information is needed. Thank you for consideration.

Standalone code to reproduce the issue
import tensorflow as tf
import matplotlib
from matplotlib import pyplot as plt
matplotlib.rcParams['figure-figsize'] = [9, 6]

x = tf.linspace(-2, 2, 201)
x = tf.cast(x, tf.float32)

def f(x):
  y = x**2 + 2*x - 5
  return y

y = f(x) + tf.random.normal(shape=[201])

plt.plot(x.numpy(), y.numpy(), '.', label='Data')
plt.plot(x, f(x), label='Ground truth')
plt.legend();

_excerpted from: https://www.tensorflow.org/guide/basics_

Relevant log output
n/a

Could you assign this issue to me?

I think the issue was auto-assigned to @tilakrayal. If there is anything I can do to help facilitate and possibly get this resolved to help future learners, if indeed it deserves attention, kindly let me know.
Best!
@brechtse

@brechtse,
Semicolon used here in the doc is to denote separation rather than termination. It is intended and not able to find any issue while executing the code. Thank you!

@tilakrayal thank you for your response. I understand the intent and also have noticed warning from IntelliCode in VSCode when running this, because of PEP8 style. Given the purpose and audience, however, perhaps such slight occurrence is not worth a PR or change. I am thankful for your review and will close this issue. closes #57587


Feature: Describe OSCR rating

Suggested solution
e.g.  at

I see an OSCR rating but have no clue what the scale is or what it means. A hover tooltip with more information would be nice, as well as a link to more information.

@zanieb you caught us between releases, we will have a blog post and other elements in the UI explaining the OSCR soon.
cc @BekahHW to follow up here.

@zanieb here are the initial docs for the OSCR. Feel free to ask questions or give feedback.

Thanks for the prompt replies.
Some small things

30 days seems to short for a rolling metric — it seems weird that a score would drop significantly if someone went on vacation for a week.
There is no mention of the "highest possible" score

30 days seems to short for a rolling metric

True! We actually recently updated this to be a rolling 90 day metric. Part of this limitation is compute: if we receive good feedback here, it's likely we'd expand this out to 180 days or even 1 year with more infrastructure behind it.

There is no mention of the "highest possible" score

We also recently updated this: the previous highest score was 100 on a scale from 0-100. Anything above 80 is sublime. This score reflected 2 pillars: contributor quality and contributor "confidence". Quality is a measure of how frequently someone's contributos are accepted (i.e., a high score is contributions that are always accepted). Quality also reflects if someone has PRs frequently marked as spam (where their score will go to zero). Confidence is how often someone stars or forks something and comes back to make a contribution.
We updated this recently where the current highest possible score is 300 and reflects 3 pillars: quality, confidence, and "sway". This new pillar, sway, is a measure of a contributors ability to drive conversation within open source ecosystems. We look at comments, issues, pull requests, and reviews to measure this.
With the new top score, anything above 250 is extremely good. Above 200 is amazing. Above 100 indicates someone is making quality contributions and may be ready for mentorship or maintainership. Above 50 indicates strong, quality contributions. And above 0 is likely someone first starting out.

I'll add tooltip on the user page to explain what OSCR is; thanks for the issue @zanieb!

@zanieb I wanted to follow up again. Here's the blog post we posted today: https://opensauced.pizza/blog/introducing-OSCR. We'll have more content throughout the week too.


'Something is wrong' message with No Internet notification for Android Pie+

My app is running awesome in every other phones but not Android Pie. Need to know how to update the current app to Android Pie?

I've tested it recently, it's working fine on my Pie device. Can you elaborate what's actually happening on launching the app? If you can share log of failure.

Where can i find this log? Also, i have been testing it out on another person's phone who would be using the App. Here is the screenshot of the error:

Here you can see at the top the internet connectivity is running in Wifi. But still the problem persists. But this is not the case for any phone below Pie.

I thought app is going down but internet error can be caused by number of reasons, you can get project log from Android Studio Log and without any log I can't help you any further.

I understand but the app isnt producing any errror logs during the build. Also this thing is occuring in all Pie phones. I have an Oreo phone. Hence no error is being shown on my end. But the moment the app runs in Pie, it shows this above error. I looked into the log. There is nothing there. As i said, this is happening on sets with Pie, not below.

this is happening on sets with Pie, not below.

so you tested it on multiple pie devices?

Yes. Did it on 4 Pie devices. And 1 Oreo & 2 Nougats. Only the Pie ones had the prob.

I'll be testing it soon. will let you know.

Sure. Thanks. Do let me know if you require the Gradle Files as well.

Hi, is that any suggest about this? @mgks  it happen to me too.
This is the verbose Logs that I get :
/mgks.os.webview I/chromium: [INFO:CONSOLE(2)] "jQuery.Deferred exception: Cannot read property 'split' of undefined", source: file:///android_asset/jquery.js

Android Studio is loading source files into the build and while reading jquery.js file it found a property that build can't understand.
First keep your Android studio and dependencies updated. If the error still persists, you can remove the JS file from specific folder, it's just for the demo file, it doesn't impact the actual program.

I'm not using this offline source file stuff. I just change the ASWV_URL to some http address. It's work for Https address, but when I addresses it to our web server which is Http only URL is not work. then the error like @pureskar error appeared.

I cant add my apache server address please Help

@junedkh are you trying to run your localhost in the app? I'm not able to understand what you mean.

Ignore bro
Now I am improved


libkb: don't panic if there's no user when getting mount dir

This can apparently legitimately happen in the iOS simulator.
Issue: HOTPOT-1041

wild

Merging over endless, unrelated chat test flakes.


Delete services belonging to an application during 'odo app delete'

What type of PR is this?
/kind bug
What does does this PR do / why we need it:
This PR deletes the service (ServiceInstance) created from Service Catalog when user tries to delete an application (odo app delete <app-name>).
When there are no components in the application but only service(s), it also prints the list of services that would be deleted when doing odo app delete <app-name>. This list of services was not getting printed unless there was a component in <app-name> marked for deletion.
Which issue(s) this PR fixes:
Fixes #2113
How to test changes / Special notes to the reviewer:

Create a service from Service Catalog odo service create
Make sure the service shows up in odo service list --app app
Now delete the app odo app delete app -f
Make sure that no services exist. (Check on OpenShift web console)

[odo]  ✗  serviceinstances.servicecatalog.k8s.io is forbidden: User "developer" cannot list resource "serviceinstances" in API group "servicecatalog.k8s.io" in the namespace "lcnolchtql"

This error might show up when there are permission issue, but it also shows up when Service Catalog is not enabled in the cluster. I tried to delete the app on a minishift cluster that didn't have Service Catalog setup:
# Before enabling the Service Catalog
$ odo app delete app -f
This application has following components that will be deleted
component named node
No services / could not get services
 ✗  serviceinstances.servicecatalog.k8s.io is forbidden: User "developer" cannot list serviceinstances.servicecatalog.k8s.io in the namespace "myproject": no RBAC policy matched

$ odo service list --project myproject
 ✗  Service catalog is not enabled within your cluster: unable to list services: unable to list ServiceInstances: serviceinstances.servicecatalog.k8s.io is forbidden: User "developer" cannot list serviceinstances.servicecatalog.k8s.io in the namespace "myproject": no RBAC policy matched

# After enabling the Service Catalog
$ odo app delete app -f
This application has following components that will be deleted
component named node
Deleted application: app from project: myproject

I remember having a conversation where the reason for not enabling Service Catalog in the tests was to keep the test cluster less beefy. Let me know what you recommend in this situation. @kadel @amitkrout

[odo]  ✗  serviceinstances.servicecatalog.k8s.io is forbidden: User "developer" cannot list resource "serviceinstances" in API group "servicecatalog.k8s.io" in the namespace "lcnolchtql"

This error might show up when there are permission issue, but it also shows up when Service Catalog is not enabled in the cluster. I tried to delete the app on a minishift cluster that didn't have Service Catalog setup:
# Before enabling the Service Catalog
$ odo app delete app -f
This application has following components that will be deleted
component named node
No services / could not get services
 ✗  serviceinstances.servicecatalog.k8s.io is forbidden: User "developer" cannot list serviceinstances.servicecatalog.k8s.io in the namespace "myproject": no RBAC policy matched

$ odo service list --project myproject
 ✗  Service catalog is not enabled within your cluster: unable to list services: unable to list ServiceInstances: serviceinstances.servicecatalog.k8s.io is forbidden: User "developer" cannot list serviceinstances.servicecatalog.k8s.io in the namespace "myproject": no RBAC policy matched

# After enabling the Service Catalog
$ odo app delete app -f
This application has following components that will be deleted
component named node
Deleted application: app from project: myproject

I remember having a conversation where the reason for not enabling Service Catalog in the tests was to keep the test cluster less beefy. Let me know what you recommend in this situation. @kadel @amitkrout

we shouldn't fail the deletion of app if the service catalog doesn't exist.

we shouldn't fail the deletion of app if the service catalog doesn't exist.

Of course we shouldn't. And that's not what were doing. The problem was only in the CI. If you tried in your dev environment with an OpenShift cluster that doesn't have Service Catalog, it wouldn't have failed. It would have just exited silently and successfully!
Anyway, I get your point and I have made the changes by referring to other parts of the code base. Most CI checks look happy now. :man_dancing:

/approve

Breaks the test at:
--- FAIL: TestCreateServiceInstance/Create_service_instance (0.00s)
        occlient_test.go:2562:  client.CreateServiceInstance(serviceName,serviceType, labels) unexpected error unable to create the secret jenkins for the service instance: Found nil value for bindingName or namesapce; need values for both, wantErr false

namesapce

typo :slightly_smiling_face: @dharmit

namesapce

typo slightly_smiling_face @dharmit

:joy:
I'm anyway considering taking back the check for bindingName and namesapce. Because it's causing a different test to fail. Also, in spite of empty value for bindingName in the unit tests, it just worked earlier. Plus this PR is not touching anything related to it.

level=fatal msg="failed to fetch Cluster: failed to generate asset \"Cluster\": failed to create cluster: failed to apply using Terraform"

/test v4.1-integration-e2e-benchmark

/hold do-not-merge
Adding integration test for this. I was under an impression that we don't have service catalog tests in the CI.

/retest

Travis is failing due to:
Created dir: /tmp/863945455
Creating a new project: ltwieroyye
Running odo with args [odo project create ltwieroyye -w -v4]
[odo]  •  Waiting for project to come up  ...
[odo] I0109 14:34:54.285469   31887 occlient.go:537] Project ltwieroyye now exists
[odo]  ✓  Waiting for project to come up [844ms]
[odo]  ✓  Project 'ltwieroyye' is ready for use
[odo]  ✓  New project created and now using project: ltwieroyye
[odo] I0109 14:34:54.293428   31887 odo.go:77] Could not get the latest release information in time. Never mind, exiting gracefully :)
Created dir: /tmp/526972802
Created dir: /tmp/454825721
Current working dir: /home/travis/gopath/src/github.com/openshift/odo/tests/integration/servicecatalog
Running odo with args [odo service create --app oahjjh -w dh-postgresql-apb --project ltwieroyye --plan dev -p postgresql_user=luke -p postgresql_password=secret -p postgresql_database=my_data -p postgresql_version=9.6]
[odo] Deploying service dh-postgresql-apb of type: dh-postgresql-apb
[odo]  •  Deploying service  ...
[odo]  ✓  Deploying service [34ms]
[odo]  •  Waiting for service to come up  ...
[odo]  ✓  Waiting for service to come up [1m]
[odo]  ✓  Service 'dh-postgresql-apb' is ready for use
[odo] Optionally, link dh-postgresql-apb to your component by running: 'odo link <component-name>'
Running oc with args [oc get serviceinstance -o name -n ltwieroyye]
[oc] serviceinstance.servicecatalog.k8s.io/dh-postgresql-apb
Running odo with args [odo app delete oahjjh -f]
[odo]  ✗  oahjjh app does not exists
Setting current dir to: /home/travis/gopath/src/github.com/openshift/odo/tests/integration/servicecatalog
Deleting project: ltwieroyye
Running odo with args [odo project delete ltwieroyye -f]
[odo] This project contains the following applications, which will be deleted
[odo] Application oahjjh
[odo] This application has following service that will be deleted
[odo] service named dh-postgresql-apb of type dh-postgresql-apb
[odo]  •  Deleting project ltwieroyye  ...
[odo]  ✓  Deleting project ltwieroyye [6s]
[odo]  ✓  Deleted project : ltwieroyye
Deleting dir: /tmp/863945455
Deleting dir: /tmp/526972802
Deleting dir: /tmp/454825721
• Failure [71.751 seconds]
odo service command tests
/home/travis/gopath/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:16
  When the application is deleted
  /home/travis/gopath/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:421
    should delete the service(s) in the application as well [It]
    /home/travis/gopath/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:429
    No future change is possible.  Bailing out early after 0.505s.
    Running odo with args [odo app delete oahjjh -f]
    Expected
        <int>: 1
    to match exit code:
        <int>: 0
    /home/travis/gopath/src/github.com/openshift/odo/tests/helper/helper_run.go:33

which indicates that the app we're trying to delete doesn't exist on the cluster. However, on my local minishift setup, it fails with:
NAME                  TYPE                  PLAN     STATUS
dh-postgresql-apb     dh-postgresql-apb     dev      Deprovisioning
Running odo with args [odo service list --app ogrssx]
[odo] NAME                  TYPE                  PLAN     STATUS
[odo] dh-postgresql-apb     dh-postgresql-apb     dev      Deprovisioning
NAME                  TYPE                  PLAN     STATUS
dh-postgresql-apb     dh-postgresql-apb     dev      Deprovisioning
Running odo with args [odo service list --app ogrssx]
[odo]  ✗  There are no services deployed for this application
Setting current dir to: /home/dshah/go/src/github.com/openshift/odo/tests/integration/servicecatalog
Deleting project: yxavlqckrg
Running odo with args [odo project delete yxavlqckrg -f]
[odo]  •  Deleting project yxavlqckrg  ...
[odo]  ✓  Deleting project yxavlqckrg [6s]
[odo]  ✓  Deleted project : yxavlqckrg
Deleting dir: /tmp/190614664
Deleting dir: /tmp/516509255
Deleting dir: /tmp/798073594

• Failure [116.506 seconds]
odo service command tests
/home/dshah/go/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:16
  When the application is deleted
  /home/dshah/go/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:421
    should delete the service(s) in the application as well [It]
    /home/dshah/go/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:429

    No future change is possible.  Bailing out early after 0.344s.
    Running odo with args [odo service list --app ogrssx]
    Expected
        <int>: 1
    to match exit code:
        <int>: 0

    /home/dshah/go/src/github.com/openshift/odo/tests/helper/helper_run.go:33
------------------------------

Summarizing 1 Failure:

[Fail] odo service command tests When the application is deleted [It] should delete the service(s) in the application as well
/home/dshah/go/src/github.com/openshift/odo/tests/helper/helper_run.go:33

Ran 1 of 22 Specs in 116.506 seconds
FAIL! -- 0 Passed | 1 Failed | 0 Pending | 21 Skipped
--- FAIL: TestServicecatalog (116.51s)
FAIL

In the tests I've called helper.WaitForCmdOut such that failure of the command doesn't cause the test spec to fail. Yet, it's failing.
@amitkrout can you help me understand what's going wrong here? :disappointed:

In the tests I've called helper.WaitForCmdOut such that failure of the command doesn't cause the test spec to fail. Yet, it's failing.
@amitkrout can you help me understand what's going wrong here?

Never mind. I was wrong in expecting things to work if the underlying command fails. WaitForCmdOut wraps CmdShouldPass so I figured a different approach. Added some sleep before checking the output of odo service list.
Hopefully the tests will pass this time. :smile:

@dharmit this needs rebase :-(

@kadel  Actually this needs a PR before it can be reviewed again. Refer https://github.com/openshift/odo/pull/2491#discussion_r365660644 :disappointed:

Failing at a different place than what I'm seeing while running tests locally:
Failure [23.111 seconds]
odo service command tests
/home/travis/gopath/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:15
  When the application is deleted
  /home/travis/gopath/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:439
    should delete the service(s) in the application as well [It]
    /home/travis/gopath/src/github.com/openshift/odo/tests/integration/servicecatalog/cmd_service_test.go:444
    No future change is possible.  Bailing out early after 0.243s.
    Running odo with args [odo app delete ogffqx -f]
    Expected
        <int>: 1
    to match exit code:
        <int>: 0
    /home/travis/gopath/src/github.com/openshift/odo/tests/helper/helper_run.go:34

Maybe a flake? Triggering again for now.
/retest

@kadel @amitkrout the travis check is failing with same error as it fails for me in my local setup and I don't understand why that's the case or what I'm doing wrong. https://travis-ci.com/github/openshift/odo/jobs/298915517#L733-L909

Travis failure:
• Failure [31.691 seconds]
odo component command tests
/home/travis/gopath/src/github.com/openshift/odo/tests/integration/cmd_cmp_test.go:13
  when component is in the current directory and --project flag is used
  /home/travis/gopath/src/github.com/openshift/odo/tests/integration/component.go:475
    creates a local python component, pushes it and then deletes it using --all flag [It]
    /home/travis/gopath/src/github.com/openshift/odo/tests/integration/component.go:510
    No future change is possible.  Bailing out early after 22.515s.
    Running odo with args [odo push --context /tmp/148843195]
    Expected
        <int>: 1
    to match exit code:
        <int>: 0
    /home/travis/gopath/src/github.com/openshift/odo/tests/helper/helper_run.go:34

4.2 integration failure:
Ginkgo ran 1 suite in 1h16m49.696326188s
Test Suite Failed
2020/03/19 11:47:56 Container test in pod integration-e2e-benchmark failed, exit code 2, reason Error
[Fail] odo preference and config command tests when using --now with config command [It] should successfully set and unset variables
/go/src/github.com/openshift/odo/tests/helper/helper_run.go:34

I'm guessing these are flake.
/test v4.2-integration-e2e-benchmark

/hold cancel
ready for another review @mik-dass @adisky @cdrage @kanchwala-yusuf

one quick fix here would be to augment the WaitForCmdOut with an extra var-arg includeStderr
func WaitForCmdOut(program string, args []string, timeout int, errOnFail bool, check func(output string) bool, includeStderr ...bool) bool {
	pingTimeout := time.After(time.Duration(timeout) * time.Minute)
	// this is a test package so time.Tick() is acceptable
	// nolint
	tick := time.Tick(time.Second)
	for {
		select {
		case <-pingTimeout:
			Fail(fmt.Sprintf("Timeout out after %v minutes", timeout))

		case <-tick:
			session := CmdRunner(program, args...)
			Eventually(session).Should(gexec.Exit(0), runningCmd(session.Command))
			session.Wait()
			output := string(session.Out.Contents())

			if len(includeStderr) > 0 && includeStderr[0] {
				output += "\n" // just so we can separate stuff
				output += string(session.Err.Contents())
			}
			if check(strings.TrimSpace(string(output))) {
				return true
			}
		}
	}
}

so now the WaitForCmdOut would be like
helper.WaitForCmdOut("oc", ocArgs, 1, true, func(output string) bool {
	return strings.Contains(output, "No resources found.")
}, true) // <- observe the extra true here. and this doesn't break any of existing code because
           //`includeStderr` is a var-args parameter.

I know this might not be the most documentation friendly approach but soon we need to redo the helpers ( all of them ) to something nice which covers all our cases and are clean to use. Until that day this looks ok.


Removed spectator dependency. Test with @testing-library/angular

Codecov Report

Merging #95 (fc45f13) into main (9954c6e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #95   +/-   ##
=======================================
  Coverage   62.13%   62.13%
=======================================
  Files         154      154
  Lines        3275     3275
  Branches      525      525
=======================================
  Hits         2035     2035
  Misses       1138     1138
  Partials      102      102

Flag
Coverage Δ

unittests
62.13% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


In SSSOM draft the link to 'SSSOM schema' is broken

In https://mapping-commons.github.io/sssom/spec/#minimum the link-out to SSSOM schema is broken.
Many thanks

Thank you @paulacalipho https://github.com/mapping-commons/sssom/pull/341


rephrasing project 1 description

Signed-off-by: AmoebaProtozoa<EMAIL_ADDRESS>Related issue: #282
What's changed
Restructured the project 1 guide according to course structure proposed at #275
Stripped out unnecessary details for the project and move them to quoted hints.

 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.

@AmoebaProtozoa  Okay! It would be great we can finish the doc together. ^_^

@zhangyangyu could you please also take a look at this PR?


Tutorial: Typo fix

Simple typo fix in tutorial content.

"to" is correct as in "compile to something".


chore: perform go mod download in shared build-workflow

What this PR does / why we need it:
Ensure that Go dependencies are downloaded when inputs.additional-build-contexts is specified. It points to a package downloaded by Go toolchain in case of EE build and due to limitations of GH Workflows it has to be done here

and due to limitations of GH Workflows it has to be done here

To be specific: due to the fact that Github Actions' jobs are not guaranteed to run on the same  runners


CB-14113: document issue workflow

Platforms affected
What does this PR do?
This documents the issue workflow for me as a first-timer.

refer to issue documentation
name the project to file the issue under

What testing has been done on this change?
Reading the docs twice.
Checklist

[X] Reported an issue in the JIRA database
[X] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
[X] Added automated test coverage as appropriate for this change.

Thanks for the PR, but we are planning on moving to github issues soon, so this will become irrelevant.
Also doing it for just one repo makes no sense, in case we do it, we should do it for all plugins and platforms, but as I said, there is no point as we are going to move to github issues.


Retry when S3 bucket creation yells BucketAlreadyOwnedBy (fixes #955)

Fixes #955

This must be my day! All my PR pass on first run. It's a good sign. Build stability is improving.

Build failure tracked as #978 for which a fix was merged into master since then.


PrintFile and StreamFile warnings with -Woverloaded-virtual

Building with esp8266/Arduino, gcc10.3 and forcibly enabled -Woverloded-virtual
In file included from cores/esp8266/Stream.h:27,
                 from cores/esp8266/HardwareSerial.h:32,
                 from cores/esp8266/Arduino.h:303,
                 from libraries/SD/src/SD.h:23,
                 from libraries/SD/src/SD.cpp:1:
libraries/ESP8266SdFat/src/ExFatLib/../common/ArduinoFiles.h: In instantiation of 'class PrintFile<FatFile>':
libraries/ESP8266SdFat/src/SdFat.h:455:23:   required from here
cores/esp8266/Print.h:61:24: warning: 'virtual size_t Print::write(const uint8_t*, size_t)' was hidden [-Woverloaded-virtual]
   61 |         virtual size_t write(const uint8_t *buffer, size_t size);
      |                        ^~~~~
In file included from libraries/ESP8266SdFat/src/FatLib/FatVolume.h:27,
                 from libraries/ESP8266SdFat/src/FatLib/FatLib.h:27,
                 from libraries/ESP8266SdFat/src/SdFat.h:34,
                 from libraries/SDFS/src/SDFS.h:35,
                 from libraries/SD/src/SD.h:25,
                 from libraries/SD/src/SD.cpp:1:
libraries/ESP8266SdFat/src/FatLib/FatFile.h:913:10: note:   by 'PrintFile<FatFile>::write'
  913 |   size_t write(const char* str) {
      |          ^~~~~

...etc...
If I understood the intent correctly, changes should be something like this - hiding original methods by removing 'using = ...' and adding explicit override to the methods required for Print & Stream
https://github.com/mcspr/ESP8266SdFat/commit/f4d407646685e9082f19200df21b310adc7ad9d2
(we are still at SdFat version 2.1.1, but the issue applies to both latest release and beta version here. plus, updated formatting)
Do you accept pull-requests here?

Do you accept pull-requests here?
I would rather have the the patch so I can apply it to my development version.
I am about to post a new beta which has much new code.  I like to test mods on many boards before posting and I am about to test the new beta.
If will I get these mods if I just use this version of ArduinoFile.h?

I took your version of ArduinoFiles.h and ran it though clang_format since I now don't fuss with formatting during development and use clang_format.
I modified the current version of SdFat-beta  ArduinoFiles.h so:

diff  -w ArduinoFiles_mcpr_clang.h ArduinoFiles.h   1>diff.txt

Is
2c2
<  * Copyright (c) 2011-2021 Bill Greiman
---
>  * Copyright (c) 2011-2024 Bill Greiman
27c27
< #include "SdFatConfig.h"
---
> #include "SysCall.h"
85a86,87
>
> #ifndef DOXYGEN_SHOULD_SKIP_THIS
89d90
<    * \return a pointer to replacement suggestion.
91d91
< #ifndef DOXYGEN_SHOULD_SKIP_THIS
94d93
<   const char* name() const { return "use getName()"; }
108d106
<
117d114
<

Re-uploaded after running clang-format
https://github.com/mcspr/ESP8266SdFat/commit/85e06665a1f26e548a42baaa412b0d95281db270
https://github.com/mcspr/ESP8266SdFat/commit/85e06665a1f26e548a42baaa412b0d95281db270.diff
https://github.com/mcspr/ESP8266SdFat/commit/85e06665a1f26e548a42baaa412b0d95281db270.patch
I also forgot about Print::flush() in the first one

I also forgot about Print::flush() in the first one

I added Print::flush() and now your fix-wov/beta  matches the version I am testing for the next SdFat-beta.
The next SdFat-beta will have have an RP2040 PIO SDIO driver I wrote and can read/write at about 25 MB/sec for small, transfers.
I tried the ESP32 SDIO driver but it is not worth adding since there is no way to make it go fast for transfers smaller than about 16 KB.  Then it is still fairly slow.
Unfortunately most SDIO drivers were written for FatFs and don't have a way to use the code I wrote for shared SPI.  I probably will only write new SDIO drivers for MCUs I use.

I started testing and found a problem.  I searched through 21 Arduino packages for the regular expression  "virtual +int +read" in Stream.h and found ESP8266 was the only one that had virtual int read(uint8_t*, size_t).
  C:\Users\Bill\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.7.14\cores\arduino\Stream.h (1 hit)
	Line  60:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino\Stream.h (1 hit)
	Line  60:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\mbed_giga\4.1.1\cores\arduino\api\Stream.h (1 hit)
	Line  61:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\mbed_rp2040\4.1.1\cores\arduino\api\Stream.h (1 hit)
	Line  61:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.8\cores\arduino\api\Stream.h (1 hit)
	Line  61:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\renesas_portenta\1.1.0\cores\arduino\api\Stream.h (1 hit)
	Line  61:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.1.0\cores\arduino\api\Stream.h (1 hit)
	Line  61:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.12\cores\arduino\Stream.h (1 hit)
	Line  60:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.8.14\cores\arduino\api\Stream.h (1 hit)
	Line  61:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.5.2\cores\tiny\Stream.h (1 hit)
	Line  60:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.5.2\cores\tinymodern\Stream.h (1 hit)
	Line  60:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32\Stream.h (1 hit)
	Line  49:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266\Stream.h (3 hits)
	Line  41: // Arduino `Client: public Stream` class defines `virtual int read(uint8_t *buf, size_t size) = 0;`
	Line  60:         virtual int read() = 0;
	Line 119:         virtual int read (uint8_t* buffer, size_t len);
  C:\Users\Bill\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\3.0.1\cores\MCUdude_corefiles\Stream.h (1 hit)
	Line  60:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\3.0.1\cores\MCUdude_corefiles\Stream.h (1 hit)
	Line  60:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\3.7.2\ArduinoCore-API\api\Stream.h (1 hit)
	Line  61:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2.7.1\cores\arduino\Stream.h (1 hit)
	Line  59:     virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\cores\teensy\Stream.h (1 hit)
	Line 31: 	virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\cores\teensy3\Stream.h (1 hit)
	Line 33: 	virtual int read() = 0;
  C:\Users\Bill\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\cores\teensy4\Stream.h (1 hit)
	Line 33: 	virtual int read() = 0;

These seem to be the standard virtual member function in true Arduino packages:
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.1.0\cores\arduino\api\Print.h (4 hits)
	Line 49:     virtual size_t write(uint8_t) = 0;
	Line 54:     virtual size_t write(const uint8_t *buffer, size_t size);
	Line 61:     virtual int availableForWrite() { return 0; }
	Line 92:     virtual void flush() { /* Empty implementation for backward compatibility */ }
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.1.0\cores\arduino\api\Stream.h (3 hits)
	Line  60:     virtual int available() = 0;
	Line  61:     virtual int read() = 0;
	Line  62:     virtual int peek() = 0;

I decided to try changing:
  int read(uint8_t* buffer, size_t size) override {
    return BaseFile::read(buffer, size);
  }

to:
  int read(void* buf, size_t size) {
    return BaseFile::read(buf, size);
  }

Then it matches other files:
  C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\common\ArduinoFiles.h (1 hit)
	Line 115:   int read(void* buf, size_t size) {
  C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\ExFatLib\ExFatFile.h (1 hit)
	Line 648:   int read(void* buf, size_t count);
  C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\FatLib\FatFile.h (1 hit)
	Line  796:   int read(void* buf, size_t count);
  C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\FsLib\FsFile.h (1 hit)
	Line 699:   int read(void* buf, size_t count) {

Hm... this was added for StreamDev.h API in ESP8266 (previosuly virtual size_t readBytes()), so it is definitely not real-real Arduino API. We can change it to have if defined(ESP8266) in our fork, though. So not a big problem, when read(void*) is available
diff --git a/src/common/ArduinoFiles.h b/src/common/ArduinoFiles.h
index 4c39dad..0aabf09 100644
--- a/src/common/ArduinoFiles.h
+++ b/src/common/ArduinoFiles.h
@@ -106,9 +106,20 @@ class StreamFile : public stream_t, public BaseFile {
    * \return For success return the number of read bytes.
    * If an error occurs or end of file is reached return -1.
    */
-  int read(uint8_t* buffer, size_t size) override {
+  int read(void* buffer, size_t size) {
     return BaseFile::read(buffer, size);
   }
+#if defined(ESP8266)
+  int read(uint8_t* buffer, size_t size) override {
+    return BaseFile::read((void*)buffer, size);
+  }
+  size_t readBytes(uint8_t* buffer, size_t size) override {
+    return (size_t)read((void*)buffer, size);
+  }
+  size_t readBytes(char* buffer, size_t size) {
+    return readBytes((uint8_t*)buffer, size);
+  }
+#endif
   /** Rewind a file if it is a directory */
   void rewindDirectory() {
     if (BaseFile::isDir()) {

Another problem.  virtual void flush() is missing in some packages.

c:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src/ExFatLib/../common/ArduinoFiles.h:49:8: error: 'void PrintFile::flush() [with BaseFile = FsBaseFile]' marked override, but does not override
void flush() override { BaseFile::sync(); }
^

The big problem is Arduino Due.  These are the only virtual members.
 C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.12\cores\arduino\Print.h (2 hits)
	Line 48:     virtual size_t write(uint8_t) = 0;
	Line 53:     virtual size_t write(const uint8_t *buffer, size_t size);

The new standard Arduino API has these four virtual members.
  C:\Users\Bill\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.1.0\cores\arduino\api\Print.h (4 hits)
	Line 49:     virtual size_t write(uint8_t) = 0;
	Line 54:     virtual size_t write(const uint8_t *buffer, size_t size);
	Line 61:     virtual int availableForWrite() { return 0; }
	Line 92:     virtual void flush() { /* Empty implementation for backward compatibility */ }

I am thinking of removing it from class PrintFile since I put it in many years ago before Arduino removed it from Print and put it in Stream.
It is in the base files so it should not break apps
 C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\ExFatLib\ExFatFile.h (1 hit)
	Line 260:   void flush() { sync(); }
  C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\FatLib\FatFile.h (1 hit)
	Line  341:   void flush() { sync(); }
  C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\FsLib\FsFile.h (1 hit)
	Line 256:   void flush() { sync(); }

Any suggestions?

Here is the history of flush from Arduino.
Strange they moved it to Stream since it should be in Print.

flush() can lose override keyword, apparently C++ does not care whether it is there (I did care, though :)
https://en.cppreference.com/w/cpp/language/virtual#In_detail
But warnings would still trigger for different arguments in similarly named methods

flush() can lose override keyword, apparently C++ does not care whether it is there (I did care, though :)

I understand.
Maybe the answer is to have the override in  the StreamFile class and not the PrintFile class.  A C++ compiler can't know whether flush appears in Stream or Print since Stream has Print as a base class.
Try this and see if you get warnings.
I only have the PrintFile class for backward compatibility with the old SdFile class.  I don't use it in any version 2.x examples.
C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\common\ArduinoFiles.h (3 hits)
Line  39:  * \class PrintFile
Line  40:  * \brief PrintFile class.
Line  43: class PrintFile : public print_t, public BaseFile {
C:\Users\Bill\Documents\ArduinoSdFat\libraries\SdFat\src\SdFat.h (1 hit)
Line 468: class SdFile : public PrintFile {
There are now over 100 board packages for the Arduino IDE.
It is hopeless to write a modern safe C++ library for this motley collection.

No warnings w/ the suggested change for PrintFile. I do see now that StreamFile is what ESP8266 have been using through File32, PrintFile just got noticed at the same time since it gets pulled from SdFat.h as well
btw I only noticed this warning after trying to build our Core tests with gcc13.2, which happen to include SdFat to check SDFS & SD APIs. By default it builds with -Wall -Werror, and -Woverloaded-virtual=1 is now enabled by default with >=gcc13 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87729
(-Woverloaded-virtual=2 also passes the build, only errors come from ESP8266 classes)

I have decided to modify ArduinoFiles.h so PrintFile will build correctly.  I added an exception for Due since it clearly has a bug since flush() should be in Print.h, not in Stream.h.
Arduino is upgrading all packages to use ArduinoCore-API
Here is a zip with the new file:
ArduinoFiles.zip


Feat/1/add new contributor

This PR
add new contributor.

@atharvkarajgi please add yourself to the contributors in your other PR :)


Printing is not supported on Office on the Web for protected files

Appears printing is not supported on Office on the Web for protected files, is that correct?

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

ID: e0836a95-d3b7-3c43-d56b-5fb4ceeb4765
Version Independent ID: 8a0d366b-5ff7-22de-7aba-6adbe0ea94ea
Content: Manage sensitivity labels in Office apps - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/sensitivity-labels-office-apps.md
Service: o365-seccomp
GitHub Login: @cabailey
Microsoft Alias: cabailey

Investigating

@Bievens   Now confirmed.  I hadn't realized printing wasn't supported for encrypted documents in Office for the web.  Now added to the list of limitations, here: https://docs.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels-sharepoint-onedrive-files?view=o365-worldwide#limitations
It seemed a strange limitation to me until I learned that in the background, to support a printable format, apps get converted to PDF.  Conversion to PDF is not allowed for encrypted documents, so printing is disabled.  To make printing possible, the conversion to PDF would need to change.  Not impossible but not a quick fix, and if this is important to you, you can up-vote an existing UserVoice request I found: https://office365.uservoice.com/forums/928576-microsoft-information-protection-mip/suggestions/42004780-office-online-print-option-greyed-out   You can also request a design change using your Microsoft Support contacts.


Run formula not work.

parseDate(prop('File')['metadata']['file']['tags']) Error: No access to property "metadata"
    at getSafeProperty (plugin:make-md:48509:9)
    at evalAccessorNode (plugin:make-md:68280:18)
    at evalAccessorNode (plugin:make-md:68280:34)
    at evalAccessorNode (plugin:make-md:68280:34)
    at evalFunctionNode (plugin:make-md:71095:30)
    at Object.evaluate (plugin:make-md:68080:16)
    at Object.stringMapObject (plugin:make-md:72322:37)
    at Object.evaluate (plugin:make-md:18116:26)
    at runFormula (plugin:make-md:85021:24)
    at runCommand (plugin:make-md:104625:25)
    at onClick (plugin:make-md:104642:20)
    at Object.Nb (plugin:make-md:5310:12)
    at Tb (plugin:make-md:5326:10)
    at Ub (plugin:make-md:5329:10)
    at nf (plugin:make-md:6422:7)
    at se (plugin:make-md:6449:15)
    at eval (plugin:make-md:6752:9)
    at Rk (plugin:make-md:10432:16)
    at Jb (plugin:make-md:5255:16)
    at hd (plugin:make-md:6530:7)
    at fd (plugin:make-md:5820:11)
    at ed (plugin:make-md:5802:16)

Hi, it seems to work using dot notation:
prop('File').metadata.property['tags']

For tags, I highly recommend creating a field called "tags" instead of using a formula. Also you can't parse date on the tags.

The formula related issues should be fixed and a whole host of formula issues have been improved. Feel free to reopen or open another issue if you have any issues with formulas


fixed warnings for redundant/unused imports

With compiler version <IP_ADDRESS> there were a lot of warnings, I've fixed them all (except for the ones in dependencies).

Super, thank you!


add time to functional

This PR is an interface breaking change that aims to address a problem with the way serac's physics modules currently handle time in q-functions.
Right now, the physics module has a member variable for the current simulation time. When a user registers a q-function for the residual calculation, the lambda function captures a reference to this time member variable and so that it can be used in the body of the q-function. The two main problems with this approach are:

Time is being passed around "implicitly"-- it doesn't appear as a function argument, and as a result, it's hard to reason about what time value is currently being used, or when it is modified.
Capturing a reference to a host variable will segfault when executing the q-function inside a CUDA kernel (preventing us from running our simulations on GPUs).

Now, q-functions passed to serac::Functional all receive an additional argument of type double in the first position, and the serac::Functional::operator() member function also takes a double in the first position. For example,
Before:
  // create a serac::Functional object
  Functional<test_space(trial_space)> residual(&test_fespace, {&trial_fespace});

  // register a q-function
  residual.AddDomainIntegral(
      Dimension<dim>{}, DependsOn<0>{},
      [=](auto x, auto temperature) {
        auto [u, du_dx] = temperature;
        return serac::tuple{u, k * du_dx};
      }, *mesh);

  // invoke the integral kernels
  auto r = residual(u);

After:
  // create a serac::Functional object (unchanged)
  Functional<test_space(trial_space)> residual(&test_fespace, {&trial_fespace});

  // register a q-function (changed)
  residual.AddDomainIntegral(
      Dimension<dim>{}, DependsOn<0>{},
      [=](double t, auto x, auto temperature) { // <--- the first q-function argument is time
        auto [u, du_dx] = temperature;
        return serac::tuple{u, k * du_dx};
      }, *mesh);

    // invoke the integral kernels (changed)
  double time = ...;
  auto r = residual(time, u); // now the residual calculation requires time to be passed in

@barreracruz @kswartz92 , this is a breaking change to anything that directly uses Functional. It's pretty straightforward to adopt, but it will require changing your interfaces. We could have a default time = 0.0 function signature, but I think it's better to just deal with this breaking change. Any thoughts?

@barreracruz @kswartz92 , this is a breaking change to anything that directly uses Functional. It's pretty straightforward to adopt, but it will require changing your interfaces. We could have a default time = 0.0 function signature, but I think it's better to just deal with this breaking change. Any thoughts?

Are there plans to include shape in functional as well? If so, would it make sense to introduce a new breaking functional interface with all of the intended changes?

@barreracruz @kswartz92 , this is a breaking change to anything that directly uses Functional. It's pretty straightforward to adopt, but it will require changing your interfaces. We could have a default time = 0.0 function signature, but I think it's better to just deal with this breaking change. Any thoughts?

For clarification: everything that goes through the physics modules (e.g. materials, tractions, boundary conditions) is unchanged, it's just the direct calls to serac::Functional::operator() that need an extra doubles.

@barreracruz @kswartz92 , this is a breaking change to anything that directly uses Functional. It's pretty straightforward to adopt, but it will require changing your interfaces. We could have a default time = 0.0 function signature, but I think it's better to just deal with this breaking change. Any thoughts?

Are there plans to include shape in functional as well? If so, would it make sense to introduce a new breaking functional interface with all of the intended changes?

The shape interface will be built on top of the existing Functional infrastructure, so it's fundamentally a different development activity. That said, it is on the top of my to-do pile so I can get that done this week and you could bring them both over at the same time.

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (e7f4212) 89.84% compared to head (361da3e) 89.92%.
Report is 15 commits behind head on develop.

Files
Patch %
Lines

src/serac/physics/solid_mechanics.hpp
94.28%
2 Missing :warning:

...rics/functional/tests/functional_comparison_L2.cpp
75.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1039      +/-   ##
===========================================
+ Coverage    89.84%   89.92%   +0.07%
===========================================
  Files          149      149
  Lines        12057    12081      +24
===========================================
+ Hits         10833    10864      +31
+ Misses        1224     1217       -7

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


chore(dev): deploy website in PRs automatically to netlify

Works, we now have both react-instantsearch and instantsearch.js websites deployed on every PR, should make it easier to iterate soon on instantsearch.js website.

Example: https://deploy-preview-1983--algolia-instantsearch.netlify.com/

That's great

The live examples are also using the build of instantsearch.js that comes from the branch. So everything being shown on the website is really the branch work, not reusing any production asset. (isolation)

Noice!! :D


➖ add deprecation notice

Motivation
Add deprecation notice

+1 to archive either but just after address the issues since it is not necessarily related to this project and when a repo has archived all issues and PR will be closed.


Link to Error Severities from RAISERROR page

Adding a link to the Database Engine Error Severities page from the severity section of the RAISERROR page.

@csrowell : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Cannot start a service on githubwebhook3:Listener programmatically

Description:
Following code is taken from wso2-ballerina/module-github
import ballerina/http;
import ballerina/io;
import ballerina/websub;
import wso2/githubwebhook3;

listener githubwebhook3:Listener githubListener = new(8080);

@websub:SubscriberServiceConfig {
   path: "/webhook",
   subscribeOnStartUp: true,
   hub: githubwebhook3:HUB,
   topic: "https://github.com/<GH_USERNAME>/<GH_REPO_NAME>/events/*.json", // for all events
   secret: "<SECRET>",
   callback: "<CALLBACK_URL>", // only needs to be specified if not http(s)://<HOST>:<PORT>/<path>
   subscriptionClientConfig: {
        auth: {
            scheme: http:OAUTH2,
            config: {
                grantType: http:DIRECT_TOKEN,
                config: {
                    accessToken: "<GH_ACCESS_TOKEN>"
                }
            }
        }
   }
}
service githubWebhook on githubListener {

    resource function onPing(websub:Notification notification, githubwebhook3:PingEvent event) {
        io:println("[onPing] Webhook Registered: ", event);
    }

    resource function onIssuesOpened(websub:Notification notification, githubwebhook3:IssuesEvent event) {
        io:println("[onIssuesOpened] Issue ID: ", event.issue.number);
    }

    resource function onWatch(websub:Notification notification, githubwebhook3:WatchEvent event) {
        io:println("[onWatch] Repository starred by: ", event.sender);
    }
}

However I need to start the service upon receiving a function call which contains the topic, secret and access token. Therefore I changed the code as follows.
import ballerina/http;
import ballerina/io;
import ballerina/websub;
import wso2/githubwebhook3;

listener githubwebhook3:Listener githubListener = new(8080);

public function startService(string topic, string secret, string token) {
    service s = @websub:SubscriberServiceConfig {
        path: "/webhook",
        subscribeOnStartUp: false,
        hub: githubwebhook3:HUB,
        topic: topic,
        secret: secret,
        //callback: "<CALLBACK_URL>", // only needs to be specified if not http(s)://<HOST>:<PORT>/<path>
        subscriptionClientConfig: {
                auth: {
                    scheme: http:OAUTH2,
                    config: {
                        grantType: http:DIRECT_TOKEN,
                        config: {
                            accessToken: token
                        }
                    }
                }
        }
    }
    service {
        resource function onPing(websub:Notification notification, githubwebhook3:PingEvent event) {
            io:println("[onPing] Webhook Registered: ", event);
        }

        resource function onIssuesOpened(websub:Notification notification, githubwebhook3:IssuesEvent event) {
            io:println("[onIssuesOpened] Issue ID: ", event.issue.number);
        }

        resource function onWatch(websub:Notification notification, githubwebhook3:WatchEvent event) {
            io:println("[onWatch] Repository starred by: ", event.sender);
        }
    };

    s.__attach();
}

There are some issues with this approach

Local variables cannot be used in websub:SubscriberServiceConfig.
As a workaround I can assign the local variables to a global variables and use it in the config but its not concurrent safe.
A compile error is thrown because it fails to identify that above service is on githubwebhook3:Listener.
There is no workaround for this issue and its not possible to programmatically add a github webhook.

Affected Versions:
0.991

Regarding issue 1, this is a language level issue that is being tracked with https://github.com/ballerina-platform/ballerina-lang/issues/9144.
For no. 2, the issue was that we were assuming service objects to be generic WebSub subscriber services, and doing that validation. This was fixed in 1.0-alpha by introducing a new annotation @websub:SpecificSubscriber. Generic validations are not carried out if a WebSub service has that annotation. Fixed with #17167.


Change path to fsPath

TL;DR: Using path resulted in errors for tsserver in non-unix platforms due to the tsserver not finding the specified file.
To debug this issue (#1), I got logs from tsserver by following these instructions (and the ones in the official tsserver docs), opened vscode and then tried to use the extension on a TypeScript project.

Note
I would share the logs I got but unfortunately they contain sensitive information such as file paths and project names.

The issue was that the path the extension was sending to tsserver was something like /c:/Users/... when, in Windows, they should look like c:\\Users\....
fsPath handles drive letters and directory separators across different platforms.

Fixes #1

Lovely fix and great explanation!

INFO  Publishing 'Orta.vscode-twoslash-queries v1.0.2'...
INFO  Extension URL (might take a few minutes): https://marketplace.visualstudio.com/items?itemName=Orta.vscode-twoslash-queries
INFO  Hub URL: https://marketplace.visualstudio.com/manage/publishers/Orta/extensions/vscode-twoslash-queries/hub
DONE  Published Orta.vscode-twoslash-queries v1.0.2.


rename path to eventHubName

fix issue: #100

Codecov Report

Merging #127 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #127   +/-   ##
=======================================
  Coverage   61.73%   61.73%
=======================================
  Files          45       45
  Lines        1453     1453
  Branches      161      161
=======================================
  Hits          897      897
  Misses        501      501
  Partials       55       55

Impacted Files
Coverage Δ

...azure/maven/function/bindings/EventHubBinding.java
80% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


CI BOM checking

Fixes #7780
WIP since the generated license-bill-of-materials doesn't look quite right

bom check is passing. PTAL /cc @xiang90

lgtm


Remove optional base parameter for Float#to_s in float.rbi

Currently to_s in the RBI for the Float class specifies that an optional parameter base can be passed. This is accurate for Integer#to_s but not Float#to_s.
Docs: https://ruby-doc.org/core-2.7.0/Float.html#method-i-to_s

Motivation
Sorbet is unable to pick up on Float#to_s calls that could potentially cause errors during runtime.
Test plan
See included automated tests.

Oh boy I accidentally cooked it 😬 Think I might close this and make a fresh PR my bad

Oh boy I accidentally cooked it 😬 Think I might close this and make a fresh PR my bad


search based on attribute alias?

Hi,
metadata structure is very nested (example :- citation >>distribution) hence to search based on metadata attribute , user have to type the full path of attribute (example :- citation.distribution.date).
is it possible in current edition ? if not , then
are we planing to have support for search based on attribute alias?
Or any other work around idea will be  very helpful for immediate solution.
Thanks and Regards

hi, when publishing metadata (XML) to geoportal, we pull out elements into a JSON structure to be stored in elasticsearch. You can configure search facets based on the fields in that JSON without needing the full xpath to the element/attribute in the XML.
Updating the search panel with a new facet is described here: https://github.com/Esri/geoportal-server-catalog/wiki/Customize-search-panel
The mapping of XML elements/attributes to elastic JSON fields is described here: https://github.com/Esri/geoportal-server-catalog/wiki/Mapping-XML-element-to-Elasticsearch-field


Missing step method causes undefined method call' for class FalseClass'

When you define a step and the method doesn't exist, Ruby throws an exception saying undefined method 'call' for class 'FalseClass'. I'd expect the error to be more informative.
class MyTransaction
  include Dry::Transaction

  step :validate
end

MyTransaction.new.call #=> undefined method `call' for class `FalseClass'

@Morozzzko You are absolutely right.
What about MissingStepDefinition or InvalidStepDefinition ?

I believe, MissingStepDefinition would be more concise.
If this issue is up for grabs, I might submit something by Sunday evening.

All yours :)
Love to see a PR.
Cheers mate


Inline shortcode regression

See https://discourse.gohugo.io/t/inline-shortcode-crashing-hugo-0-62/22495

It would be helpful if the commit message were self-contained and pointed out what it changes.
Atm. from the release page I can look at the commit and this ticket and see nothing. Then I have to navigate to a forum which has some reproduction case, some reasoning and some caveats split up into several posts.
It would be much appreciated if the Git commit or at least the bug ticket it references were self-contained and explanatory.

There is 1) What: "inline shortcodes" 2) A failing test case now fixed. That is both self-contained and explanatory.


OPS-2175: migrating usage of request and request-promise to axios

OPS-2175
NOT merging this before TG so not expecting reviews before the holidays either. Happy to do a pairing session after TG to discuss these changes if y'all would like that!
How did you implement it
moving all usage of request and request-promise (and subsequently request-progress) to use axios instead.
request and request-promise are prone to prototype pollution vulnerability from versions of tough-cookie older than 4.1.3 (more info in ticket)
How can we verify it
getReleaseSource and downloadFlywaySource are called when we run npm run install in the flyway project (after building with our new changes of course). getReleaseSource should return the correct data from the Maven repository and is the first step in npm run install command. downloadFlywaySource is the second step in npm run install command and will save a file to your machine after success. Here are ss's of running npm run install locally (same output as when we used request library, and also got verbose error logging as expected when I had errors in my code!):
in the middle, we can see the progress bar working as intended:

when completed:

test the behavior across different platforms (win32, linux, darwin, and arm64) to confirm no regression

how might I do this?

todo after speaking with perry:
Add validation for before changes
Add validation for running flyway command (such as dump or migrate) after connecting local changes to our main repo

lgtm! can we confirm that the installed flyway can successfully run our db commands in app?
@perryahn yes!! See below

locally linking flyway changes to app's package.json (after building/packing flyway changes):

running npm run db-migrate:

running npm run db-generate:


SAR-9157: Add remove all data method

there is an import not used in FeatureSwitchingModule ... I think it was there already before.

Milly for me it is almost okay ... only a couple of tests to prove that removes method return false if the lookup fails and dont delete random data.
If you agree please add them otherwise ... please add them as well even if you disagree because I think are important  ;-)


Start GCOM integration research

Overview
The main task we have right now is to send GPS coordinates through the serial port, to the antenna consistently. We are planning on using GCOM to get these coordinates. Since GCOM is written in Python, ideally we would want to find a way to make a python file to send these coordinates serially.
Things to figure out:

how GCOM sends/contains coordinates, really how it works.
how to get coordinates from GCOM.
how to send coordinates to serial port using Python.

We are planning to stick with our Arduino unit for now. I am going to look into methods we can use to send coordinates via serial port using python.


usage instructions etc?

Hi,
I'm just wondering if this project has been abandoned?
I could really use something like this... :)
Thanks in advance,
Prof Falken

Closing


Leaden Fist not tracked [Monk Overlay]

Description
Leaden Fist is not tracked in the overlay while using the german client. If I remember correctly it worked before 5.2.

Is this still happening? This is still working in English and the translation looks correct to me.

It seems like it was a problem with the FFXIV ACT Plugin and not Cactbot.