Using the plugin with the Atlas MongoDB Service

Hello all,
Is it possible to use this plugin to connect to the Atlas MongoDB? I'm trying to use it but for some reason it is falling to connect to the address which is coin-collector.zwqpm.mongodb.net:27017.
The error states: server selection error: context deadline exceeded, current topology: { Type: Unknown, Servers: [{ Addr: coin-collector.zwqpm.mongodb.net:3333, Type: Unknown, Last error: dial tcp: lookup coin-collector.zwqpm.mongodb.net on <IP_ADDRESS>:53: no such host }, ] }
I'm able to connect to different clients like the MongoDB Compass

The log shows you connected to port "3333" instead of "27017". Maybe try port 27017?

Hi @neilor-mendes . Please check the latest build which should fix your issue

Hello @haohanyang I'm gonna try the latest version and let you know. Thanks.

@haohanyang Found a different issue now, not sure if you want to use this one here to tackle it or if you want me to open a new one but basically when I'm starting the container using the statement below
docker run -d -p 3000:3000 --restart=unless-stopped --volume grafana-storage:/var/lib/grafana -e GF_INSTALL_PLUGINS="https://github.com/haohanyang/mongodb-datasource/archive/refs/heads/master.zip;haohanyang-mongodb-datasource" -e "GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=haohanyang-mongodb-datasource" -e "GF_SECURITY_ADMIN_PASSWORD=grafana" --name=grafana grafana/grafana-oss

The following error is happening:
❯ docker logs grafana
Error: ✗ failed to convert to plugin DTO: could not find plugin.json or dist/plugin.json in /var/lib/grafana/plugins/haohanyang-mongodb-datasource
Error: ✗ failed to convert to plugin DTO: could not find plugin.json or dist/plugin.json in /var/lib/grafana/plugins/haohanyang-mongodb-datasource
Error: ✗ failed to convert to plugin DTO: could not find plugin.json or dist/plugin.json in /var/lib/grafana/plugins/haohanyang-mongodb-datasource
Error: ✗ failed to convert to plugin DTO: could not find plugin.json or dist/plugin.json in /var/lib/grafana/plugins/haohanyang-mongodb-datasource
Error: ✗ failed to convert to plugin DTO: could not find plugin.json or dist/plugin.json in /var/lib/grafana/plugins/haohanyang-mongodb-datasource
Error: ✗ failed to convert to plugin DTO: could not find plugin.json or dist/plugin.json in /var/lib/grafana/plugins/haohanyang-mongodb-datasource
Error: ✗ failed to convert to plugin DTO: could not find plugin.json or dist/plugin.json in /var/lib/grafana/plugins/haohanyang-mongodb-datasource

@haohanyang the error is different now but seems it is almost there:
connection() error occurred during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AtlasError) bad auth : authentication failed

Is this related?
https://stackoverflow.com/questions/68927857/mongoexport-auth-error-using-mechanism-scram-sha-1
Maybe try adding “authenticationDatabase=admin” or “authSource=admin” to
“Connection parameter”
On Mon, Oct 14, 2024 at 2:41 PM Neilor Mendes @.***>
wrote:

@haohanyang https://github.com/haohanyang the error is different now
but seems it is almost there:
connection() error occurred during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AtlasError) bad auth : authentication failed
image.png (view on web)
https://github.com/user-attachments/assets/fe351e2c-1b46-415f-b67f-2b6e3fa8ae45
—
Reply to this email directly, view it on GitHub
https://github.com/haohanyang/mongodb-datasource/issues/12#issuecomment-2411124339,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI7IINRJA477N5XXAZTE6ATZ3O3WVAVCNFSM6AAAAABP2X4E6CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJRGEZDIMZTHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@haohanyang never mind bud, there was a typo in my username/password. It is working properly, I was able to connect. I'm sorry for that.

I'm closing the issue and thanks again for your quick fix!


UofT-DSI | Applying Statistical Concepts - Assignment 3

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Submitting assignment 3
What did you learn from the changes you have made?
Bootstrapping
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
NA
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
NA
How were these changes tested?
NA
A reference to a related issue in your repository (if applicable)
NA
Checklist

[ x ] I can confirm that my changes are working as intended

A3 complete


Upgrade golangci-lint and refactor to meet proper linting settings

What does this PR do?
This PR:

Updates golangci-lint to v1.26.0
Resets gocognit setting to proper value
Refactors methods to pass proper linting

Fixes #550

Additional Notes

@kevinpollet Harold is off for now, so I'll take a look


How can I display PHP Parse errors in the monolog log file?

I am going to use the monolog library to view all the php logs. In the case of PHP parse errors, only the www-error.log file is logged. Any subsequent code will not work. Can I use Monolog to display PHP Parse errors?
Thanks for reading.
I tried the following test code:
// create a log channel
$logger = new Logger('test');
$handler = new RotatingFileHandler('../log/test.log', 0, Logger::DEBUG);

$handler->setFilenameFormat('{filename}-{date}', 'Ymd');

$error_log_handler = new \Monolog\Handler\ErrorLogHandler();

$logger->pushHandler($handler);
$logger->pushHandler($error_log_handler);

// ErrorHandler::register($logger);

$error_handler = new ErrorHandler($logger);
$error_handler->registerErrorHandler(array(), false);
$error_handler->registerExceptionHandler();
$error_handler->registerFatalHandler();

$logger->debug('------- test.php');

if $x==1 {
   echo "Hello World!";
}

I expected the logs shown in the www-error.log file to be displayed in the monolog log file as follows, but nothing was recorded, including '------- test.php'.
www-error.log Log output: [13-Jun-2019 08:56:53 UTC] PHP Parse error: syntax error, unexpected '$x' (T_VARIABLE), expecting '(' in /home/kinimall/m/test.php on line 70
test-20190613.log (monolog) Log output is nothing.

This should work but not if the parse error is in the same file as the file that sets up monolog, because in that case the monolog config won't ever be executed, php fails with a parse error before it even starts executing that file. If you split it in two files and move the broken if block to an include 'broken.php'; I believe it should work.

Sorry i know it is a very old post but how to display the entries of log files?


Handle custom osie after preinstall

Tested in production using custom osie to boot a custom-osie-preinstall enabled osie :dizzy_face:
2020-08-06T16:09:07.526204Z [info     ] context updated                [runner] instance_state=provisioning state=provisioning
2020-08-06T16:09:07.527067Z [info     ] custom osie detected           [runner]
2020-08-06T16:09:07.527243Z [info     ] wiping disks                   [runner]
wipe.sh
Logging to tinkerbell.dfw2.packet.net with 94efbfe8-dcf8-4f30-b469-62ff5fd139bb
/dev/shm
/dev/pts
/dev/mqueue
/dev/console
/dev
umount: /dev/pts: target is busy
        (In some cases useful info about processes that
         use the device is found by lsof(8) or fuser(1).)
umount: /dev: target is busy
        (In some cases useful info about processes that
         use the device is found by lsof(8) or fuser(1).)
Creating new GPT entries.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Creating new GPT entries.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Creating new GPT entries.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Disk wipe finished.
Clean time: 1
2020-08-06T16:09:09.205760Z [info     ] setting up cleanup.sh with reboot [runner]
+ [ -x /tmp/osie-statedir-null/cleanup.sh ]
+ reason=cleanup.sh did not finish correctly
+ cd /tmp/osie-statedir-null
+ exec ./cleanup.sh
 [ ok ]
 * Stopping busybox syslog ... [ ok ]
 * Stopping Packet Task Runner ... * start-stop-daemon: no matching processes found
 [ ok ]
 * Stopping busybox klogd ... [ ok ]
 * Stopping docker ... [ ok ]
 * Unmounting loop devices
 *   Remounting /.modloop read only ... [ ok ]
 * Unmounting filesystems
 *   Unmounting /run/docker/netns/default ... [ ok ]
 * Setting hardware clock using the system clock [UTC] ... [ ok ]
 * Stopping busybox mdev ... [ ok ]
 * Terminating remaining processes ... [ ok ]
 * Killing remaining processes ... [ ok ]
 * Saving dependency cache ... [ ok ]
 [ ok ]
 * Remounting remaining filesystems read-only ... *   Remounting / read only ... [ ok ]
 [ ok ]
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system reboot
[  201.024105] reboot: Restarting system


Needs to gain functionality for warbanks

Describe the feature

Needs a way to distinguish between depositing reagents into warbank vs reagent tab.

-Needs a way to deposit gold into warbank.

Tab names should be renamed to reflect the name warbank.

Needs guild bank functionality to edit tab rules, names and icons as reflected in warbank functionality.

Describe the implementation
?

This is actively being worked on -- check the Discord for more information.

Depositing and withdrawing gold, renaming warbank tabs, and the whole tab editing functionality has been added in v0.1.83.
Still missing is the ability to add icons to tab names.

I just deposited the Memories from the prepatch event into my warbank, they appeared to be in the warbank, but when I logged on another character the items weren't there. When I logged back on the character who deposited, they appeared to be in the warbank and I could withdraw them.
I then deposited the items again, disabled BetterBags and they were not shown in the Warbank. I also  looked through all my regular bank bags, but the items weren't there either, when I enabled BetterBags again I could see the items in the warbank and withdraw them. This doesn't happen all the time because earlier I deposited the same items with another character and had no problems withdrawing them again with another.
I don't know in what kind of void the items landed, but I'm happy that I didn't lose anything, but things are definitely still wonky.
Also, when I had the second warbank tab selected and right clicked items, they still got deposited into the first bank tab, manual drag&drop into the second tab worked.

The first part of your message might be a bug. Posting it as its own issue would help track it.

Also, when I had the second warbank tab selected and right clicked items, they still got deposited into the first bank tab, manual drag&drop into the second tab worked.

This portion is how Blizzard has implemented depositing items into the Warbank. If you want the items to go to different tabs, you'll need to set their affinities for those items. Otherwise the items will go into the first available tab.

The first part of your message might be a bug. Posting it as its own issue would help track it.

Yeah sorry nevermind, I had the same happen the default UI now too. It's actually because they're Unique(20) and I had 15 in my bags and 6 in the warbank - for some reason it then completely hides the item in the warbank if it could cause that character to withdraw an "illegal amount".


SailfishOS support based on SDL2

PThis PR add to Godot Engine support for exporting Godot GLES2 games to SailfishOS binary format.
With this export templates already exists few demos and games:

Whoosh! in the Dungeon - Summary it's just another dungeon crawler!
Godot Joypad Demo for testing gamepads support on SailfishOS (little bit modified for touchscreens)
Godot Materials Demo - little bit modified for touchscreens

PR bugs fixed :

clang-fomat code styling fixed
fix glitches on screen rotation fixed

This pull request fix 26018 issue
I am using sources from two pull request

https://github.com/godotengine/godot/pull/16470
https://github.com/godotengine/godot/pull/9435

and build Godot engine for SaiflsihOS.
What is done:

in progress export from editor to RPM (now works only with 3.0.7 SDK release with Saiflsih-<IP_ADDRESS>-armv7hl target - becuse its hardcoded ;-) )
touch screen input
dynamic orientation events ( Sailfish 3.* have update SDL2 to 2.0.9 :+1: )
dynamic orientation change ( with SDL_SetHint(SDL_HINT_QTWAYLAND_CONTENT_ORIENTATION,"") - not documented in SDL2 wiki, only in SDL_Hints.h header )
normal application life cycle
sound initialization
joypad (just compile already exists libudev implementation of LinuxJoypad, works nice )

What is not done (in next update):

device vibrations
use d-bus for disable screen blank (sleep) while engine run in foreground
pause engiene when application not in foreground fixed
gyroscope events (not implemented in SDL2 (not try in new SDL2 :question:  ) )
build RPM with exported project (now i use make_rpm.sh script, and that instructions  )~~  - in progress
show native keyboard (maliit keyboard) when use text edit UI items

Known bugs:

dont work on Jolla 1, cant debug it, dont have that device
have shader compilation error on Jolla Tablet (i try to fix it, now wait test result from users - becuse dont have that device by my self) fixed
SailfishOS platfrom dont support GLES3 for now, waiting for pull request to libhybris

Build Instructions:
For build this branch on SailfishOS, need SailfishSDK (or Sailfish Docker image), all build commands are looks like:
export SAILFISH_SDK=$HOME/SailfishOS/
export SSH_MER_KEY=${SAILFISH_SDK}/vmshare/ssh/private_keys/engine/mersdk
export MERSSH_PORT=2222
export MERSSH="ssh  -o "IdentitiesOnly=yes" -i \"$SSH_MER_KEY\" -p $MERSSH_PORT"
# GODOT_PATH - path to godot sources inside MerSDK (SailfishSDK) build machine
export GODOT_PATH=/home/mersdk/share/Projects/Sailfish/godot
# version of taget Sailfish platform, should be more than or equal to <IP_ADDRESS> (becuse of SDL2 version)
export MER_TARGET_VERSION=<IP_ADDRESS>
# architecture can be i486 or armv7hl
export MER_TARGET_ARCH=armv7hl
export GODOT_ARCH=`[ "$MER_TARGET_ARCH" == "armv7hl" ] && echo arm || echo x86`
export MER_TARGET=SailfishOS-${MER_TARGET_VERSION}-${MER_TARGET_ARCH}
#first install dependencies
$MERSSH "sb2 -t ${MER_TARGET} -m sdk-install -R zypper in -y SDL2-debugsource SDL2-devel libaudioresource-devel pulseaudio-devel openssl-devel wayland-devel libpng-devel libxkbcommon-devel libudev-devel scons  gcc-c++"
#than build
$MERSSH "cd $GODOT_PATH && sb2 -t ${MER_TARGET}  scons -j 8 platform=sailfish target=release arch=${GODOT_ARCH} bits=32"
# then optimize binary size if it release (arm or x86)
$MERSSH "cd $GODOT_PATH && sb2 -t ${MER_TARGET}  strip godot.sailfish.opt.${GODOT_ARCH}"

and here is instructions how use docker with sailfish SDK (thanks to @CODeRUS :+1: )
Latest build release

what i need to configure travis build for SailfishOS ?  is it possible install  SailfishSDK on CI server?

A few quick comments, I haven't reviewed much yet:

Any PR adding new features should be done against the master branch. We're about to release 3.2, so having this merged in the 3.1 branch would not make sense.
Bundling the whole of SDL, and that only for a relatively niche platform, is a no-go. I'm sure the SailfishOS SDK provides SDL already to link against. And I assume that you might even be able to dynamically link SDL on SailfishOS so that you don't even need to distribute it, it will use the OS version.

Yes, the SDL link dynamically, i don't build my own SDL version, i just include some private headers from SDL, because i need some Wayland features from SDL sources. But now, i try rewrite it without using private headers.
OK, i will rebase it all to master branch.

looks like i add many uneeded binary data, maybe better make squash commit from that all? orr may be i need recreate branch with "clean" commits?

git rebase -i is your friend ;)

need help:
what i need to do? for disable MXAA feature in Sailfish?
it seems in Sailfish, libGLESv2 dont have glRenderbufferStorageMultisample ( i try nm -D libGLESv2.so|grep glRenderbufferStorageMultisample )
now its compile well and work, but i have glitches, and error:
WARNING: _render_target_allocate: Cannot allocate mipmaps for 3D post processing effects
   At: drivers/gles2/rasterizer_storage_gles2.cpp:4916.

hi everyone...
i have troubles with master branch )
i merge and build Saiflish port from 3.1 branch to mater. On 3.1 my code works fine, but on master i have glitches:

Sailfish Godot 3.1
Sailfish Godot 3.2

as i know, reason is my - hack for SailfishOS landscape orientation, but seems now rotate only part of canvas on scene (from shader i mean), other items draw in default screen orientation  ... how can i understand in code, where i should draw finished scene buffer, and when i draw any canvas item (which should by rotated too, as all scene)
p.s. as i understand, in 3.1 all items was first drawn to scene buffer, then scene buffer was draw to screen, but in 3.2 items draw to screen directly?
all my code with "hack" inside definitions SAILFSIH_FORCE_LANDSCAPE, and gles2/shaders/canvas.glsl
@akien-mga, if you can, please tell where i should look, to fix my bug with drawing scene in landscape mode...
3d now looks not works

now i see, i modified canvas.glsl shader, and every item on canvas draw with this shader... now i just need understand where in gles2_rasterizer draw final canvas buffer, and draw it with landscape UV modifications, and other canvas items draw normally.

:tada:  i found an answer! )
just need reset FORCE_LANDSCAPE in beggining of ""_canvas_item_render_commands"" function ?and all draw correctly now!

waiting for desigion  of maintainers :nerd_face:

@akien-mga,  is it need create new PR for this (i'm force rewrite my 3.1_sailfish_sdl2 branch with master branch), or just live it here as is?

It seems ok, the branch name doesn't matter much. What's important is the target branch, which is properly tracking master.

can any one restart travis check, dont know why mono is not build

Superseded by #38642.


[fixits] Don't fixit-remove generic arguments on ModuleType

What's in this pull request?

Seeing Module is more likely to indicate some catastrophic
failure, for instance a missing type with the same name as the module,
than that we should remove the generic arguments.
Resolved bug number: (SR-)

rdar://problem/26639477

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

@swift-ci smoke test OS X platform


:test_tube: Test: Add more test coverage to actions

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

#1466  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @roninjin10 and the rest of your teammates on  Graphite


[Policy Assistant] update binary names to policy-assistant instead of cyclonus

Related to #150.
See https://github.com/kubernetes-sigs/network-policy-api/pull/159#discussion_r1375079221.

/assign

Hey @huntergregory, should I also change the tag that is used during the building of the docker image?

Assuming the question's about image tags. I'd suggest we create a new docker image called policy-assistant:v0.0.1. We should probably establish a release process for creating new tags.

What about the docker repo(docker.io/mfenwick100)? Should we continue to use that one or switch to k8s-related repo?

Ideally a k8s-related one. @astoycos do you know a repo we could use?

/remove-lifecycle rotten

/open


"pre-post-install script" for operations that require a restart

I am using veewee (and loving it) to build some internal Ubuntu base boxes. I would like to be able to build machines that have the latest kernel updates applied, which requires that I run apt-get -y dist-upgrade.
From that point on out $(uname -r) won't reflect the kernel that was just installed, meaning that the Virtual-box Guest Additions that are normally installed won't function properly.
Since we did install DKMS, we can reboot the machine run sudo /etc/init.d/vboxadd setup and have VirtualBox Guest Additions working again, but in order to pass the validation you'd want to run at this point, you need to restart the box again for VirtualBox to mount the Shared Folder (There is probably a command to do this, I couldn't get one to work). But isn't the fun part of veewee not having to manually configure the box or spend much time on the configuration?!
Is there a way to restart as part of the post-installation process and have everything TRULY up to date for the kernel and Guest Additions?
If not, can we specify perhaps a restart to be done between running post-install scripts?

This didn't work for me. It rebooted OK, but it hung; but subsequent scripts did not run. I'm working with Debian Jessie.


Why is first parameter src_vocab_size?

https://github.com/graykode/nlp-tutorial/blob/3b3a80dc63e69935731bcf09c951eb371692af8f/5-1.Transformer/Transformer(Greedy_decoder)-Torch.py#L141
position encoding table should be (src_len, d_model). Why (src_vocab_size, d_model) here?

Oops.. Thanks for right catching
In Encoder src_len+1 is right, and  as same tgt_len+1 in Decoder


add vocab terms

hello!
to accommodate film sources may i suggest adding the term "1.33:1" to the controlled vocab for
pbcoreEssenceTrackAspectRatio
http://metadataregistry.org/concept/list/vocabulary_id/129.html
and may we add "Access Copy: Edited" to the controlled vocab for
instantiationGenerations
http://metadataregistry.org/concept/list/page/5/vocabulary_id/147.html
(or since the term "Copy: access" already exists should it be "Copy: edited access"?)
and may we add the following to the controlled vocab for instantiationPhysical
http://metadataregistry.org/concept/list/page/1/vocabulary_id/145.html
Film: 22mm
Filmstrip
Glass instantaneous disc (or just "Instananeous disc")
Transcription disc
VHS-C
and to accommodate some of our non-a/v objects:
Broadside (notice) (or just "Broadside")
Ephemera
Pamphlet
Photograph ("Photographic negative" and "Photographic positive" are there but we may not know the source of a digital file unless it's in the supplied metadata so we prefer a more general term)
thanks,
pamela
california audiovisual preservation project (cavpp)

My thoughts on the two disc suggestions.
If I had, as an example, a 16-inch lacquer transcription disc, I could currently describe it in PBcore as a 1. lacquer disc 2. transcription disc 3. record 4. instantaneous disc.
It seems there is a problem in conflating the material of a disc and the process with which the disc was created. For example, an instantaneous disc could be a lacquer disc or an uncoated aluminum disc or even a vinyl disc. Transcription discs can be pressings but they can also be instantaneous discs, All lacquer discs are instantaneous, but shellac discs can only be pressings.
And the term 'record' doesn't seem very help.
This is all to say that it might be better to stick with one way of describing a disc, either by its material (shellac, vinyl, aluminum, lacquer, etc...) or its process (instantaneous, pressing). Although that may be difficult because I think part of the problem is that PBCore has no element for 'material', the way it does for say 'dimension'.
IASA has these suggestions.
http://www.iasa-web.org/cataloguing-rules/5b-extent-specific-material-designation-type-format
sound cartridge
sound cassette
sound cylinder
sound disc
sound tape reel
sound wire reel
sound track film reel

Writing to resolve these suggestions:
We are no longer supporting the pbcoreEssenceTrackAspectRatio controlled vocabulary, since this can be automatically supplied by tools such as MediaInfo.
22m film has been added to the instantiationPhysical: Film list.
VHS-C is included as a subtype of VHS on the instantiationPhysical: Video list.
Glass disc is included as a subtype of 'lacquer disc' on the instantiationPhysical: Audio list.
Transcription disc has been added to instantiationGenerations (to make it repeatable with the edited terms vinyl record, shellac disc, lacquer disc, and aluminum disc.)
After several discussions, the decision was made not to support non-a/v materials on the PBCore audio and video-specific controlled vocabulary lists, but to recommend outside vocabularies for these.
After discussion, the group decided not to include Copy: access (edited) to the instantiationGenerations list.


Customizable default search fields

I would love to be able to have the list of searchable fields _search_fields = ('artist', 'title', 'comments', album', 'albumartist', 'genre')   be customizable, as discussed with Adrian here:
https://groups.google.com/forum/#!topic/beets-users/9Os4LkNq484
While the above would make a fine default, some of us want more power over what gets found in a simple query.
Thank you!!

Seems like a reasonable thing to configure. It's similar to the default sort order configuration we already have.
Sadly, this won't be entirely trivial because of the way the code is currently structured—it gets messy to change class-level fields based on configuration.


Info::is_complete() - does it only wait on Version to be complete?

Docs say:
bool dronecore::Info::is_complete() const
Tests if this Version object is fully populated from hardware.

But I suspect that Product is also waited on.

Yes, product is from the same mavlink message, so the docs are wrong.

@julianoes Hope this is the right way to do update - just merge into develop based on develop.
FYI When #135 is merged, also need to update docs to build on top of https://github.com/dronecore/docs/pull/47

Yes, that is perfect, thanks @hamishwillee.


add info about running docker_run locally

This change adds a small section describing how to run the tools locally on a Linux system using docker_run.

Didn't get any feedback. Merging


clause.OnConflict: cannot update using expression

for now we can only update a column using new value, eg:
if err = tx.Clauses(clause.OnConflict{
Columns: []clause.Column{{Name: "cart_id"}, {Name: "product_id"}},
DoUpdates: clause.AssignmentColumns([]string{"quantity"}),
}).Create(&cart.Prods).Error; err != nil {
return nil
}
but what  I want is to set quantity=quantity+values('quantity'), in other words, old value+new value
how to send such an expression.

case: there is a cart table:
cart_id | product_id | quantity
cart_id and product_id is a combined unique_key.  when find an existing row, it should update the existing row's quantity with old.quantity+new.quantity
but in current gorm, cannot send a expression to clause.Assignments


Remove as reviewer/approver for it docs

During bootstrapping of the Italian localization I helped out as reviewer/approver. Italian localization now has 3 approvers already. I wish to be removed (as non-italian).
/cc @sftim
/assign @sftim

/lgtm

Thanks. Can you approve as well (since I'm not root approver)? :)

It's best to have another person's approval for a change like this.

@kubernetes/sig-docs-en-owners is this OK to merge?

I think this change is okay as long as there are three reviewers listed for the localization team.

The localization team will (after removal) still have 3 reviewers.

/lgtm

/approve


1.12.2 Incompatibility

I'm not 100% sure if this is a valid issue or not, but I recently updated Atom to the version released in the past couple of days, and also did some laptop spring cleaning, so maybe I deleted something.
But now I can't get spell checking to work and receive this error:

Looks like it is having a hard time running aspell? Can you check to make sure is in the search path?

@yitzchak I don't think so as I don't remember having this issue with aspell in Atom before, could you give an example of settings that you would expect? If so, I may make a PR against the read me to make that a bit clearer.

I suspect the error is coming from the call to aspell dicts which should return a list of dictionaries. I added an error message and a null check. Try to update to v0.12.4. It probably won't fix the issue, but it may tell us more.

@yitzchak I got his working again by specifying the complete path to aspell (i.e /usr/local/bin/aspell) and deleting all the settings for languages and dictionaries. I'm now unsure if this was a bug or not, maybe see if anyone else gets it :/

@ChrisChinchilla Glad you got it working again. I'll dig around and see if there is a root cause.


porting kepler to IBM s390x platform

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

first, install bcc on RHEL8.4+ , then try some command , it works fine
yum install libbpf
yum install bcc-tools

[root@m5404019 ~]# /usr/share/bcc/tools/vfsstat
TIME         READ/s  WRITE/s  FSYNC/s   OPEN/s CREATE/s
08:22:03:       169      130        0        7        0
08:22:04:       379      202        0       17        0
08:22:05:       244      175        0       10        0
08:22:06:        58       71        0        1        0
08:22:07:       296      123        0       80        0
08:22:08:       154      155        0        2        0
[root@m5404019 ~]# uname -a
Linux m5404019 4.18.0-305.el8.s390x #1 SMP Thu Apr 29 09:06:01 EDT 2021 s390x s390x s390x GNU/Linux
[root@m5404019 ~]#

need some steps:
cp /usr/bin/gcc /usr/bin/s390x-linux-gnu-gcc  ==> so we can compile the c file
CGO_ENABLED=1 make cross-build-linux-s390x  ==> so go can compile c lang
stuck at no bcc/bcc_common.h  .. seems only Ubuntu might be ok ..
the key question is the files from repo is not sync with my current env if I copy files from repo

we need update LPAR settings to enbale the perf count in order to load those perf count
PERF_COUNT_HW_CPU_CYCLES, PERF_COUNT_HW_INSTRUCTIONS are  defined in basic counter set, other events that x86 platform used in kepler are not ok in s390x
currently seems softirq has some problem
 bcc_attacher.go:121] failed to attach perf module with options [-DNUM_CPUS=8 -DSET_GROUP_ID]: failed to load softirq_entry: Module: unable to find tracepoint__irq__softirq_entry, not able to load eBPF modules

@jichenjc what is the softirq_entry signature in your /proc/kallsyms?

@rootfs here's the output ..
# cat /proc/kallsyms | grep softirq_entry
0000000605c513d0 T __traceiter_softirq_entry
0000000605d780d0 t trace_softirq_entry_callback
0000000606711848 d __tracepoint_ptr_softirq_entry
0000000606712696 d __tpstrtab_softirq_entry
0000000606b68f38 D __tracepoint_softirq_entry
0000000606b7e240 d __bpf_trace_tp_map_softirq_entry
0000000606baa828 d event_softirq_entry
0000000606baa9e8 D __SCK__tp_func_softirq_entry
0000000606d8ccf0 d __event_softirq_entry

can you get the output of cat /sys/kernel/debug/tracing/events/irq/softirq_entry/format

# cat /sys/kernel/debug/tracing/events/irq/softirq_entry/format
name: softirq_entry
ID: 69
format:
        field:unsigned short common_type;       offset:0;       size:2; signed:0;
        field:unsigned char common_flags;       offset:2;       size:1; signed:0;
        field:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;
        field:int common_pid;   offset:4;       size:4; signed:1;

        field:unsigned int vec; offset:8;       size:4; signed:0;

print fmt: "vec=%u [action=%s]", REC->vec, __print_symbolic(REC->vec, { 0, "HI" }, { 1, "TIMER" }, { 2, "NET_TX" }, { 3, "NET_RX" }, { 4, "BLOCK" }, { 5, "IRQ_POLL" }, { 6, "TASKLET" }, { 7, "SCHED" }, { 8, "HRTIMER" }, { 9, "RCU" })

odd, it should work. Can you try this bcc tool https://github.com/iovisor/bcc/blob/master/tools/softirqs.py

weird .. I can do this as well
[root@kvms2p11 tools]# ./softirqs.py
Tracing soft irq event time... Hit Ctrl-C to end.
^C
SOFTIRQ          TOTAL_usecs
rcu                      165
timer                    203
sched                    436
net_rx                   543

ok, above issue is solved, the reason is seems due to go-bindata is not installed so the follow up build scripts not run successfully and didn't find the previous change I made to debug ..sorry for the confusion and I will submit a PR to improve this area

the latest run here is
# ./kepler
I0227 02:12:41.116321    4645 gpu_nvml.go:45] could not init nvml: <nil>
Failed to init nvml: could not init nvml: <nil>, using dummy source to obtain gpu power
I0227 02:12:41.117055    4645 exporter.go:150] Kepler running on version: v-latest-1-g49f97bb-dirty
I0227 02:12:41.117070    4645 config.go:148] using gCgroup ID in the BPF program: true
I0227 02:12:41.117098    4645 config.go:149] kernel version: 5.14
I0227 02:12:41.117119    4645 config.go:167] EnabledGPU: false
I0227 02:12:41.118677    4645 slice_handler.go:179] Not able to find any valid .scope file in /sys/fs/cgroup/system.slice, this likely cause all cgroup metrics to be 0
I0227 02:12:41.118918    4645 acpi.go:77] Could not find any ACPI power meter path. Is it a VM?
cannot attach kprobe, probe entry may not exist
perf_event_open: No such file or directory
I0227 02:12:41.557034    4645 bcc_attacher.go:98] failed to attach perf event cpu_ref_cycles_hc_reader: failed to open bpf perf event: no such file or directory
perf_event_open: No such file or directory
I0227 02:12:41.557069    4645 bcc_attacher.go:98] failed to attach perf event cpu_instr_hc_reader: failed to open bpf perf event: no such file or directory
perf_event_open: No such file or directory
I0227 02:12:41.557091    4645 bcc_attacher.go:98] failed to attach perf event cache_miss_hc_reader: failed to open bpf perf event: no such file or directory
I0227 02:12:41.557099    4645 bcc_attacher.go:132] Successfully load eBPF module with option: [-DNUM_CPUS=8 -DSET_GROUP_ID]
I0227 02:12:41.557131    4645 exporter.go:185] failed to start : failed to get response: failed to read from "/var/run/secrets/kubernetes.io/serviceaccount/token": open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory
I0227 02:12:41.557200    4645 exporter.go:210] Started Kepler in 440.155421ms

@jichenjc sounds a good progress! do you see any kepler process metrics?

yes, I can see something like , of course, the model need update and there is no node existing, so only general kepler metrics but data is incorrect ..
kepler_exporter_build_info{branch="",goversion="go1.18.9",revision="",version=""} 1
# HELP kepler_node_energy_stat Several labeled node metrics
# TYPE kepler_node_energy_stat counter
kepler_node_energy_stat{cpu_architecture="unknown",node_block_devices_used="0",node_curr_bytes_read="0",node_curr_bytes_writes="0",node_curr_cache_miss="0",node_curr_container_cpu_usage_seconds_total="0",node_curr_container_memory_working_set_bytes="0",node_curr_cpu_cycles="0",node_curr_cpu_instr="0",node_curr_cpu_time="0",node_curr_energy_in_core_joule="0",node_curr_energy_in_dram_joule="0",node_curr_energy_in_gpu_joule="0",node_curr_energy_in_other_joule="0",node_curr_energy_in_pkg_joule="0",node_curr_energy_in_uncore_joule="0",node_name="kvms2p11"} 0
# HELP kepler_node_nodeInfo Labeled node information
# TYPE kepler_node_nodeInfo counter
kepler_node_nodeInfo{cpu_architecture="unknown"} 1
# HELP kepler_node_other_host_components_joules_total Aggregated RAPL value in other components (platform - package - dram) in joules
# TYPE kepler_node_other_host_components_joules_total counter
kepler_node_other_host_components_joules_total{instance="kvms2p11",mode="dynamic"} 0
kepler_node_other_host_components_joules_total{instance="kvms2p11",mode="idle"} 0
# HELP kepler_node_platform_joules_total Aggregated RAPL value in platform (entire node) in joules
# TYPE kepler_node_platform_joules_total counter
kepler_node_platform_joules_total{instance="kvms2p11",mode="dynamic",source="acpi"} 0
kepler_node_platform_joules_total{instance="kvms2p11",mode="idle",source="acpi"} 0

@jichenjc can you enable process metric and restart kepler to see if it captures any process metric?
export ENABLE_PROCESS_METRICS=true
./kepler -v 5

# ./kepler -v 5
I0227 21:56:31.803782    5229 gpu_nvml.go:45] could not init nvml: <nil>
Failed to init nvml: could not init nvml: <nil>, using dummy source to obtain gpu power
I0227 21:56:31.804412    5229 exporter.go:150] Kepler running on version: v-latest-11-gbd66a13
I0227 21:56:31.804426    5229 config.go:153] using gCgroup ID in the BPF program: true
I0227 21:56:31.804447    5229 config.go:154] kernel version: 5.14
I0227 21:56:31.804469    5229 config.go:172] EnabledGPU: false
I0227 21:56:31.804490    5229 slice_handler.go:145] InitSliceHandler: &{map[] /sys/fs/cgroup/system.slice /sys/fs/cgroup/system.slice /sys/fs/cgroup/system.slice}
I0227 21:56:31.804588    5229 rapl_msr_util.go:143] failed to open path /dev/cpu/0/msr: no such file or directory
I0227 21:56:31.804602    5229 power.go:64] Not able to obtain power, use estimate method
I0227 21:56:31.804609    5229 bcc_attacher.go:144] hardeware counter metrics config true
I0227 21:56:31.804613    5229 bcc_attacher.go:162] irq counter metrics config true
I0227 21:56:31.806024    5229 slice_handler.go:179] Not able to find any valid .scope file in /sys/fs/cgroup/system.slice, this likely cause all cgroup metrics to be 0
I0227 21:56:31.806256    5229 utils.go:58] Available ebpf metrics: [cpu_time irq_net_tx irq_net_rx irq_block]
I0227 21:56:31.806264    5229 utils.go:59] Available counter metrics: [cpu_instr cache_miss cpu_cycles cpu_ref_cycles]
I0227 21:56:31.806269    5229 utils.go:60] Available cgroup metrics from cgroup: [cgroupfs_memory_usage_bytes cgroupfs_cpu_usage_us cgroupfs_system_cpu_usage_us cgroupfs_user_cpu_usage_us cgroupfs_ioread_bytes cgroupfs_iowrite_bytes]
I0227 21:56:31.806276    5229 utils.go:61] Available cgroup metrics from kubelet: []
I0227 21:56:31.806282    5229 utils.go:62] Available I/O metrics: [bytes_read bytes_writes]
I0227 21:56:31.806296    5229 model.go:85] Model Config NODE_TOTAL: {UseEstimatorSidecar:false SelectedModel: SelectFilter: InitModelURL:}
I0227 21:56:31.806310    5229 lr.go:171] LR Model (AbsModelWeight): no config
I0227 21:56:31.806317    5229 model.go:77] Model AbsModelWeight initiated (false)
I0227 21:56:31.806322    5229 model.go:85] Model Config NODE_COMPONENTS: {UseEstimatorSidecar:false SelectedModel: SelectFilter: InitModelURL:}
I0227 21:56:31.806332    5229 lr.go:164] LR Model (AbsComponentModelWeight): loadWeightFromURLorLocal(/var/lib/kepler/data/KerasCompWeightFullPipeline.json): <nil>
I0227 21:56:31.806338    5229 lr.go:173] LR Model (AbsComponentModelWeight): open /var/lib/kepler/data/KerasCompWeightFullPipeline.json: no such file or directory
I0227 21:56:31.806344    5229 model.go:77] Model AbsComponentModelWeight initiated (false)
I0227 21:56:31.806352    5229 model.go:85] Model Config CONTAINER_TOTAL: {UseEstimatorSidecar:false SelectedModel: SelectFilter: InitModelURL:}
I0227 21:56:31.806359    5229 lr.go:171] LR Model (DynModelWeight): no config
I0227 21:56:31.806365    5229 model.go:77] Model DynModelWeight initiated (false)
I0227 21:56:31.806371    5229 model.go:85] Model Config CONTAINER_COMPONENTS: {UseEstimatorSidecar:false SelectedModel: SelectFilter: InitModelURL:}
I0227 21:56:31.806381    5229 lr.go:164] LR Model (DynComponentModelWeight): loadWeightFromURLorLocal(/var/lib/kepler/data/ScikitMixed.json): <nil>
I0227 21:56:31.806384    5229 lr.go:173] LR Model (DynComponentModelWeight): open /var/lib/kepler/data/ScikitMixed.json: no such file or directory
I0227 21:56:31.806389    5229 model.go:77] Model DynComponentModelWeight initiated (false)
I0227 21:56:31.806400    5229 acpi.go:102] Could not find any ACPI power meter path: lstat /sys/devices/LNXSYSTM:00: no such file or directory
I0227 21:56:31.806409    5229 acpi.go:77] Could not find any ACPI power meter path. Is it a VM?
cannot attach kprobe, probe entry may not exist
perf_event_open: No such file or directory
I0227 21:56:32.246355    5229 bcc_attacher.go:98] failed to attach perf event cache_miss_hc_reader: failed to open bpf perf event: no such file or directory
perf_event_open: No such file or directory
I0227 21:56:32.246566    5229 bcc_attacher.go:98] failed to attach perf event cpu_ref_cycles_hc_reader: failed to open bpf perf event: no such file or directory
perf_event_open: No such file or directory
I0227 21:56:32.246588    5229 bcc_attacher.go:98] failed to attach perf event cpu_instr_hc_reader: failed to open bpf perf event: no such file or directory
I0227 21:56:32.246596    5229 bcc_attacher.go:132] Successfully load eBPF module with option: [-DNUM_CPUS=8 -DSET_GROUP_ID]
I0227 21:56:32.246618    5229 resolve_container.go:144] failed to get response: failed to read from "/var/run/secrets/kubernetes.io/serviceaccount/token": open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory
I0227 21:56:32.246654    5229 node_energy_collector.go:63] No nodeComponentsEnergy found, node components energy metrics is not exposed
F0227 21:56:32.246750    5229 acpi.go:171] open /sys/devices/system/cpu/cpufreq/: no such file or directory

seems expecting /sys/devices/system/cpu/cpufreq/, but I don't have this in this foldre
[root@kvms2p11 ~]# ls /sys/devices/system/cpu
cpu0  cpu1  cpu2  cpu3  cpu4  cpu5  cpu6  cpu7  dispatching  hotplug  isolated  kernel_max  modalias  offline  online  possible  present  rescan  smt  uevent  vulnerabilities
[root@kvms2p11 ~]# ls /sys/devices/system/cpu/cpu0
address  cache  configure  crash_notes  crash_notes_size  dedicated  hotplug  idle_count  idle_time_us  node0  online  polarization  subsystem  topology  uevent

need check how to handle it

can you filter and sort the metrics?
get_your_metrics | grep kepler_process_core |sort -k 2 -g

it's all 0, I think due to some data not provided ,so checking how to feed the data in the model and generate the power/energy..
kepler_process_core_joules_total{command="bash",mode="dynamic",pid="10961198543066365952"} 0
kepler_process_core_joules_total{command="bash",mode="idle",pid="10961198543066365952"} 0
kepler_process_core_joules_total{command="gmain",mode="dynamic",pid="6631268976326344704"} 0
kepler_process_core_joules_total{command="gmain",mode="idle",pid="6631268976326344704"} 0
kepler_process_core_joules_total{command="in:imjourn",mode="dynamic",pid="14916766390781214720"} 0
kepler_process_core_joules_total{command="in:imjourn",mode="idle",pid="14916766390781214720"} 0
kepler_process_core_joules_total{command="kcompactd0",mode="dynamic",pid="4395513236313604096"} 0
kepler_process_core_joules_total{command="kcompactd0",mode="idle",pid="4395513236313604096"} 0
kepler_process_core_joules_total{command="kepler",mode="dynamic",pid="13771444710545555456"} 0
kepler_process_core_joules_total{command="kepler",mode="idle",pid="13771444710545555456"} 0
kepler_process_core_joules_total{command="khungtaskd",mode="dynamic",pid="4179340454199820288"} 0
kepler_process_core_joules_total{command="khungtaskd",mode="idle",pid="4179340454199820288"} 0
kepler_process_core_joules_total{command="ksoftirqd/",mode="dynamic",pid="2089670227099910144"} 0
kepler_process_core_joules_total{command="ksoftirqd/",mode="dynamic",pid="3170534137668829184"} 0
kepler_process_core_joules_total{command="ksoftirqd/",mode="dynamic",pid="936748722493063168"} 0
kepler_process_core_joules_total{command="ksoftirqd/",mode="idle",pid="2089670227099910144"} 0
kepler_process_core_joules_total{command="ksoftirqd/",mode="idle",pid="3170534137668829184"} 0
kepler_process_core_joules_total{command="ksoftirqd/",mode="idle",pid="936748722493063168"} 0
kepler_process_core_joules_total{command="kworker/0:",mode="dynamic",pid="6205115861586411520"} 0
kepler_process_core_joules_total{command="kworker/0:",mode="idle",pid="6205115861586411520"} 0
kepler_process_core_joules_total{command="kworker/1:",mode="dynamic",pid="12906753582090420224"} 0
kepler_process_core_joules_total{command="kworker/1:",mode="idle",pid="12906753582090420224"} 0
kepler_process_core_joules_total{command="kworker/2:",mode="dynamic",pid="4115727109463212032"} 0
kepler_process_core_joules_total{command="kworker/2:",mode="idle",pid="4115727109463212032"} 0
kepler_process_core_joules_total{command="kworker/3:",mode="dynamic",pid="14778562177216282624"} 0
kepler_process_core_joules_total{command="kworker/3:",mode="idle",pid="14778562177216282624"} 0
kepler_process_core_joules_total{command="kworker/4:",mode="dynamic",pid="12617960255985287168"} 0
kepler_process_core_joules_total{command="kworker/4:",mode="idle",pid="12617960255985287168"} 0
kepler_process_core_joules_total{command="kworker/5:",mode="dynamic",pid="12690580799976636416"} 0
kepler_process_core_joules_total{command="kworker/5:",mode="idle",pid="12690580799976636416"} 0
kepler_process_core_joules_total{command="kworker/6:",mode="dynamic",pid="11321486513256005632"} 0
kepler_process_core_joules_total{command="kworker/6:",mode="idle",pid="11321486513256005632"} 0
kepler_process_core_joules_total{command="kworker/7:",mode="dynamic",pid="12690017850023215104"} 0
kepler_process_core_joules_total{command="kworker/7:",mode="idle",pid="12690017850023215104"} 0
kepler_process_core_joules_total{command="kworker/u7",mode="dynamic",pid="12978811176128348160"} 0
kepler_process_core_joules_total{command="kworker/u7",mode="dynamic",pid="9447989068269879296"} 0
kepler_process_core_joules_total{command="kworker/u7",mode="idle",pid="12978811176128348160"} 0
kepler_process_core_joules_total{command="kworker/u7",mode="idle",pid="9447989068269879296"} 0
kepler_process_core_joules_total{command="lsmd",mode="dynamic",pid="14628536014629502976"} 0
kepler_process_core_joules_total{command="lsmd",mode="idle",pid="14628536014629502976"} 0
kepler_process_core_joules_total{command="NetworkMan",mode="dynamic",pid="18303473310563827712"} 0
kepler_process_core_joules_total{command="NetworkMan",mode="idle",pid="18303473310563827712"} 0
kepler_process_core_joules_total{command="rcu_sched",mode="dynamic",pid="1008806316530991104"} 0
kepler_process_core_joules_total{command="rcu_sched",mode="idle",pid="1008806316530991104"} 0
kepler_process_core_joules_total{command="sshd",mode="dynamic",pid="10889140949028438016"} 0
kepler_process_core_joules_total{command="sshd",mode="idle",pid="10889140949028438016"} 0
kepler_process_core_joules_total{command="swapper/0",mode="dynamic",pid="0"} 0
kepler_process_core_joules_total{command="swapper/0",mode="idle",pid="0"} 0
kepler_process_core_joules_total{command="systemd-jo",mode="dynamic",pid="2234629840105897984"} 0
kepler_process_core_joules_total{command="systemd-jo",mode="idle",pid="2234629840105897984"} 0
kepler_process_core_joules_total{command="systemd-lo",mode="dynamic",pid="15637342331160494080"} 0
kepler_process_core_joules_total{command="systemd-lo",mode="idle",pid="15637342331160494080"} 0
kepler_process_core_joules_total{command="systemd",mode="dynamic",pid="72057594037927936"} 0
kepler_process_core_joules_total{command="systemd",mode="idle",pid="72057594037927936"} 0
kepler_process_core_joules_total{command="xfsaild/dm",mode="dynamic",pid="12970929876780449792"} 0
kepler_process_core_joules_total{command="xfsaild/dm",mode="idle",pid="12970929876780449792"} 0

@jichenjc can you check  other metrics, kepler_process_cpu_cpu_time

at the time, the process model is based on perf counters:
{"pkg": {"All_Weights": {"Bias_Weight": 24.388564716241596, "Categorical_Variables": {}, "Numerical_Variables": {"cpu_cycles": {"mean":<PHONE_NUMBER>4.342838, "variance": 5.6028839338593524e+20, "weight": 15.858373957810427}, "cache_miss": {"mean": 19615158.772131525, "variance":<PHONE_NUMBER>1825.39, "weight": 0.0}, "cpu_instr": {"mean":<PHONE_NUMBER>2.518856, "variance": 3.0816587041591017e+21, "weight": 8.25749138735891}}}}, "dram": {"All_Weights": {"Bias_Weight": 0.8318076441807906, "Categorical_Variables": {}, "Numerical_Variables": {"cpu_cycles": {"mean":<PHONE_NUMBER>4.342838, "variance": 5.6028839338593524e+20, "weight": 0.146880994775066}, "cache_miss": {"mean": 19615158.772131525, "variance":<PHONE_NUMBER>1825.39, "weight": 0.22602678738192125}, "cpu_instr": {"mean":<PHONE_NUMBER>2.518856, "variance": 3.0816587041591017e+21, "weight": 0.0}}}}}

kepler_process_cpu_cpu_time_us{command="kworker/3:",pid="10310146921934618624"} 7.205759403792794e+16
kepler_process_cpu_cpu_time_us{command="bash",pid="4548354148667490304"} 2.161727821137838e+17
kepler_process_cpu_cpu_time_us{command="swapper/2",pid="0"} 3.627368024870224e+18
those 3 has value , the others are all 0

@jichenjc sounds good. can you create config file and set the process model (follow this function) with BPFOnly model


Fix detection of mpi4py in cmake.

Current coverage is 89.47%

Merging #118 into master will not affect coverage as of 60bb897

@@            master    #118   diff @@
======================================
  Files           66      66
  Stmts         4141    4141
  Branches         0       0
  Methods        276     276
======================================
  Hit           3705    3705
  Partial          0       0
  Missed         436     436

Review entire Coverage Diff as of 60bb897

Powered by Codecov. Updated on successful CI builds.


Handles the case of accessing specific features via URL

Describe the task
Handles the case of accessing specific features via URL

[x] Welcome screen: /welcome

Expect:

If have account -> Auto redirect to the Homepage screen
If have no account -> Redirect to the Welcome screen

[x] Migrate master password: /keyring/migrate-password

Expect:

If have account need to apply master password -> Auto redirect to the Homepage screen
If have no account need to apply master password-> Redirect to the Welcome screen

Version test: https://375e5c29.subwallet-webapp.pages.dev/home/tokens
Validation passed on WebApp

Version test: http://<IP_ADDRESS>:8900/s/LzLLKcCA6222e4Z
Validation passed on Extension.


where does google-authenticator supposed to run to generate secret key

I am trying to setup 2factor authentication with google-authenticator on host system.
where does google-authenticator  supposed to run for generating secret key??
run google-authenticator on the same host machine then it generates secret key and
store in /home/$user/.google-authenticator file
I want to support this enable/disable google authentication for each user using external interface like rest interfaces.
then how to use this existing google-authenticator? where does this google-authenticator supposed generated secret key?
can admin this google-authenticator  setup on other machines and install to another host machine??

trying to setup 2factor authentication with google-authenticator on host system.
where does google-authenticator supposed to run for generating secret key??
can we  run this google-authenticator on on another server machine
and generated secret can be installed to another host system?
what's right to generate secret key programmatically to support standard rest/redfish interfaces
to enable/disable Google Authenticator

I see google-authenticator interactive command line version, but if I want to have same configuration programatically how to do it? another way than consuming google-authenticator command line tool

What?

What?

Hi Thomas
I am setting up 2 Factor authentication on system.
I have integrated google-authenticator pam library into system and modified PAM configuration as suggested.
I could create google-authenticator command line tool and generated Secret key which is place at /home/$user/.google-authenticator and authentication works with TOTPs generated.
now I wanted to integrate this google-authenticator command line tool into a program which gets trigged when Google Authenticator enabled for that user.
how to use this interactive command line tool into a programmatic method

Usually by the user running the google-authenticator CLI, or the sysadmin running it on their behalf, and having them scan the QR code.
You can run something like ./google-authenticator -t -C -f -d -w 3 -r 3 -R 30 and it generates everything without interactivity. I don't know what you mean by "programmatic".

Usually by the user running the google-authenticator CLI, or the sysadmin running it on their behalf, and having them scan the QR code.
You can run something like ./google-authenticator -t -C -f -d -w 3 -r 3 -R 30 and it generates everything without interactivity. I don't know what you mean by "programmatic".

so system admins run this google-authenticator binary on any other system and upload that secret key into host system which will be used by google-pam module for TOTP authentication ??
or google-authenticator binary needs to run on the same host machine where ever  google-pam module consumes Google Authenticator secret key??

one more question, suppose I ran google-authenticator on another system which has different time than device where ever TOTP is generated. basically time is not synced between these two systems
then TOTP still works ??

so system admins run this google-authenticator binary on any other system and upload that secret key into host system which will be used by google-pam module for TOTP authentication ??

You can do that. Just use -s tempfile when you generate them, to control where the secret gets written.

or google-authenticator binary needs to run on the same host machine where ever google-pam module consumes Google Authenticator secret key??

All it does gets written to the file. Doesn't have to be run on a specific machine.

suppose I ran google-authenticator on another system which has different time

google-authenticator just provisions the secrets. It does not care about the time. Only the PAM module and the mobile app does.
Not that I'd recommend that any of your systems have the wrong time set.

so system admins run this google-authenticator binary on any other system and upload that secret key into host system which will be used by google-pam module for TOTP authentication ??

You can do that. Just use -s tempfile when you generate them, to control where the secret gets written.

or google-authenticator binary needs to run on the same host machine where ever google-pam module consumes Google Authenticator secret key??

All it does gets written to the file. Doesn't have to be run on a specific machine.

suppose I ran google-authenticator on another system which has different time

google-authenticator just provisions the secrets. It does not care about the time. Only the PAM module and the mobile app does.
Not that I'd recommend that any of your systems have the wrong time set.

Suppose admin run google-authenticator on a remote server and install the same secret key to other host which has google-pam-authenticator pam configuration is setup for 2 factor google authentication
is its acceptable? is it not a security concern??

I would not install the same secret key onto multiple servers. It has two main problems:

If one server is hacked, then the attacker can now bypass the second factor on the other server.
If someone (or malware) sees you enter a code on one server, they can reuse that code on another server, within the TOTP time window. They become no longer single use.

I would not install the same secret key onto multiple servers. It has two main problems:

If one server is hacked, then the attacker can now bypass the second factor on the other server.
If someone (or malware) sees you enter a code on one server, they can reuse that code on another server, within the TOTP time window. They become no longer single use.

ok got it, I am trying to understand the steps admins follow to  setup Google Authenticator secret key for a single host system in data centres.

You want a single OTP entry in someone's phone to work on more than one server, yet be secure? Sounds like you need LDAP or something.

You want a single OTP entry in someone's phone to work on more than one server, yet be secure? Sounds like you need LDAP or something.

my question mostly on setting up google authenticator secret key for multiple user.
shall I generated secret key on laptop and then install same key on server for each user? or is it security concern ?

That's fine. You'll need to take a screenshot of the QR code when you generate a user's secrets, unless you want them to manually type the secret in, in the app.

You want a single OTP entry in someone's phone to work on more than one server, yet be secure? Sounds like you need LDAP or something.

how to enable Google Authenticator for LDAP users? LDAP user does not exist on host system, LDAP user present on remote LDAP server

I've not set up LDAP or PAM with LDAP, so don't know. I would assume that LDAP has a way to use PAM modules like this one, to auth.

I've not set up LDAP or PAM with LDAP, so don't know. I would assume that LDAP has a way to use PAM modules like this one, to auth.

can anyone else from this community help on setting up google-authentication with ldap ?

That's more of a question for the LDAP community.

That's more of a question for the LDAP community: How does one call out to PAM for auth.

I have ldap authentication working on my system, but I wanted to enable google-authenticator for LDAP setup
my question more on how to enable libpam-google-authenticator work with LDAP

Right, and it sounds like what you want is sshd->LDAP server->PAM, and the missing piece here is LDAP server->PAM, and that's an LDAP server question.


Add support for private repositories

Context
If your virtual env uses a package from a private repository zappa will fail to package all of the project dependcies.
Expected Behavior
Zappa will try to query all the urls that pip is configured to use when trying to package the dependcies.
Actual Behavior
Zappa only tries to fetch files from Pypi. this causes a KeyError in get_manylinux_wheel_url, specifically in line 1030
if package_version not in data["releases"]:
if the package is not in Pypi "releases" is not a key in data.
Possible Fix
Check pip to see what urls it's checking.
A easier solution is to change line 1030 to
if package_version not in data.get("releases", []):
but it wont download the manylinux files if they exists
Steps to Reproduce

Add a dependency from a private repo
2.Run zappa deploy or zappa update

Your Environment

Zappa version used: 0.54.1
Operating System and Python version: 3.8.10

We could add support for parsing the pip.conf file to look for alternative repos. This wouldn't cover all cases though as you can install packages from other repositories without adding it to the pip.conf file, it also wouldn't cover other package managers like Poetry.
I'm unsure if there is enough need to go as far as parsing various configs looking for private repos at this stage or whether we just update the code to handle there being no releases as you mentioned

I believe I've installed from a private github repository before, this is refering to a private package repository, right?

I believe I've installed from a private github repository before, this is refering to a private package repository, right?

Hi @monkut, can you explain more detail on this, I got same error with zappa when trying using private repository as dependency.
Hope you can help me figure out to fix this

@kurojs can you post the Zappa version and error logs here?

@kurojs can you post the Zappa version and error logs here?

Hi @sridhar562345, I this is my environments
Zappa version used: 0.56.1
Operating System and Python version: 3.8.10
Poetry version 1.3.1
For the logs, I rolled back already on our staging machine, but something like Django cannot recognize my private git module
Seem like when deployed, zappa didn't pack our private module into the zip.
Do you have any clues about this, thank you


override select option

In the package view there is a custom Post/edit-add.blade.php
Inside of it there is a call made to:
                              <select class="form-control" name="category_id">                                     @foreach(TCG\Voyager\Models\Category::all() as $category)                                         <option value="{{ $category->id }}"@if(isset($dataTypeContent->category_id) && $dataTypeContent->category_id == $category->id) selected="selected"@endif>{{ $category->name }}</option>                                     @endforeach                                 </select>
I made a custom resources/views/vendor/voyager/categories/browse.blade.php
How can i use the above select option (with a little change):
                                <select class="form-control" name="category_id">                                     @foreach(TCG\Voyager\Models\Category::where('author_id','=', Auth::user()->id) as $category)                                         <option value="{{ $category->id }}"@if(isset($dataTypeContent->category_id) && $dataTypeContent->category_id == $category->id) selected="selected"@endif>{{ $category->name }}</option>                                     @endforeach                                 </select>
I do have no intention to write a full resources/views/vendor/voyager/categories/edit-add.blade.php
Is it possible to override it in just this specific case (as there will go be more dropdowns what need to be restricted).
Just curious if it is possible or is a trick for.

All that voyager needs is a view builder (so can make views like you made for the Posts)
That would be awesome!

A button to generate a default

browse.blade.php
edit-add.blade.php

Would already be cool to get yourself started.

Please use the issue template.
Also please ask questions in our Slack group as suggested in the issue template.
Closing.


Always run the security pass

Otherwise, it causes GitHub to wait forever for an action that will
never run.

Why did you remove the schedule as well?
I'd just leave it as
on:
  schedule:
    - cron: '0 0 * * *'
  push

I'm not even sure if an action without an on section would be valid.
Please see the documentation for more info


Switch to unittest2 on older pythons

In tests/init.py, we have some redundant code to use unittest2 on python < 2.7:
if sys.version_info[0]==2 and sys.version_info[1]<7:
    del sys.modules['unittest']
    sys.modules['unittest'] = __import__('unittest2')

(redundant since we dropped 2.6 and earlier)
I plan to change that (and add conditional dependency to list of test dependencies) so we use unittest2 for whichever versions of python we support that don't use the current python 3 unittest.
(One small example: assertRegexp type names are deprecated in py3 unittest - they're assertRegex now.)

closing. seems to be covered by  #423


Error installing Openlayers 4.2.0 with node

I am running Windows 10 and use Node to download OpenLayers and make a custom build. While trying to download 4.0.2 I recieved the error below.
I can't find C:\npm-debug.log to include.

This is because you're using node 4.x and tasks/build-ext.js is in ECMAScript 6:
"use strict"; should be added at the top of this file.

Thank you. I have upgraded to node 6.11.0 and this step is now working.


SPX command options are not working on 0.15.0

Version of Homebrew
Homebrew 4.4.8
Operating System and Installation Method
MacOS 14.3.1
Describe the Bug
I am on Warden 0.15.0 but still cannot see the spx option:

To Reproduce
Upgrade to 0.15.0 (from 0.14.0) and run warden command to see the version
Expected Behavior
Expected to see the spx option and WARDEN_PHP_SPX=1 should enable the profiler image
Additional context
No response

The SPX command and functionality is not in a released version of Warden.


Translation Effort For Sinhala And Tamil

Hey all,
We've been working on a project for some time, building a memorial for those who lost their lives to COVID-19.
As the site is localized to all 3 languages, we have translated some city data to Sinhala & Tamil.  Currently, we're just translating whatever cities we have used in our project.
I initially dump'd the data of your great project into JSON from MySQL as that was easy for me to handle.
The translation is done over Google Sheets and dumped automatically to this JSON file.
I'd love for these changes to hit upstream as well. Thanks!

Might I suggest, that the data be stored in JSON/YAML. Then use a script to generator the migration scripts?
This will allow, a lot more folks to use the dataset and also allow easy editing as well.

Thank you very much, bro!
I have updated some of the Tamil translations as per the Google Sheet.


New Feature: Add HMAC-Based One-time Password (HOTP) and Time-based One-time Password (TOTP) support

I have added support for the HMAC-Based One-time Password (HOTP) algorithm specified in RFC 4226 and the Time-based One-time Password (TOTP) algorithm specified in RFC 6238 to enable the use of Microsoft and Google authenticator as 2fa mechanism.
Please assign to me if you want this feature brought back into github.
ticket originally created in error here

For 2fa codes? Not sure how much effort this would be to rework MR's semantics around this... but you're saying you did this already?

I have a rough working prototype which I am planning on completing and making releasable. You interested? Do you think there would be a demand for this feature?

I think having an option for something other than SMS is great. Maybe we can chat over skype and see what you have.

Working example ready to demonstrate.

Once we have talked this over, I think can strip out the CSS changes etc so a PR is purely RFC-6238 (unless you want the UI changes aswell)

I just got back from holiday, so you'll have to give me some time to get to this. Thx.

It seems the fork @ https://github.com/DavidChristiansen/BrockAllen.MembershipReboot/tree/feature/RFC-6238 is not longer there... has it moved somewhere, or is there another implementation of TOTP somewhere else?
Thanks, - Eric

Hi Eric, The PR was resubmitted under #594 - needs to be updated in line with recent changes but its all there.

Ah great, thanks David!  We are doing a two factor project, and this is something we'll want to add.  It's great it's so close.  If we get to that point before you've gotten to it, I'll be happy to help.   Until then, we're just working hard to get version one of our project going...

Any idea about when this might be completed? It is a feature we would love to have in our system, as SMS-delivery is not very reliable in all corners of the world.

@hanskhe https://twitter.com/dchristiansen/status/836609064981446656

Implemented to Dev branch


Mysql ReadAllForward improvements

Fixes #432

Created seperate statement sql files for ReadAllForward and ReadAllForwardWithData that replaces the one stored proceedure.
The ReadAllForward sql now use STRAIGH_JOIN as it appears the MySql optimiser was doing an incorrect join resulting in the slow read perf.
No changes to schema, but there will be an unused sproc. This will be removed in a future schema version with migration
Similar work will need to be applied to for other reads; they will come in subsequent PRs.

Will be tagging this v.1.2.1-alpha.1 for upstream validation.


another fix of repositories not alwawys deleted

so what do you think of this? :)

I'm going to need some time for this to review not because it is complicated but I have other regular work to do...

ping.

Sorry, but I will work on it when I find the time.

rebased and added one commit solving the routing. However i really can't test it. npm install-ing inside the docker (on osx via docker-machine) takes hours to process (thanks to all those grunt-xx deps)..
Ideally -  as a future enhancment - get rid of the stupid apache and replace it with express.js :) It will be much more lightweight and local testing (on every OS) would be just running node app/server.js  Also your dockerfile would be much simpler as you will not need to run the initd apache..

@bydga thank you. But if you cannot test it, I'll have to do it. It looks good so far except that it should be repositories rather than /repositories. About express.js: If you can tell me how to do proying, SSL, and Kerberos authentication with it. I'd feel happy to use it. So please, create a gist or something as a good starting point. I tried nginx before apache and stopped using it because of lack of Kerberos support.

there you are :) https://github.com/bydga/express-proxy-kerberos
I havent tested the kerb auth though, because i have no kerberos server available. But passport is a surely a great module for authenticating nodejs app. Maybe sending some appropriate header in the express middleware could trigger the http basic auth (like i think the apache mod_kerb does).

+1


Support reading channels from somewhere other than this.$options for Vue Class syntax

Is your feature request related to a problem? Please describe.
I would like to be able to define my channels and callbacks within my class body instead of the @Component decorator from Vue Class Component
Describe the solution you'd like
a sentinel value like channels read from a class level method instead of this.$options
Describe alternatives you've considered
expose a public api to manually run the logic in the mixin so it doesn't matter when the channels are stored
Additional context
This is what I have to do today.

@Component({
  channels: {
    ConversationChannel: {
      connected() {
        console.log("connected");
      },
      rejected() {
        console.log("rejected");
      },
      received(data) {
        console.log(`received ${JSON.stringify(data)}`);
      },
      disconnected() {
        console.log("disconnected");
      }
    }
  }
})
export default class ConversationComponent extends Vue {
  @Prop() private id!: string;

  async mounted() {
    this.$cable.subscribe({
      channel: "ConversationChannel",
      id: this.id
    });
  }
}

Requested usage

@Component
export default class ConversationComponent extends Vue {
  @Prop() private id!: string;

  async mounted() {
    this.$cable.subscribe({
      channel: "ConversationChannel",
      id: this.id
    });
  }

  get channels() {
    return {
      ConversationChannel: {
        connected() {
          console.log("connected");
        },
        rejected() {
          console.log("rejected");
        },
        received(data) {
          console.log(`received ${JSON.stringify(data)}`);
        },
        disconnected() {
          console.log("disconnected");
        }
      }
    };
  }
}

@RealRobin-com I just published v2.2.0 that adds your feature. Kindly update and let me know how it goes.

Looks good and works great. Thanks for the extremely quick feature.


⚠ Bofrost.at has degraded performance

In 9fa53a3, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1616 ms

Resolved: Bofrost.at performance has improved in 729a2bb after 1 hour, 3 minutes.


Ocean-Atmos Concurrent Coupling

concurrent coupling is necessary for any useful CMIP-like simulations.

refer to CMEPS and OASIS couplers for pid layout planning and exchange lag design.

to be tackled as part of O5 in ClimaEarth


[Java][Datetime] Port BaseTimePeriodParser from C# to Java

Based on #998. We'll rebase after it is merged to master.

Rebased with master


Release 3.0.0

I'd say we're overdue for another release, and with the huge gesture handling overhaul, I'd say it's worth going to 3.0.0.
So, we'll be moving toward that in the coming weeks. Any testing of the current code anyone wants to do would be appreciated! Let us know if there's anything we should be sure to address before the release...

Great news!
I might be able to find some time to work on a PR on DefinitelyTyped with the updated @openseadragon/types for v. 3.0.0 👀
Not sure what's the best way to check all the API changes, though; checking the diff directly sounds... exhausting.

Are you confident that the documentation has been updated with all merged changes? It was my main reference for creating the type definition files, though I peeked at the code every now and then.

@alvaromartmart
we try to make sure the changelog.txt and the internal jsdoc documentation is updated for all pull requests. changelog.txt should be a good place to find changes (breaking, removed, added).
Thank you for doing this!

Hi,
we have zero issues with the latest test build by @msalsbery .
Keep up the good work!

We're talking about possibly updating the built-in OpenSeadragon buttons for the upcoming release. What do you think? The recent discussion starts here: https://github.com/openseadragon/openseadragon/issues/803#issuecomment-854094722

Great news!
I might be able to find some time to work on a PR on DefinitelyTyped with the updated @openseadragon/types for v. 3.0.0 👀
Not sure what's the best way to check all the API changes, though; checking the diff directly sounds... exhausting.

Are you confident that the documentation has been updated with all merged changes? It was my main reference for creating the type definition files, though I peeked at the code every now and then.

I've already updated the types, I think I'll be ready to open a PR to DefinitelyTyped when v.3.0 is released! 🎉
It would be very helpful if you could provide me with some code examples that make use of any new features / API changes so I can check that the updated types are consistent, i.e.

An example of an OSD viewer that makes some advanced use of the MouseTracker, which I understand is one of the parts that changed most on this release.

Additionally, when I open the PR @ DefinitelyTyped I'll mention you - @iangilman , @msalsbery  if that's OK with you - so you can have a look and approve the changes. Feedback coming from OSD mantainers should hopefully speed up the process a bit so the PR is merged soon after v. 3.0 release.

Can someone please confirm the reference strip page call gets confused with longer reference strips. Maybe it is only a problem in my implementation.
It seems the used panelWidth for page calculation is 4px too small. I could get it to run by adding 4 to panelWidth in the page calculation in referencestrip.js. Reducing panelWidth in line 178 where 8 is added will mess up the total length of the reference strip:
function onStripClick( event ) {
    if ( event.quick ) {
        var page;
        if ( 'horizontal' === this.scroll ) {
            page = Math.floor(event.position.x / (this.panelWidth + 4));
        } else {
            page = Math.floor(event.position.y / this.panelHeight);
        }

        this.viewer.goToPage( page );
    }

    this.element.focus();
}

    this.element.focus();
}

@alvaromartmart fantastic! Thank you for doing this. BTW, I believe there was some discussion about including the types directly in the OSD repository... would you say that also makes sense?

@adversor that sounds like a new issue, so probably shouldn't be discussed here on this issue. Could you file a new issue for it?

@alvaromartmart fantastic! Thank you for doing this. BTW, I believe there was some discussion about including the types directly in the OSD repository... would you say that also makes sense?

I agree that it would be nice including the types in the OSD repo, it should be easier to keep them up to date and simplify setup. The thing is that I haven't had the time yet to properly investigate how to support OSD plugins, and I think providing the types by default may require extra steps for people that use plugins... I'm not sure, I have to investigate and I don't have experience using plugins yet.
What's the most popular / best supported plugin to date, from your experience?

I'm new to TypeScript, so I don't know the implications for plugins. If you're up for researching that, it would be lovely!
As for a good plugin to look into, I suggest https://github.com/recogito/annotorious-openseadragon by @rsimon.

In Annotorious OpenSeadragon I'm making heavy use of the MouseTracker. I'm planning to test compatibility soon(ish). (In fact I've been much looking forward to the v3.0.0 release. I'm hoping it will make some things easier and/or more robust for me!) If anyone has any feedback, input, hints etc. for me, that's greatly appreciated!

@rsimon excellent... do let us know if you find any issues!

Hi!
Great work with the v3 release. I have found one issue that I like to know if it is by design or a possible bug. We were not able to use the old mousetracker in v2, so we have added custom click handling in our component. One thing that has changed in v3 is event.originalEvent.target on overlays. In v2 when we listen to canvas-click events then the target event is the element that we clicked on, but in v3 the target event is always the openseadragon canvas. We need to know witch element is clicked on. Is this a bug or has the api changed? Or is it another way to get the clicked element?
I have created i stackblitz that shows the different betweeen v2 and v3 https://web-platform-zcibru.stackblitz.io

@msalsbery can you take a look at @ronnymikalsen's issue?

@ronnymikalsen
It's by-design...it worked before because pointer capture was broken. When pointer capture is working, the pointerup event (which ultimately generates the canvas-click event) on the captured pointer is always targeted to the element with capture.
Given that...what if I were to track the original target at pointerdown and include it as a new property in canvas-click? Sounds useful to me, what do you think?
If so could you please open a new issue here and I'll get it into 3.0.0...should be a quick enhancement...

In Annotorious OpenSeadragon I'm making heavy use of the MouseTracker. I'm planning to test compatibility soon(ish). (In fact I've been much looking forward to the v3.0.0 release. I'm hoping it will make some things easier and/or more robust for me!) If anyone has any feedback, input, hints etc. for me, that's greatly appreciated!

@rsimon
Hopefully it'll make things easier for you...the majority of the changes were for better/easier support of overlays and annotations.
Here's some links that may help you with compatibility testing before the release.
This CodePen shows the most common use cases for the new MouseTracker preProcessEventHandler for controlling MouseTracker event handling in overlayed element scenarios.
I'll definitely try to help out any way I can if you have questions, enhancement ideas, etc...let me know!

@msalsbery

It's by-design...it worked before because pointer capture was broken. When pointer capture is working, the pointerup event (which ultimately generates the canvas-click event) on the captured pointer is always targeted to the element with capture - which is the element the MouseTracker is attached to.
Given that...what if I were to track the original target at pointerdown and include it as a new property in canvas-click? Sounds useful to me, what do you think?
If so could you please open a new issue here and I'll get it into 3.0.0...should be a quick enhancement...

That sounds like a  good solution. Issue created https://github.com/openseadragon/openseadragon/issues/1997

Supporting IIIF 3 is IMHO a good reason to bump the version to 3 as well.

Any updates on this? Is there any rough estimate on when the v.3.0 will be released?

I suppose we are waiting for clarification of https://github.com/openseadragon/openseadragon/issues/1997

Correct! It seems like #1997 would be worth addressing before we release 3.0, but that's the only thing I'm aware of. It looks like @msalsbery hasn't been able to get to it, so someone else is going to need to look at it. If there are no volunteers, I'll try to take a look when I get a chance.

Okay, looks like the last issue has been fixed! If anyone wants to do some last-minute testing on master, please do! We'll probably officially release it in the next week or so :)

Okay, looks like the last issue has been fixed! If anyone wants to do some last-minute testing on master, please do! We'll probably officially release it in the next week or so :)

I’ve been using latest master branch builds every day for quite a while…looking good so far!

Fantastic! Thank you for giving it some real-world testing!

I am currently investigating an issue with v3. I will be back with details soon

In v3 the tile source is panned automatically to the left when clicking inside the canvas. This is not the same behavior as in v2. This is a problem because we want to have the first image in center.
I have created a stackblitz sample.
v2.4.2 https://stackblitz.com/edit/web-platform-7q39rs?file=index.html
master https://stackblitz.com/edit/web-platform-7q39rs?file=openseadragon-3.html

Is it correct that the "canvas-drag-end" event is raised (two times) when clicking inside Viewer object? It does not do that in v2
Open the console and click inside v2 and v3:
https://stackblitz.com/edit/web-platform-7q39rs

@ronnymikalsen looks like it was intentionally changed: https://github.com/openseadragon/openseadragon/issues/1459
What do you think? Does this change cause issues for you?

@iangilman I can get around it by setting a attribute on canvas-drag event to true, and then check if it is true in canvas-drag-end. But i think i should'n have to :-)
"To support my use case, I'd like to always receive the drag end event if dragging is initiated." but dragging is not initiated in this case

@ronnymikalsen excellent point! Okay, I believe I've fixed the issue with https://github.com/openseadragon/openseadragon/pull/2064... can you give it a try and let me know if it's working for you?

@iangilman your fix works for me :-)
But current master is not working for iiif tiled images anymore.

@ronnymikalsen thank you for confirming #2064; I've now merged it. And thank you so much for catching the issue with IIIF! It appears to be due to https://github.com/openseadragon/openseadragon/pull/2059. We'll have to take another run at that.

@ronnymikalsen thank you again for catching the IIIF breakage! I believe we have fixed it now with https://github.com/openseadragon/openseadragon/pull/2066. Can you please verify?
I think this is the last thing holding us back from releasing 3.0.0... :)

@iangilman i can confirm that everything works as expected :-)

@ronnymikalsen Fantastic! Thank you for testing.
OK, let's give it a few days, but if no more issues crop up before, say, next Monday, we can finally release this thing! :-)

@iangilman @msalsbery  still on track to release today? thanks for all your work on this, we noticed a significant performance improvement with version 3.0.0 on our app!

Okay, it's done! https://github.com/openseadragon/openseadragon/releases/tag/v3.0.0 🎉


App provider: cannot open office files on public link

Describe the bug
Opening a office file on a public link fails.
Steps to reproduce
Steps to reproduce the behavior:

create public link with some office files
open public link
open office files with Collabora / Onlyoffice / CodiMD

Expected behavior
You see the file opened
Actual behavior
You see an error message
Setup
oCIS 1.16.0-rc1
Error log:
ocis_wopi-ocis-1  | {"level":"error","service":"storage","pkg":"rgrpc","traceid":"00000000000000000000000000000000","user-agent":"grpc-go/1.42.0","from":"tcp://<IP_ADDRESS>:47464","uri":"/cs3.sharing.link.v1beta1.LinkAPI/ListPublicShares","start":"10/Dec/2021:07:31:48 +0000","end":"10/Dec/2021:07:31:48 +0000","time_ns":733149,"code":"PermissionDenied","time":"2021-12-10T07:31:48Z","message":"unary"}
ocis_wopi-ocis-1  | {"level":"error","service":"storage","pkg":"rgrpc","traceid":"00000000000000000000000000000000","user-agent":"grpc-go/1.42.0","from":"tcp://<IP_ADDRESS>:48232","uri":"/cs3.gateway.v1beta1.GatewayAPI/ListPublicShares","start":"10/Dec/2021:07:31:48 +0000","end":"10/Dec/2021:07:31:48 +0000","time_ns":2844020,"code":"Unknown","time":"2021-12-10T07:31:48Z","message":"unary"}
ocis_wopi-ocis-1  | {"level":"error","service":"storage","pkg":"rhttp","traceid":"00000000000000000000000000000000","path":"/public/nvVShEZDWqYNPIO","error":"rpc error: code = Unknown desc = error listing shares: rpc error: code = PermissionDenied desc = auth: core access token is invalid","time":"2021-12-10T07:31:48Z","message":"propfindResponse: couldn't list public shares"}

This is actually a bug in ownCloud Web, since it doesn't send any authentication.
It should send the public-token header containing the public token.


Ability to set Entity ID and get Entity by ID

As the title says, add the ability to get an Entity by ID and/or set the Entity ID. It would be a lot easier when using Entities for a networked game since the server can just send the entity ID with the changes and the client can apply them.
It would be a lot easier writing packets when you know the ID's between the entities from the server and the client are synchronized.

Any suggestions on syncing entities over the network if not by id? At the moment I'm just using an ID component instead that tries to imitate that behavior. A setID while being dangerous would be beneficial if just for networked games.

I think setId() is, indeed, way to dangerous. Why don't you open a new issue with your requirements for a networked entity system? Maybe we can discuss better over there.


Extend from SvelteComponentTyped, not SvelteComponent

Unfortunately the change to introduce a typed SvelteComponent was an accidental breaking change for people doing this: const foo: typeof SvelteComponent = SomeSpecificComponent because there was a type error now. Therefore the typing was reverted on SvelteComponent, the strongly typed component is instead exported through a new extendable class SvelteComponentTyped. This should become extends SvelteComponentTyped<...>.
Sorry for the inconvenience.

@dummdidumm No worries – thank you for the heads up! You've done great work on the language tools to enhance the DX of Svelte.


feature update

can a slider for the screen brightness be added ?

I can't do this because the web compatiblity will lose


Improved project fallback mechanisms

Right now the NN participants use the following path when downloading statistic files:

Download stats for day N from harvester site
If file is not available, download current stats from project site
If file is not available, exclude project from superblock

This can lead to missing projects in the block even if they were just out for a brief moment. In that case it might be better to use the stats from the day before:

Download stats for day N from harvester site
If file is not available, download current stats from project site
If file is not available, download stats for day N-1 from harvester site
If file is not available, exclude project from superblock

Here we can add a few days lookback if we want to, but we should probably keep it very short.

How about 7 days? Should be enough time for project to do maintenance

Yeah, maybe. The idea is to have it long enough to balance small downtimes but short enough to not make project DDOS worth it.

I don't like this. When implemented and a project goes offline, users will be rewarded for work, we don't know they are doing.

@tomasbrod I think that's better than not rewarding at all and giving the mag to other projects. At least for a short time.

I would think allowing the usage of 1 previous days results are good enough. Longer than that and the stats are beginning to skew. Besides, if a project is down for longer it's having issues affecting users ability to do work.

i really wish i knew more about how it all funtions and the programming side of things and have an idea to work the greylist and a SB checks and balance system together.
With it a SB missing projects would freeze rac/mag if a project is triggered on a check from the greylist system of the whitelisted projects.  It says , was project in last SB = no ok is it in this sb ? if = no save , if = yes pay for  both SB if sb 3 still no save so saves till that projects in the SB. but the greylist would put the project in a container not actually on the proposed greylist idea because its NN related and not project.
This is based off my first project jail system idea , now called greylist. My original idea was if a project didnt have work for 3 weeks your rac/mag froze for the project on the NN , i thought it seemed fair as its not a users fault if they have put all their resources in 1 project. When the project returned your stats continued.. This has evolved over the past 5-6 months of chatting about it and my bringing it up. So the other day Dutch had a post and it made me think , why not work that into the greylist as a checks and balance system where it checks the WL and if the project is in the SB and WL A+ , if not its statistics are frozen until the next SB. Now what if its not in 2-3 SB in a row? Not a problem , its been saved as the info has been halted and no payout received has been flagged maybe in a way we used it like the haves tor or even stole the harvester and worked it into the greylist to create project+cpid.tar.gz with data files in the container ( it would be a database ) and literally a checks and balances ( FDIC insurance but for Gridcoin ) that could be like SB ### ID for security and the block hash for 2nd layer of security for creation of the file and has the info from the projects that should be in the SB , then if its 1-2-3-4-5+ superblocks it would NEVER matter about loss of PoR. Maybe even some way to work it into the coin output for the day and actually being able to scrape the total and put it floating in the blockchain to decentralize it till the next correct full WL SB is created and solution and resolution magically has ended up in the users wallet for those missing days vs not getting PoR...
Per ddos , sorry but I come from that world too and mitigation these days , yes after like the ntpd amp and i have ssl based ddos tools and github is full of toys for skids , hell even all those cisco's have not been patched let alone heart bleed vuln boxes still exist on the web. Back before I retired , as a sysadmin for cwie/ccbill we resold prolexic and that was for some customers $80k a month for ddos mitigation. Now adays you can buy an openvz vps 2 core/512mb $4mo and pay $2mo for up to 700,000pps or 600gbps DDOS. I am sorry but not storm or krashed or if we want to talk about GNAA and everyone from from the underground irc networks and their ddos networks and all the hard chats of the ddos world I want to say than the project admin should be investing into their project we are investing in. They should use cloudflare or amazon or someones reverse proxy or setup their own for their project. Yes I know there are projects ran these peoples laptops , linux and boinc-server on cable modems @ home or DSL not everybody is seti@home on UC Berkelys's oc148s but our projects that we back under the whitelist as we have invested our community into them , they should put what nowadays costs only $10-20mo in order to mitigate ddos or have services hosted correctly and I am seeing projects move to say like Amazon Light Sail. I think if our investors and the small group of crunchers whom are going to only vote yes on projects with SSL we need to start asking about hardware and connection in the application and ddos mitigation? Hell ask their providers ASN , lets draw up a boinc project peerng map from tier providers and draw up a gridcoin project security list of projects that are ssl and projects that are non ssl and what is hosted on what and where...  DDOSing boinc pojects is pointless , but since @tomasbrod at the last mumble session you and I were joking about when the eclipse happened freezing the blockchain and releasing it when the eclipse was over , joking but " i could ddos the gridcoin network and cause that to happen " we were just joking , I had no idea you would hack the 1m coin as we were talking about it I predicted the eclipse being 1m turn over.. Soooo , that makes me think about and consider in this whole conversation 1 thing that hasn't been happening and in my opinion needs to start as we grow. I am sorry but I am in the mood to try to explain positive ideas.
Full nodes , many are like boinc projects and ran @home on cable/dsl and it seems less in the wiki list are in data centers with ddos mitigation. We have talked about nodes being ddosed causing forks and have we been lucky? Do need requirements in order to be in the wiki list and move that lost and make a real page on the " real " gridcoin website if there is one. Require a vps/dedi/colo or ddos mitigated IP of some sort like we require ssl? DDOS mitigation actually gets used , so its actually important because if some actually calls himself a blackhat could just say F gridcoin and ddos our nodelist and well ,... What then , yes I am guilty too but 4 are in data centers with ddos mitigation and only 1 listed node is at home. Or a min down/up stream result from a testfile @ www.gridcoin.us/speedtest or other nodes as you can install the standard speedtest.net embeded test in your webserver. If we have no nodes then it doesn't matter if we have projects and a bunch of un-networked computer systems that are supposed to form a spider web from the seed nodes out. Or can we get rid of the lines around 113 in /src/net.cpp and have node.gridcoin.us ONLY hand out the other nodes to connect to and the official list is anon and done like an apache/mysql load balancing cluster thus making our node network fully anonymous . No wiki list needed , just a new flag in the code that would be like the current server=1 and listen=1 adding seed=1? These are literally just the nodes we have listed currently in the wiki I am refering to , full nodes not coin holding wallets unless that is how you roll.. Ok I got in type off IRC a bunch of ideas stuck in my head , sorry new meds yes this is blog/rant but its something I hope can get some wheels turning more on this.. I don't think 1-3 SB blocks worth of backup is harmful , if we are going to worry about ddos lets actually be real and worry about what WE control not the boinc admins , btw they should be able to put up a " we are currently under ddos " msg on the main boinc forum and thanks to #gridcoin and bots  and startails news updats from multiple sources we would know.  Please has purely been attempted to be on track and clear , if I had not taken so much care in trying to explain and be clear it would be much shorter..

@denravonska doesn't your project fall back work fix for this?

We will close this when the new scraper/NN is merged into development.

Closing.


PFS sometimes jumbles file contents when inserted line-by-line

When files are inserted line-by-line, the lines are sometimes stored in PFS in jumbled order. Here's a minimal test: https://github.com/pachyderm/pachyderm/compare/put-file-by-line-out-of-order.
The test relies on lower-level gRPC calls because the higher-level client buffers contents, obscuring the issue - which may also be why this doesn't come up as frequently in practice.
I think this is unexpected behavior because the file is being put in a single gRPC call, with a stream of PutFileRequests. I don't think it's newlines that cause the issue per se, rather that PFS jumbles up contents between PutFileRequests generally, but haven't tested that out.

This turns out to be a bug in the python pachyderm client. While the previously linked test does reproduce the issue, it's because the test has the same issue. On PutFile, if the uploaded file contents is broken up into several PutFileRequests, the File field should be nulled out after the first request. I do think this is somewhat unintuitive behavior, but it's not a bug.


VirtualService Merge Slashes

Describe the feature request
I would like for the VirtualService route matching rules to support collapsing/merging multiple slashes. Envoy already supports this in the HttpConnectionManager with the boolean field merge_slashes. See here: https://github.com/envoyproxy/envoy/blob/cb0342fe0c302f3f69a5ef18aa62f7d78da3f67b/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L486
Many webservers do this automatically, and HTTP clients have come to expect the capability. It would be good to support it in Istio.
Describe alternatives you've considered
A similar behavior could probably be accomplished using regex route matchers in the VirtualService, but would likely be less efficient and certainly less expressive.
EDIT: Regex matching doesn't work for cases where you want to do a path rewrite because path rewrite is unable to reference regex capture groups.
Affected product area (please put an X in all that apply)
[X] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

This can be configured by a https://istio.io/docs/reference/config/networking/envoy-filter/

Closing per ^